Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类型错误:can';t pickle_thread.RLock对象,同时在RandomizedSearchCV上运行.fit()_Python_Machine Learning_Keras_Neural Network_Hyperparameters - Fatal编程技术网

Python 类型错误:can';t pickle_thread.RLock对象,同时在RandomizedSearchCV上运行.fit()

Python 类型错误:can';t pickle_thread.RLock对象,同时在RandomizedSearchCV上运行.fit(),python,machine-learning,keras,neural-network,hyperparameters,Python,Machine Learning,Keras,Neural Network,Hyperparameters,我正在尝试在RandomizedSearchCV上运行模型,以获得最佳的超参数 model = keras.models.Sequential([keras.layers.Dense(300, input_dim=7500, activation="relu"), keras.layers.Dense(300, activation = "relu", name = "Interm

我正在尝试在RandomizedSearchCV上运行模型,以获得最佳的超参数

model = keras.models.Sequential([keras.layers.Dense(300, input_dim=7500, activation="relu"),
                                 keras.layers.Dense(300, activation = "relu", name = "Intermediate"),
                                 keras.layers.Dense(100, activation = "relu"),
                                 keras.layers.Dense(4, activation="softmax")])

keras_cls = keras.wrappers.scikit_learn.KerasClassifier(model)
    
    
param_distribs = {
    "n_hidden": [0, 1, 2, 3],
    "n_neurons": np.arange(1, 300),
    "learning_rate": 1e-3
}

rnd_search_cv = RandomizedSearchCV(keras_cls, param_distribs, n_iter=10, cv=3)
rnd_search_cv.fit(x_train, y_train, epochs=30,
                  validation_data=(x_test, y_test),
                  callbacks=[keras.callbacks.EarlyStopping(patience=10)])
rmd\u search\u cv.fit
我得到了错误
TypeError:cannotpickle\u thread.RLock对象


应该采取什么措施来纠正错误?

为什么您希望参数
n_hidden
n_neurons
可以通过CV进行调整?你的CV对象如何知道Keras模型的相应参数是什么,因为它的定义中没有这些参数?谢谢你的回答。我在KerasRegressionor中遇到了一个类似的实现,我想它是否可以用分类器来实现。我应该在代码中添加什么吗?如果你在Keras Regressionor中看到过,请发布链接。它在机器学习手册中。我找到了相关的github,它位于hyperparameter tuning部分。您可以看到,所有3个参数
n_hidden
n_Neuron
,以及
learning_rate
都是模型定义函数
build_fn
的一部分,这是在模型中使用sklearn包装器的推荐方法;这里的代码并非如此。那为什么不从那一点开始呢?(你会发现,你不能将架构视为超参数,但考虑到链接中的用法,你在这里所做的没有意义)。为什么你希望参数
n_hidden
n_neurons
可以通过CV进行调整?你的CV对象如何知道Keras模型的相应参数是什么,因为它的定义中没有这些参数?谢谢你的回答。我在KerasRegressionor中遇到了一个类似的实现,我想它是否可以用分类器来实现。我应该在代码中添加什么吗?如果你在Keras Regressionor中看到过,请发布链接。它在机器学习手册中。我找到了相关的github,它位于hyperparameter tuning部分。您可以看到,所有3个参数
n_hidden
n_Neuron
,以及
learning_rate
都是模型定义函数
build_fn
的一部分,这是在模型中使用sklearn包装器的推荐方法;这里的代码并非如此。那为什么不从那一点开始呢?(您将发现,您不能将体系结构视为超参数,但考虑到链接中的用法,您在这里所做的没有意义)。