小编Dan*_*lle的帖子

Scipy Optimize 只返回 x0,只完成一次迭代

我正在使用 scipy optimize 来获取以下函数的最小值:

def randomForest_b(a,b,c,d,e):
 return abs(rf_diff.predict([[a,b,c,d,e]]))
Run Code Online (Sandbox Code Playgroud)

我最终希望能够在给定参数 (c,d,e) 的情况下获得 (a) 和 (b) 的最佳值。然而,只是为了学习如何使用优化函数,我试图在给定其他参数的情况下获得 (a) 的最佳值。我有以下代码:

res=optimize.minimize(randomForest_b, x0=45,args=(119.908500,65.517527,2.766103,29.509200), bounds=((45,65),))
print(res) 
Run Code Online (Sandbox Code Playgroud)

我什至尝试过:

optimize.fmin_slsqp(randomForest_b, x0=45,args=(119.908500,65.517527,2.766103,29.509200), bounds=((45,65),))
Run Code Online (Sandbox Code Playgroud)

但是,这两者都只返回 x0 值。

Optimization terminated successfully.    (Exit mode 0)
        Current function value: 1.5458542752157667
        Iterations: 1
        Function evaluations: 3
        Gradient evaluations: 1
array([ 45.])
Run Code Online (Sandbox Code Playgroud)

当前函数值是正确的,但是在边界内的所有数字之间,x0 不返回最小函数值。我设置了边界,因为变量 a 只能是 45 到 65 之间的数字。我是否遗漏了什么或做错了什么?如果可能,我怎样才能获得 a 和 b 的最佳值?

这是我正在使用的完整代码的示例:

def randomForest_b(a,b,c,d,e):
 return abs(rf_diff.predict([[a,b,c,d,e]]))
Run Code Online (Sandbox Code Playgroud)

python optimization minimize scipy

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

将python脚本放入docker容器

我正在尝试将现有的 python 函数放入 docker 容器中。python 代码将一个 CSV 文件(与 dockerfile 位于同一目录中)作为输入数据并进行一些计算。py 文件如下所示,名为“PracticeDeploy.py”:

import pandas as pd
import pickle
from OptimizationFunction import main_barrel

# Read in model
gbrModel = pickle.load(open('/src/ValDiffGBR.pkl', 'rb'))
file_name = str(input())
data=pd.read_csv('/src/'+file_name)
new_data = data.dropna(how='any')
preds = main_barrel(gbrModel, new_data)
Run Code Online (Sandbox Code Playgroud)

在我的 docker 目录中,我已经有一个子文件夹,其中包含我安装了所有库的第一个 dockerfile。同样在我的目录中,我有 py 文件、CSV 以及我在上述 py 文件中导入的模型。我现在正在尝试构建另一个 dockerfile,它将以 CSV 名称作为输入,然后运行 ​​python 代码。

这是 dockerfile:

FROM [my repository] as builder
ARG DATA_FILE

RUN mkdir src
WORKDIR /src
COPY . /src

ENTRYPOINT ["PracticeDeploy.py"]
Run Code Online (Sandbox Code Playgroud)

我是这样构建的:

sudo docker build --rm -f Dockerfile …
Run Code Online (Sandbox Code Playgroud)

python docker dockerfile

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

标签 统计

python ×2

docker ×1

dockerfile ×1

minimize ×1

optimization ×1

scipy ×1