小编Nic*_*ick的帖子

Django Webfaction'从守护进程读取响应头时超时'

我在Webfaction上托管的生产服务器上的Django应用程序工作正常,直到我在将更改推送到settings.py文件后尝试重新启动它.我跑了

apache2/bin/restart
Run Code Online (Sandbox Code Playgroud)

照常.然后我尝试在浏览器上访问我的应用程序,然后我得到了504网关超时.我查看了mod_wsgi日志并看到了这个:

[Thu Nov 03 23:46:53.605625 2016] [wsgi:error] [pid 8027:tid 139641332168448]
[client 127.0.0.1:34570] Timeout when reading response headers from daemon 
process 'myapp' : /home/<me>/webapps/<myapp>/<ProjectName>/<myapp>/wsgi.py
Run Code Online (Sandbox Code Playgroud)

这是什么意思,我该如何解决?我在settings.py文件中唯一更改的是移动一些变量名称.我仍然可以成功地与应用程序进行交互

python2.7 manage.py shell
Run Code Online (Sandbox Code Playgroud)

但我不能在网上找到它,也不能使用API​​.

编辑:这是我的wsgi.py文件:

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<myapp>.settings")

application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

django mod-wsgi webfaction python-2.7

15
推荐指数
3
解决办法
9525
查看次数

Django REST Serializer方法可写字段

我正在阅读Django REST Framework,我有一个使用SerializerMethodField()与getter序列化的模型.

但是,当我POST到此端点时,我希望能够设置此字段,但这不起作用,因为正如上面的文档所示,您无法写入SerializerMethodField.Django REST中是否有任何方法可以为您定义自定义getter方法的序列化器字段,以及自定义setter方法?

编辑:这是我正在尝试做的事情的来源.客户与用户具有一对一的关系.

class ClientSerializer(serializers.ModelSerializer):
    email = serializers.SerializerMethodField()

    def create(self, validated_data):
        email = validated_data.get("email", None) # This doesn't work because email isn't passed into validated_data because it's a readonly field
        # create the client and associated user here


    def get_email(self, obj):
        return obj.user.email

    class Meta:
        model = Client
        fields = (
            "id",
            "email",
        )
Run Code Online (Sandbox Code Playgroud)

django rest serializer django-rest-framework

12
推荐指数
3
解决办法
5541
查看次数

Sklearn Joblib 转储替换现有的 .pkl 文件

我试图通过保存我的模型来保持预测模型状态

joblib.dump(model, path)
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我这样做两次,第二组生成的 .pkl_* 文件并不会真正覆盖旧的文件,所以当我去调用 joblib.load(path) 时,我无法确定它实际上是加载正确的模型。

如何使 joblib.dump 在保存新文件之前销毁旧的 .pkl_* 文件?

python pickle scikit-learn joblib

7
推荐指数
1
解决办法
2269
查看次数

将新密钥值对添加到现有Firebase

这可能是一个非常基本的问题,但到目前为止,我在google搜索后无法在线找到我的问题的答案.我有一个firebase web应用程序,其数据结构非常简单.最初,它是空的,像这样:

fireRef {
}
Run Code Online (Sandbox Code Playgroud)

我希望能够添加键值对,其中键由用户创建,值只是一些文本.例如,用户将输入他们的名称作为键,并将值作为他们的年龄.然后我想将该数据发送到服务器并让firebase现在看起来像这样:

fireRef {
    John : 25,
}
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式完成这一项:

var name = getUserName();
var age = getUserAge();
var node = {};
node[name] = age;
fireRef.set(node);
Run Code Online (Sandbox Code Playgroud)

但是,我希望多个人能够做到这一点.当我尝试将新人添加到服务器时,旧的"John:25"对变为红色并消失,只留下新的键值对.

如何保持两者并维护一堆关键值对的数据集?

javascript python firebase

6
推荐指数
2
解决办法
9527
查看次数

多列的Pandas Fillna与每列模式

使用人口普查数据,我想用两列("工作类"和"原生国家")中的NaN替换这两列的相应模式.我可以轻松获得模式:

mode = df.filter(["workclass", "native-country"]).mode()
Run Code Online (Sandbox Code Playgroud)

返回一个数据帧:

  workclass native-country
0   Private  United-States
Run Code Online (Sandbox Code Playgroud)

然而,

df.filter(["workclass", "native-country"]).fillna(mode)
Run Code Online (Sandbox Code Playgroud)

不能取代与任何每一列的NaN的,更何况是对应于列模式.有没有顺利的方法来做到这一点?

python numpy pandas data-science

6
推荐指数
1
解决办法
5102
查看次数

KerasRegressor测定系数R ^ 2得分

我正在Keras建立一个用于回归任务的小型神经网络,我想使用与scikit-learn RandomForestRegressor相同的精度度量:

系数R ^ 2定义为(1-u/v),其中u是平方的回归和((y_true-y_pred)**2).sum()和v是剩余的平方和((y_true - y_true.mean())**2).sum().

这是一个方便的指标,因为它显示的值高达1.0(类似于分类准确度百分比).我对Keras后端的使用是否符合我想要的准确度指标?

def create_model():
    model = Sequential()
    model.add(Dense(10,
                input_dim=X.shape[1],
                activation="relu"))
    model.add(Dense(10,
                activation="relu"))
    model.add(Dense(1))

    # Compile model
    model.compile(loss="mean_squared_error", optimizer="adam", metrics=[det_coeff])
    return model

# Is this computing the right thing?
def det_coeff(y_true, y_pred):
    u = K.sum(K.square(y_true - y_pred))
    v = K.sum(K.square(y_true - K.mean(y_true)))
    return K.ones_like(v) - (u / v)
Run Code Online (Sandbox Code Playgroud)

这看起来有效,因为没有任何错误和度量标准随着时间的推移逐渐增加,但我想确定我已经正确地实现了度量标准.我是Keras后端功能的新手.

python scikit-learn keras tensorflow tensor

6
推荐指数
1
解决办法
8541
查看次数

未找到 openai 命令(mac)

我正在尝试遵循此处的Openai 微调指南。

我跑:

pip install --upgrade openai
Run Code Online (Sandbox Code Playgroud)

哪个安装没有任何错误。

但即使重新启动终端后,我仍然得到

zsh: command not found: openai
Run Code Online (Sandbox Code Playgroud)

这是 echo $PATH 的输出:

/bin:/usr/bin:/usr/local/bin:/Users/nickrose/Downloads/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

这是 python 的输出:

/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何提示?我使用的是 MacOS Big Sur 11.6。

python machine-learning openai-api

6
推荐指数
2
解决办法
1万
查看次数

.localize和tzinfo之间的Python日期时间差异

为什么这两行产生不同的结果?

>>> import pytz
>>> from datetime ipmort datetime

>>> local_tz = pytz.timezone("America/Los_Angeles")

>>> d1 = local_tz.localize(datetime(2015, 8, 1, 0, 0, 0, 0)) # line 1
>>> d2 = datetime(2015, 8, 1, 0, 0, 0, 0, local_tz) # line 2
>>> d1 == d2
False
Run Code Online (Sandbox Code Playgroud)

差异的原因是什么,我应该用哪个来定位日期时间?

python timezone datetime pytz

5
推荐指数
1
解决办法
853
查看次数

Keras培训warm_start

是否有可能继续训练Keras估计器,其中包含所有超参数(包括降低学习率)和从先前时期保存的权重,就像在scikit中学习warm_start参数一样?像这样的东西:

estimator = KerasRegressor(build_fn=create_model, epochs=20, batch_size=40, warm_start=True)
Run Code Online (Sandbox Code Playgroud)

具体来说,热启动应该这样做:

warm_start:bool,optional,default False设置为True时,重用上一次调用的解决方案以适合初始化,否则,只需擦除以前的解决方案.

在Keras有类似的东西吗?

python machine-learning neural-network scikit-learn keras

5
推荐指数
1
解决办法
1738
查看次数

Django 查询性能过滤与外键集查找

我想知道在 Django 中哪个查询更快。我有一个位置模型和一个用户模型。用户是位置的外键,因此每个位置都可以有一个“locationuser_set”属性。

如果我有数千个用户,哪个更快?

查询 1:

location = Location.objects.get(id=<id>)
users = location.user_set.all()
Run Code Online (Sandbox Code Playgroud)

查询 2:

users = User.objects.filter(location_id=<id>)
Run Code Online (Sandbox Code Playgroud)

python mysql django performance

3
推荐指数
1
解决办法
580
查看次数

使用 Sklearn 实现算法模型持久化

我对Algorithmia还很陌生,但我已经使用了一些 scikit-learn,并且在我用 joblib 对其进行训练后,我知道如何坚持我的机器学习模型:

from sklearn.externals joblib

model = RandomForestRegressor()
# Train the model, etc
joblib.dump(model, "prediction/model/model.pkl")
Run Code Online (Sandbox Code Playgroud)

现在我想托管我的 ML 模型并使用 Algorithmia 将其称为服务,但我不知道如何读回模型。我在 Algorithmia 中创建了一个名为“testcollection”的集合,其中包含一个名为“model.pkl”的文件,它是 joblib.dump 调用的结果。根据文档,这意味着我的文件应该位于

数据://(用户名)/testcollection/model.pkl

我想使用 joblib.load 从文件中读取该模型。这是我目前在 Algorithmia 中的算法:

import Algorithmia

def apply(input):
    client = Algorithmia.client()
    f = client.file("data://(username)/testcollection/model.pkl")
    print(f.path)
    print(f.url)
    print(f.getName())
    model = joblib.load(f.url) # Or f.path, both don't work
    return "empty"
Run Code Online (Sandbox Code Playgroud)

这是输出:

(username)/testcollection/model.pkl
/v1/data/(username)/testcollection/model.pkl
model.pkl
Run Code Online (Sandbox Code Playgroud)

它在 joblib.load 行出错,给出“没有这样的文件或目录(我放入的任何路径)”

这是我在调用 joblib.load 时尝试过的所有路径/网址:

如何使用 joblib 从文件加载模型?我会以错误的方式解决这个问题吗?

python machine-learning scikit-learn joblib

3
推荐指数
1
解决办法
264
查看次数

如何加载测试Django API?

我正在对基于Django的Webfaction托管的服务器进行最后的润色。它具有REST API,可将内容传递到移动设备,每隔几分钟就会接受来自其他来源的POST请求。到目前为止,POST部分运行良好-到目前为止,它已经接受一周的数据了,没有重大问题。

但是,我担心发布移动应用程序时会发生什么-我希望有大量的用户,并且如果我的API无法处理所有GET请求的负载,我也不想遇到死机。

如何对Django API进行负载测试?在线上是否有工具可以一次模拟数百个GET请求,还是应该从头开始进行测试?

python django webfaction

2
推荐指数
1
解决办法
721
查看次数

Raspberry Pi:没有名为nmap的模块

我正在尝试为我的pi安装nmap,我这样做了:

sudo apt-get install nmap
Run Code Online (Sandbox Code Playgroud)

这似乎工作得很好.但是当我打开python会话并尝试导入nmap时:

>>> import nmap
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named nmap
Run Code Online (Sandbox Code Playgroud)

这是非常奇怪的,因为我安装得很好,或者至少我认为.任何想法为什么会这样?

python nmap raspberry-pi

1
推荐指数
1
解决办法
4697
查看次数