gpt4 book ai didi

initialization - 使用KerasRegressor指定输入参数

转载 作者:行者123 更新时间:2023-12-04 06:51:59 26 4
gpt4 key购买 nike

我使用Keras神经网络,并且希望自动设置输入维度,而不是像到目前为止所看到的每篇教程一样进行硬编码。我该怎么做?
我的代码:

from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasRegressor
seed = 1

X = df_input
Y = df_res

def baseline_model(x):
# create model
model = Sequential()
model.add(Dense(20, input_dim=x, kernel_initializer='normal', activation=relu))
model.add(Dense(1, kernel_initializer='normal'))
# Compile model
model.compile(loss='mean_absolute_error', optimizer='adam')
return model

inpt = len(X.columns)
estimator = KerasRegressor(build_fn = baseline_model(inpt ) , epochs=2, batch_size=1000, verbose=2)
estimator.fit(X,Y)

我得到的错误是:

追溯(最近一次通话):
在estimator.fit(X,Y)中的文件ipython-input-2-49d765e85d15,第20行
TypeError:call()缺少1个必需的位置参数:'inputs'

最佳答案

我将包裹您的baseline_model如下:



def baseline_model(x):
def bm():
# create model
model = Sequential()
model.add(Dense(20, input_dim=x, kernel_initializer='normal', activation='relu'))
model.add(Dense(1, kernel_initializer='normal'))
# Compile model
model.compile(loss='mean_absolute_error', optimizer='adam')
return model
return bm


然后将 KerasRegressor定义和拟合为:

estimator = KerasRegressor(build_fn=baseline_model(inpt), epochs=2, batch_size=1000, verbose=2)
estimator.fit(X, Y)


这样避免了必须在 baseline_model中对输入维进行硬编码。

关于initialization - 使用KerasRegressor指定输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com