如何使用joblib保存神经网络模型
How to save neural network model using joblib
我正在尝试使用 joblib 在 pandas 中保存我的 neural_network 模型,因为它给我 96% 的准确率。我的数据集有 9 列——预测乳腺癌的特征。
y_train_categorical = to_categorical(y_train)
y_test_categorical = to_categorical(y_test)
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
neural_model = Sequential()
neural_model.add(Dense(units=6, activation='relu', input_dim=9))
neural_model.add(Dense(units=2, activation='softmax'))
neural_model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
neural_model = neural_model.fit(
X_train_scaled,
y_train_categorical,
epochs=200,
shuffle=True,
verbose=2
)
from sklearn.externals import joblib
joblib.dump(neural_model, 'neural.pkl')
# also tried dump(neural_model, 'neural.joblib')```
Error message: can't pickle _thread.RLock objects
不建议使用 pickle 或 cPickle 保存 Keras 模型。
你只需要做:model.save(filepath)
有关详细信息,请查看 documentation。
根本不需要使用 joblib 来保存您的 keras 模型。使用 .save() 方法,它应该可以完美运行。
保存模型:
neural_model.save('path/to/location')
正在加载模型:
neural_model = model = keras.models.load_model('path/to/location')
请参阅来自张量流团队的指南:
https://www.tensorflow.org/guide/keras/save_and_serialize
我正在尝试使用 joblib 在 pandas 中保存我的 neural_network 模型,因为它给我 96% 的准确率。我的数据集有 9 列——预测乳腺癌的特征。
y_train_categorical = to_categorical(y_train)
y_test_categorical = to_categorical(y_test)
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
neural_model = Sequential()
neural_model.add(Dense(units=6, activation='relu', input_dim=9))
neural_model.add(Dense(units=2, activation='softmax'))
neural_model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
neural_model = neural_model.fit(
X_train_scaled,
y_train_categorical,
epochs=200,
shuffle=True,
verbose=2
)
from sklearn.externals import joblib
joblib.dump(neural_model, 'neural.pkl')
# also tried dump(neural_model, 'neural.joblib')```
Error message: can't pickle _thread.RLock objects
不建议使用 pickle 或 cPickle 保存 Keras 模型。
你只需要做:model.save(filepath)
有关详细信息,请查看 documentation。
根本不需要使用 joblib 来保存您的 keras 模型。使用 .save() 方法,它应该可以完美运行。
保存模型:
neural_model.save('path/to/location')
正在加载模型:
neural_model = model = keras.models.load_model('path/to/location')
请参阅来自张量流团队的指南: https://www.tensorflow.org/guide/keras/save_and_serialize