我看过pickle文档,但我不明白pickle在哪里有用.
泡菜有哪些常见的用例?
在XGBoost指南的链接上,
bst.save_model('0001.model')
bst.dump_model('dump.raw.txt') # dump model
bst.dump_model('dump.raw.txt','featmap.txt')# dump model with feature map
bst = xgb.Booster({'nthread':4}) #init model
bst.load_model("model.bin") # load data
我的问题是:
save_model&之间有什么区别dump_model?'0001.model'和'dump.raw.txt','featmap.txt'?之间的区别是什么?model.bin与要保存的名称不同0001.model?model_A和model_B,我想保存这两种模式以供将来使用,这save和load我应该使用功能?你能帮忙展示清楚的过程吗?我正在使用 tf 和 Keras 按照此处和此处使用的方法创建 cycleGAN
网络结构相当复杂:很多模型相互嵌套。
我无法保存和重新加载经过训练的模型。
培训完成后,我使用
generator_AtoB.save("models/generator_AtoB.h5")
Run Code Online (Sandbox Code Playgroud)
和
pickle.dump(generator_AtoB, saveFile)
Run Code Online (Sandbox Code Playgroud)
保存模型:这不会导致错误,并在提供的路径中创建一个文件。
通过检查h5dump | less我可以看到 .h5 文件包含数据。
稍后使用 keras 重新加载模型:
generator_AtoB = load_model("models/generator_AtoB.h5")
Run Code Online (Sandbox Code Playgroud)
或泡菜:
pickle.load(saveFile)
Run Code Online (Sandbox Code Playgroud)
导致错误:
Traceback (most recent call last):
File "test_model.py", line 14, in <module>
generator_AtoB = pickle.load(saveFile)
File "/home/MYUSERNAME/.virtualenvs/tensorflow_py3/lib/python3.5/site-packages/keras/engine/network.py", line 1266, in __setstate__
model = saving.unpickle_model(state)
File "/home/MYUSERNAME/.virtualenvs/tensorflow_py3/lib/python3.5/site-packages/keras/engine/saving.py", line 435, in unpickle_model
return _deserialize_model(f)
File "/home/MYUSERNAME/.virtualenvs/tensorflow_py3/lib/python3.5/site-packages/keras/engine/saving.py", line 274, in _deserialize_model
reshape=False)
File "/home/MYUSERNAME/.virtualenvs/tensorflow_py3/lib/python3.5/site-packages/keras/engine/saving.py", line 682, in preprocess_weights_for_loading
weights = …Run Code Online (Sandbox Code Playgroud)