gpt4 book ai didi

python - 将 input_dim 传递给 KerasClassifier(sklearn 包装器/接口(interface))

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:37 24 4
gpt4 key购买 nike

我最初尝试了相同的方法并遇到了与 this SO questioner 相同的错误.但是,使用那里接受的(也是唯一的)答案给了我另一个错误:“input_dim 不是合法参数。”

然后我尝试在原始问题上使用解决方案(“将 input_dim keyarg 添加到 KerasClassifier 构造函数”),但再次遇到相同的错误。我做错了什么,还是现在有一种新方法可以通过 sklearn 包装器 KerasClassifier 传递第一层的 input_dim?

下面的最小代码示例:

from keras.models import Sequential
from keras.layers import Dense
from sklearn import datasets
from keras.wrappers.scikit_learn import KerasClassifier
import numpy as np


def create_model():
# create model
model = Sequential()
model.add(Dense(12, input_dim=4, init='uniform', activation='relu'))
model.add(Dense(6, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))

# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

return model

#Error thrown here:
model = KerasClassifier(build_fn=create_model, input_dim=5, nb_epoch=150, batch_size=10, verbose=0)

ValueError: input_dim is not a legal parameter

最佳答案

您需要将 input_dim 作为参数之一传递给 create_model()

def create_model(input_dim):
# create model
model = Sequential()
# model.add(Dense(12, input_dim=4, init='uniform', activation='relu'))
model.add(Dense(12, input_dim=input_dim, init='uniform', activation='relu'))

虽然您不需要在 create_model 中使用 input_dim 只是为了消除错误。

关于python - 将 input_dim 传递给 KerasClassifier(sklearn 包装器/接口(interface)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42096921/

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