python-3.x - NotImplementedError: __deepcopy__() 仅在启用急切执行时可用
问题描述
我正在使用 GridSearchCV 来调整我的 LSTM 模型的超参数:
def compile_lstm(self):
'''create the layers'''
self.model = keras.models.Sequential()
self.model.add(keras.layers.LSTM(50))
self.model.add(keras.layers.Dense(1, activation='softmax'))
self.model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['acc'])
model = KerasClassifier(build_fn=self.model, verbose=0)
# define the grid search parameters
batch_size = [10, 20, 40, 60, 80, 100]
epochs = [10, 50, 100]
param_grid = dict(batch_size=batch_size, epochs=epochs)
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1)
X = self.X
Y = self.Y
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.20, random_state=42)
grid_result = grid.fit(X, Y)
# summarize results
print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))
means = grid_result.cv_results_['mean_test_score']
stds = grid_result.cv_results_['std_test_score']
params = grid_result.cv_results_['params']
for mean, stdev, param in zip(means, stds, params):
print("%f (%f) with: %r" % (mean, stdev, param))
但我收到以下错误:
NotImplementedError: deepcopy () 仅在启用急切执行时可用。
我怎样才能解决这个问题 ??
解决方案
正如我在 TF 中看到的,这是由于 Keras、TF.keras 和 TF 版本问题而发生的。
保存和加载模型(克隆)时,tf.keras 和 keras 模型略有不同。
推荐阅读
- javascript - 输出 API 数据时出现错误消息:“[object Object] 成功 [object Object]
- javascript - 使用firebase从前端js调用exports node.js函数
- javascript - 如何将从 fetch 请求中检索到的对象添加到 React 中的状态数组,然后更新视图?
- javascript - 在每个图块 javascript 中生成不同的文本
- php - Codeigniter - 空 post() 但 get()
- javascript - javascript获取元素与div顶部的当前距离
- laravel - Laravel 5.6 急切加载嵌套的子关系
- java - getInputStream() 在这里的作用是什么?
- excel - Excel Office Fluent 功能区 - 填充 ComboBox OnLoad
- c# - 如果没有要完成的任务,Task.WhenAll 挂起