首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习100天-Day2103 Tensorflow模型保存读取&可视化

说明:本文依据《Sklearn 与 TensorFlow 机器学习实用指南》完成,所有版权和解释权均归作者和翻译成员所有,我只是搬运和做注解。

进入第二部分深度学习

第九章启动并运行Tensorflow

Tensorflow是一款用于数值计算的强大的开源软件库,特别适用于大规模机器学习的微调。

它的基本原理很简单:首先在 Python 中定义要执行的计算图(例如图 9-1),然后 TensorFlow 使用该图并使用优化的 C++ 代码高效运行该图。

提供了一个非常简单Python API,名为 TF.Learn2(tensorflow.con trib.learn),与 Scikit-Learn 兼容。正如你将会看到的,你可以用几行代码来训练不同类型的神经网络。之前是一个名为 Scikit Flow(或 Skow)的独立项目。

提供了另一个简单的称为 TF-slim(tensorflow.contrib.slim)的 API 来简化构建,训练和求出神经网络。

其他几个高级 API 已经在 TensorFlow 之上独立构建,如 Keras 或 Pretty Tensor。

它的主要 Python API 提供了更多的灵活性(以更高复杂度为代价)来创建各种计算,包括任何你能想到的神经网络结构。

它提供了几个高级优化节点来搜索最小化损失函数的参数。由于 TensorFlow 自动处理计算您定义的函数的梯度,因此这些非常易于使用。这称为自动分解(或autodi)。

它还附带一个名为 TensorBoard 的强大可视化工具,可让您浏览计算图表,查看学习曲线等。

这一章主要是介绍TensorFlow基础知识,从安装到创建,运行,保存和可视化简单的计算图

我发现之前看的tf相关教程还是太零散了,当时应该直接跳到这里……

7.模型保存和读取

完成模型训练后应该把参数保存到磁盘,所以你可以随时随地回到它,在另一个程序中使用它,与其他模型比较。

此外,您可能希望在训练期间定期保存检查点,以便如果您的计算机在训练过程中崩溃,您可以从上次检查点继续进行,而不是从头开始。

TensorFlow 可以轻松保存和恢复模型。 只需在构造阶段结束(创建所有变量节点之后)创建一个保存节点; 那么在执行阶段,只要你想保存模型,只要调用它的save()方法“save_path = saver.save(sess, "需要保存的地址")”。

恢复模型,在构建阶段结束时创建一个保存器,就像之前一样,但是在执行阶段的开始,而不是使用init节点初始化变量,可以调用restore()方法 的保存器对象。

8.使用TensorBoard展现图形和训练曲线

这是一个新的内容,请注意

到目前位置,仍然依靠print()函数可视化训练过程中的进度。

有一个更好的方法:进入 TensorBoard。提供一些训练统计信息,它将在您的网络浏览器中显示这些统计信息的良好交互式可视化(例如学习曲线)。 您还可以提供图形的定义,它将为您提供一个很好的界面来浏览它。 这对于识别图中的错误,找到瓶颈等是非常有用的。

第一步是调整程序,以便将图形定义和一些训练统计信息(例如,training_error(MSE))写入 TensorBoard 将读取的日志目录。 您每次运行程序时都需要使用不同的日志目录,否则 TensorBoard 将会合并来自不同运行的统计信息,这将会混乱可视化。 最简单的解决方案是在日志目录名称中包含时间戳。 在程序开始处添加以下代码

接下来,在构建阶段结束时添加以下代码

整体代码

这时会在项目根目录下面看到tf_logs文件夹,打开后里面有生成的模型数据。使用cmd命令行进入到该目录下,输入命令“tensorboard --logdir=run-20190121033432”其中“run-20190121033432”是你模型的编码,需要重新配置。

运行后会出现下图,选择其中“http://DESKTOP-1LQ66UG:600并在”浏览器中打开。

可能会出现的问题:”tensorboard' 不是内部或外部命令,也不是可运行的程序“,需要检查tensorflow库里是否有tensorboard,如果有,就需要将tensorboard的路径添加入环境变量中。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190203A0VS1Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券