代码:

#!usr/bin/env python
# coding:utf-8
"""
这个代码的作用是 通过 tensorflow 来计算
y = 0.3x + 0.1 的线性方程
通过随机数,, 然后传递值到 训练模型中开始计算

并在 运行结束后, 将变量保存起来, 在下次运行的时候直接读取.
"""
import tensorflow as tf
import numpy as np
import os

# 建立方程组:
# 使用 np 获取一个 1---1000 的随机数
x_data = np.float32(np.random.rand(1, 100))
# 设置 方程组
y_data = 0.1 * x_data + 0.300

# 建立 模型
# 初始化 wieght 范围为-1 --> 1
Weight = tf.Variable(tf.random_uniform([1], -1.0, 1.0), name='Weight')
# 设置 b 初始化为 tf.zeros(1) 在初始化的时候会被置为0 , 然后为了保证 b 不为0 , 设置+0.1
b = tf.Variable(tf.zeros(1), name='b') + 0.1

x = tf.placeholder('float')
y_ = tf.mul(x, Weight) + b

# 梯度下降法, 来降低 weight 和b 值在修改中的改变

loss = tf.reduce_mean(tf.square(y_ - y_data))
train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.global_variables_initializer()
sess = tf.Session()

saver = tf.train.Saver({"Weight": Weight})
# 还原保存数据 或者 初始化 变量
sess.run(init)
if os.path.exists("save_path"):
saver.restore(sess, "save_path/test.ckpt")

for i in range(1000):
# 如果直接 用 x_data 传入 y_ = tf.mul(x_data,Weight) 的话, 这里的 feed_dict 是不用赋值的.
sess.run(train, feed_dict={x: x_data})
if i % 100 == 0:
print(sess.run(Weight), sess.run(b))
print(sess.run(Weight), sess.run(b))
# 结束后, 保存变量.
if not os.path.exists("save_path"):
os.mkdir("save_path")
saver.save(sess, "save_path/test.ckpt")
sess.close()

基于之前的代码之上添加了 变量的保存和 恢复:
saver = tf.train.Saver({"Weight": Weight})
# 还原保存数据 或者 初始化 变量
sess.run(init)
if os.path.exists("save_path"):
saver.restore(sess, "save_path/test.ckpt")

for i in range(1000):
# 如果直接 用 x_data 传入 y_ = tf.mul(x_data,Weight) 的话, 这里的 feed_dict 是不用赋值的.
sess.run(train, feed_dict={x: x_data})
if i % 100 == 0:
print(sess.run(Weight), sess.run(b))
print(sess.run(Weight), sess.run(b))
# 结束后, 保存变量.
if not os.path.exists("save_path"):
os.mkdir("save_path")
saver.save(sess, "save_path/test.ckpt")
sess.close()

我暂时不知道怎么去 单独的恢复 一个变量, 只能是先在 恢复当个参数之前 加上 初始化全部参数了 ,

这个是生成出来的文件夹. 需要用到 python 的 os 库.



tensorflow 保存变量,的更多相关文章

  1. 转载:tensorflow保存训练后的模型

    训练完一个模型后,为了以后重复使用,通常我们需要对模型的结果进行保存.如果用Tensorflow去实现神经网络,所要保存的就是神经网络中的各项权重值.建议可以使用Saver类保存和加载模型的结果. 1 ...

  2. 131、TensorFlow保存模型

    # tf.train.Saver类提供了保存和恢复模型的方法 # tf.train.Saver的构造函数 提供了save和恢复的参数选项 # Saver对象提供了方法来运行这些计算节点,制定了写和读的 ...

  3. TensorFlow保存、加载模型参数 | 原理描述及踩坑经验总结

    写在前面 我之前使用的LSTM计算单元是根据其前向传播的计算公式手动实现的,这两天想要和TensorFlow自带的tf.nn.rnn_cell.BasicLSTMCell()比较一下,看看哪个训练速度 ...

  4. Tensorflow保存神经网络参数有妙招:Saver和Restore

    摘要:这篇文章将讲解TensorFlow如何保存变量和神经网络参数,通过Saver保存神经网络,再通过Restore调用训练好的神经网络. 本文分享自华为云社区<[Python人工智能] 十一. ...

  5. TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu

    #TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...

  6. MATLAB 不能保存变量问题及解决办法

    在使用matlab保存结构体.元胞数组等等的变量时,matlab总是提示 警告: 未保存变量 'session'.对于大于 2GB 的变量,请使用 MAT 文件版本 7.3 或更高版本.  问题如下: ...

  7. JSP显示错误信息中四个范围来保存变量

    JSP中提供了四个范围来保存变量,分别是page,request,session,以及application 其中page范围只在当前页面有效,离开当前页面就失效了,这个肯定不行 request范围在 ...

  8. useRef获取DOM元素和保存变量(十)

    useRef在工作中虽然用的不多,但是也不能缺少.它有两个主要的作用: 用useRef获取React JSX中的DOM元素,获取后你就可以控制DOM的任何东西了.但是一般不建议这样来作,React界面 ...

  9. Tensorflow模型变量保存

    Tensorflow:模型变量保存 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 pyt ...

随机推荐

  1. Spring Mvc Controller间跳转 重定向 传参 (转)

    原文链接:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景     需求:spring MVC框架con ...

  2. pyqt中使用matplotlib绘制动态曲线

    一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...

  3. QQ空间的“神奇”图片

    近几天好多朋友问我qq空间出现的神奇图片原理,最近比较烦,事情比较多,一直没理.加上我对PHP之类的语言也一知半解. 今天闲了看了一下QQ空间,发现这个很早以前就有人写过这样的帖子了 看别人解释 (转 ...

  4. DSP:CCS V6 TMS320F2812 使用printf函数

    使用Code Composer Studio  Version: 6.1.1.00022,建立TMS320F2812工程. /* * main.c */ #include <stdio.h> ...

  5. jquery 判断是否 ie6 ie7 ie8

      var isIE = !!window.ActiveXObject; var isIE6 = isIE && !window.XMLHttpRequest; var isIE8 = ...

  6. Linux find命令详解

    转自Linux find命令详解 一.find 命令格式 1.find命令的一般形式为: find pathname -options [-print -exec -ok ...] 2.find命令的 ...

  7. 如何配置svn服务器(通过VisualServer服务器)

    如果你已经安装好了VisualServer服务器,现在让我们一起来配置svn服务器吧

  8. easyui datagrid单击单元格选择此列

    示例代码实现单击jquery easyui datagrid的单元格时,取消datagrid默认选中高亮此行的样式,改为选中单击的单元格所在的列,高亮此列上的所有单元格.可以配置全局single变量, ...

  9. SPRING IN ACTION 第4版笔记-第一章-003-AOP介绍

    一.目标 要在BraveKnight调用embarkOnQuest()前后各做一些处理(调用Minstrel的方法) 二. 1.minstrel.xml <?xml version=" ...

  10. Android 颜色Color

    Android中使用4个数字来表示颜色,分别是alpha.红(red).绿(green).蓝(blue)四个颜色值(ARGB).每个数字取值0-255,因此一个颜色可以用一个整数来表示.为了运行效率, ...