1、Email:谢琼保存和载入训练过程第8章深度学习基于Python语言和Tensorflow平台掌握保存和载入训练过程的基本方法0102target目标了解命令行参数、新建文件、获取用户键盘输入的技巧目 录 导 航123保存训练过程载入保存的训练过程并继续训练几项小技巧Contents保存训练过程的主要代码trainResultPath=./save/idcard2 print(saving.)tf.train.Saver().save(sess,save_path=trainResultPath)“.”代表程序执行时的当前目录保存的时机一定是在训练会话对象(sess)开始之后查看保存的结果保存
2、的位置是save目录save目录保存的训练过程文件目 录 导 航123保存训练过程载入保存的训练过程并继续训练几项小技巧Contents载入训练过程的主要代码trainResultPath=./save/idcard2 sess=tf.Session()if os.path.exists(trainResultPath+.index):print(loading:%s%trainResultPath)tf.train.Saver().restore(sess,save_path=trainResultPath)else:print(train result path not exists:%s
3、%trainResultPath)sess.run(tf.global_variables_initializer()判断是否存在已保存的训练过程文件载入已保存的训练过程文件如果没有已保存的训练过程文件,则从头开始训练目 录 导 航123保存训练过程载入保存的训练过程并继续训练几项小技巧Contents命令行参数import sys argt=sys.argv print(argt)print(Parameter 1:%s%argt1)python3 code004.py abc code004.py,abcParameter 1:abcpython称作这条命令的“命令体”,后面的程序名字co
4、de004.py是它的第一个命令行参数,命令行参数与命令体之间用空格分隔开。命令行参数可以有多个,多个命令行参数之间也用空格来分隔。用命令行参数控制是否重新训练ifRestartT=False argt=sys.argv1:for v in argt:if v=-restart:ifRestartT=True if ifRestartT=True:print(force restart.)sess.run(tf.global_variables_initializer()elif os.path.exists(trainResultPath+.index):print(loading:%s%t
5、rainResultPath)tf.train.Saver().restore(sess,save_path=trainResultPath)else:print(train result path not exists:%s%trainResultPath)sess.run(tf.global_variables_initializer()如果命令行参数中有“-restart“,则无论是否存在已保存的训练过程文件,都从头开始训练训练过程中手动控制保存 if os.path.exists(save.txt):os.remove(save.txt)print(saving.)tf.train.S
6、aver().save(sess,save_path=trainResultPath)如果当前目录下存在save.txt文件,则保存训练过程思考为什么要删除save.txt文件新建 save.txt 的方法&使用Windows资源管理器(我的电脑、此电脑)&使用命令行下的 touch 命令&命令行下使用类似“echo abc save.txt”的命令保存训练过程前征得同意resultT=input(Would you like to save?(y/n)if resultT=y:print(saving.)tf.train.Saver().save(sess,save_path=trainRe
7、sultPath)获取用户键盘输入的一行文字输入的是“y”才保存i:0,loss:0.4840018749,avgLoss:0.4840018749i:1,loss:0.4694105089,avgLoss:0.4767061919i:2,loss:0.1064022481,avgLoss:0.3532715440i:3,loss:0.1026448309,avgLoss:0.2906148657i:4,loss:0.4699266255,avgLoss:0.3264772177Would you like to save?(y/n)ysaving.练习p在任意在任意PythonPython程
8、序中增加一个命令行参数程序中增加一个命令行参数“-v”-v”,如果出现该参数则输出,如果出现该参数则输出TensorFlowTensorFlow的的版本号。版本号。p修改代码修改代码8.58.5,使得发现有已保存的训练过,使得发现有已保存的训练过程文件后仍要征得用户同意才进行读取。程文件后仍要征得用户同意才进行读取。互助互利 共同进步深度学习 基于Python语言和Tensorflow平台更多样书申请和资源下载需求,请登录人邮教育社区()海量图书方便查询免费申请样书下载配套资源优惠购书成为作者囊括各大品类,您想要的应有尽有教师免费申请样书,我们将安排快递迅速送达教学视频、PPT课件、教学案例、习题答案、模拟试卷等丰富资源免费下载教师可以申请最低折扣学生直接优惠购买图书欢迎写文章投稿,我们强大的编辑团队将为您提供专业和高效的编辑出版服务