模型、参数和文件的保存方法

numpy保存 npy 文件

import numpy as np
np.save(文件名, 变量名)
变量名 = np.load(文件名)

更详细内容:

https://blog.csdn.net/leilei7407/article/details/107511187

tf.keras保存 模型和参数

h5 文件

保存模型和权重存在 h.5 文件

### model 指的是好,并完成训练的模型
# 保存模型结构及权重
model.save('./data/keras_model.h5')   
del model  #删除现有模型 (可有可无)
# identical to the previous one
model = models.load_model('./data/keras_model.h5')
model.evaluate(x_test,y_test)

分别保存模型结构和权重,并写成 h.5 文件

# 保存模型结构
json_str = model.to_json()
# 恢复模型结构
model_json = models.model_from_json(json_str)
#保存模型权重
model.save_weights('./data/keras_model_weight.h5')

# 恢复模型结构
model_json = models.model_from_json(json_str)
model_json.compile(
        optimizer='adam',
        loss='binary_crossentropy',
        metrics=['AUC']
    )

# 加载权重
model_json.load_weights('./data/keras_model_weight.h5')
model_json.evaluate(x_test,y_test)

ckpt 文件 (推荐使用)

ckpt 文件 这是 TensorFlow原生方式保存的文件 , 推荐使用

# 保存权重,该方式仅仅保存权重张量
model.save_weights('./data/tf_model_weights.ckpt',save_format = "tf")

# 保存模型结构与模型参数到文件,该方式保存的模型具有跨平台性便于部署
model.save('./data/tf_model_savedmodel', save_format="tf")
print('export saved model.')

model_loaded = tf.keras.models.load_model('./data/tf_model_savedmodel')
model_loaded.evaluate(x_test,y_test)

pytorch 保存模型和参数

pkl 文件

保存模型参数(推荐)

# 保存模型参数
torch.save(net.state_dict(), "./data/net_parameter.pkl")

net_clone = create_net()
net_clone.load_state_dict(torch.load("./data/net_parameter.pkl"))

net_clone.forward(torch.tensor(x_test[0:10]).float()).data

保存完整模型 (不推荐)

torch.save(net, './data/net_model.pkl')
net_loaded = torch.load('./data/net_model.pkl')

XGBoost 等树模型的保存方法

使用 pickle api保存模型 并完成加载

from xgboost import XGBClassifier
import pickle
model = XGBClassifier()
## save model to file
pickle.dump(model, open("文件名.dat", "wb")) # 写模式用于保存模型
print("Saved model to: 文件名.dat")

## load model from file
loaded_model = pickle.load(open("文件名.dat", "rb"))  # 读模式用于加载模型
print("Loaded model from: 文件名.dat")

# make predictions for test data
predictions = loaded_model.predict(X_test)

使用 Joblib 保存模型并且完成加载后的使用 (通过 sklearn 保存模型)

注意:使用 joblib是直接对模型进行保存操作的,不需要接祖 open 的 读写功能!

from xgboost import XGBClassifier
from sklearn.externals import joblib

model = XGBClassifier()
model.fit(X_train, y_train)

# save model to file
joblib.dump(model, "文件名.dat")
print("Saved model to: 文件名.dat")

# load model from file
loaded_model = joblib.load("文件名.dat")
print("Loaded model from: 文件名.dat")

# make predictions for test data
predictions = loaded_model.predict(X_test)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值