| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 快速上手tensorflw:模型保存、加载 -> 正文阅读 |
|
[人工智能]快速上手tensorflw:模型保存、加载 |
1. 代码实例(1) 存储模型举一个简单的前向传播的例子:
这里把前向传播的过程封装成了函数,更加符合平时写程序时的习惯。 我们在保存模型后,会出现一些文件: ?其中:meta文件是用来存储?图的计算过程?的,data里则存储了?权值?的具体值。 (2)加载模型:
2. 详细解释(1) name属性①在一开始写程序时,就需要在相应变量上添加:name属性,如输入变量、网络权值、前向传播的输出值、损失值等。在加载模型时,我们需要根据name属性,导入对应的变量。 值得注意的是,name属性需要在tf变量上添加,这样我们在计算想要复现的变量时,需要使用tensorflow的计算语法。 例如:我们想在加载模型的程序中导入a的计算图 写加法时,不能: a = b + c 而是需要: a = tf.add_n([b, c], name = 'a') 乘法等计算过程亦是如此。 ②tensorflow是根据计算图来运行的,而计算任何变量都是需要用到一开始的输入的。因此如果以后要加载模型,那我们在写程序时,需要对?输入?添加name属性。其他的变量则是用到什么,就给它添加name属性。 (2) 加载模型后的计算①我们利用tf.train.import_meta_graph('Test/TestModel.meta')导入了计算图,这样所有的计算过程我们都不用再自己写,想计算哪个变量,就直接:?sess.run(目标变量的name, feed_dict); ②tensorflow甚至可以保存方法中的局部变量的计算图,例如程序中的y11是个局部变量,可它的计算过程也能被存储下来,确实是神奇。 (3) 个人遇到的多个输入的情况(可以不看)当我们有多个输入都要进行前向传播、且前向传播为函数形式,这时存储的计算图为第一次调用前向传播的输入变量name。 举个例子:有两个输入变量:x1: name="x1",?x2: name="x2" 都放到刚才的程序计算并保存模型后,在加载模型中,我们只需要创建name="x1"的变量即可。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 14:31:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |