AutoKeras 导出模型,训练中断与恢复

先用个mnist的例子说明吧,下面的例子将训练以后的模型导出成图

from keras.datasets import mnist
from keras.models import load_model
from    keras.utils.vis_utils    import plot_model
from autokeras import ImageClassifier
import tensorflow
import datetime

nowTime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#现在
print('\n',nowTime,'\n')

MODEL_DIR = './model/ak.h5'
MODEL_PNG = './model/ak.png'
if __name__ == '__main__':
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    x_train = x_train.reshape(x_train.shape + (1,)) 
    x_test = x_test.reshape(x_test.shape + (1,))
    clf = ImageClassifier(verbose=True)   #建立模型
    clf.fit(x_train, y_train, time_limit=12 * 60 * 60)  #以12小时训练
    clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
    y = clf.evaluate(x_test, y_test)
    print(y * 100)

# 导出我们生成的模型
    clf.export_keras_model(MODEL_DIR)
    #clf.cnn().search_type().load_best_model().produce_keras_model().save(MODEL_DIR)
    # 加载模型
    model = load_model(MODEL_DIR)
    # 将模型导出成可视化图片
    plot_model(model, to_file=MODEL_PNG,show_shapes=True)

在日常工作中,经常无法训练那么长时间,查看代码后发现autokeras是可以恢复训练的

第一次训练时把建立模型那一句改成

clf = ImageClassifier(verbose=True, path=‘temptrain’)   #建立模型

将在本地路径下建立temptrain目录,所有的缓存都在此路径下,如果没有的话autokeras会随机生成autokeras_XXXXXX的目录,需要你到系统的temp目录下面找了

当你需要恢复训练时,将建立模型那一句加个参数resume=True;注意路径是第一次训练的路径

clf = ImageClassifier(verbose=True, path=‘temptrain’ , resume=True)   #恢复模型

然后运行这个脚本,发现autokeras接着上次优化的部分继续运行了

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值