tensorflow(二十七):Keras一句话训练fit
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了tensorflow(二十七):Keras一句话训练fit,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2241字,纯文字阅读大概需要4分钟。
内容图文
一、简介
不用keras时候:
二、用keras简写训练过程
现在的写法,首先指定下面的compile以后,直接在下面fit一下,然后这个epoch就是指定上涨图片中的sclice中的10,就是10次epoch,每次traning的loss是按照下面的traing计算,得到一个gradient以后,根据Adam优化器更新一个对应的参数,然后在指定的一个周次做一个metrics测试。注意这里还有指定做测试的周期,之前我们做测试是: if step%100 ==0的时候,我们做一次测试,做测试的时候测试的数据集是什么呢?这里也没有指定,所以根本没有用到测试的功能,可以吧metrics=[‘accuracy’]删除掉。这样的话我们traing的一个逻辑是完全的指定的,training多少步,traing的优化器,traing的这样的一个loss,整个traing所用的数据集db,这样非常方便。
需要注意的是做测试的时候epoch总是等于1的,为什么呢?
因为我们测试的时候,只需要对所有样本测试一次,不需要对所有样本测试多次,因为是一样的效果对嘛,所以测试的时候epoch是固定的,step也是固定的,因此对于测试来说只需要知道测试集ds_val。
比起之前的参数,现在多了2个黄色框框标记出来的;一个是validation_data就是要在那一个数据集上面进行测试。还有一个validation_freq下面写错了,表示每多少个epoch做一次validation。traing2个epoch测试一次,也就是我们对db循环2次做一个测试,看下面的图表示的。会打印一个指标就是accuracy。这个accuracy计算过程是标准的。来看一下具体的输出结果:
这里的evaluate和上面的validation_freq是一样的,区别在于什么呢?区别在在于validation_freq是在traing中间进行的,为什么中间进行呢?因为在training的时候,我也不知道traing什么时候是个头,有可能traing10天,有可能是3个月,有可能更久,那么什么时候停止呢?我这个时候,就会隔一段时间做一次validation_freq或者隔一段时间做一次test,比如根据(我再中间写一段代码if test_accuracy>0.99,我就把当前的状态save住,我就把这个循环跳出来break;这个就是中间做一个validation的好处,我们可以随时的停止,所以这一部分可以提前终止不一定完成10个epoch,这10epoch一般是我们指定的最大的epoch,达到我们的需求可以提前的终止,当跳完这句话话后就是evaluate还要做一次测试,来验证,只需要给一个数据集;其实就相当于一次valuation_freq;当然这个测试的数据集也可以不用这个ds_val数据集,我们可以找另外一个,这样更加公平,公正!.)
三、总结
- 最后当我们traing完成以后,我们把模型的参数保存下来,我们下一次交给一个生产环境的时候,或者说交给一个客户的时候,客户拿到这个模型,加载这个模型的参数以后,他需要来做一个预测!预测这一部分怎么完成呢?根据前面的逻辑,
内容总结
以上是互联网集市为您收集整理的tensorflow(二十七):Keras一句话训练fit全部内容,希望文章能够帮你解决tensorflow(二十七):Keras一句话训练fit所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。