首页 > 解决方案 > 腌制 Keras Regressor 模型错误:无法腌制 _thread.RLock 对象

问题描述

我想腌制一个包含 Keras 回归器和标准缩放器的管道。但我收到以下错误:can't pickle _thread.RLock objects。关于可能是什么问题的任何想法?

 scaler=StandardScaler()
 scaler.fit(X_train)
 X_train=scaler.fit_transform(X_train)
 X_test=scaler.fit_transform(X_test)

#Defining Model 
def build_model():
  model = Sequential()
  model.add(Dense(1, input_dim=1, activation='relu'))
  model.add(Dense(10583, activation='relu'))
  model.add(Dense(1, activation='linear'))
  model.compile(loss='mean_squared_error', optimizer = keras.optimizers.Adam(lr=0.0001), metrics=['mse'])
  return model 
 callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3)
 
 #Wrapping Keras model in KerasRegressor 
 clf = KerasRegressor(build_fn=build_model,epochs=100, batch_size=32, validation_split=0.2,   validation_data=None, verbose=1, callbacks=[callback])

 #Defining Pipeline: 

 pipeline = Pipeline([
('scaler',scaler),
('clf', clf)])

pipeline.fit(X_train, Y_train)
joblib.dump(pipeline, open(filename, 'wb'))

 

标签: pythontensorflowkerasscikit-learnpickle

解决方案


推荐阅读