Keras模型保存的幾個方法和它們的區別

github博客傳送門
csdn博客傳送門python

Keras模型保存簡介

model.save()

model_save_path = "model_file_path.h5"
# 保存模型
model.save(model_save_path)
# 刪除當前已存在的模型
del model
# 加載模型
from keras.models import load_model
model = load_model(model_save_path)

model.save_weights()

model_save_path = "model_file_path.h5"
# 保存模型權重
model.save_weights(model_save_path)
# 加載模型權重
model.load_weights(model_save_path)

model.to_json()

# 保存模型網絡結構
json_string = model.to_json()
with open("model_save_file.json", "w") as f:
    f.write(json_string)  # 將模型轉爲json文件後的字符串寫入本地
# 讀取模型網絡結構  
from keras.models import model_from_json
with open("model_save_file.json", "r") as f:
    json_string = f.read()  # 讀取本地模型的json文件
model = model_from_json(json_string)  # 建立一個模型

model.to_yaml()

# 保存模型網絡結構
yaml_string = model.to_yaml()
with open("model_save_file.yaml", "w") as f:
    f.write(yaml_string)  # 將模型轉爲yaml文件後的字符串寫入本地
# 讀取模型網絡結構  
from keras.models import model_from_yaml
with open("model_save_file.yaml", "r") as f:
    yaml_string = f.read()  # 讀取本地模型的yaml文件
model = model_from_yaml(yaml_string)  # 建立一個模型

如今咱們來講說這四種保存模型的聯繫與區別

項目 是否保存模型結構 是否保存模型權重 是否能繼續訓練網絡 是否能進行模型預測
model.save()
model.save_weights()
model.to_json() 加載權重後能進行正常預測
model.to_yaml() 加載權重後能進行正常預測
若有測試錯誤,歡迎指正.謝了.
print_r('點個贊吧');
var_dump('點個贊吧');
NSLog(@"點個贊吧!")
System.out.println("點個贊吧!");
console.log("點個贊吧!");
print("點個贊吧!");
printf("點個贊吧!\n");
cout << "點個贊吧!" << endl;
Console.WriteLine("點個贊吧!");
fmt.Println("點個贊吧!")
Response.Write("點個贊吧");
alert(’點個贊吧’)
相關文章
相關標籤/搜索