tensorflow 保存变量,

代码:

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

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

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

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

				
时间: 2024-11-08 00:00:07

tensorflow 保存变量,的相关文章

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

训练完一个模型后,为了以后重复使用,通常我们需要对模型的结果进行保存.如果用Tensorflow去实现神经网络,所要保存的就是神经网络中的各项权重值.建议可以使用Saver类保存和加载模型的结果. 1.使用tf.train.Saver.save()方法保存模型 tf.train.Saver.save(sess, save_path, global_step=None, latest_filename=None, meta_graph_suffix='meta', write_meta_graph

bash的循环中无法保存变量

在bash中,如果循环在一个子shell中运行,那么在循环中对循环外面的变量的更改将在循环退出后不可见.像下面的例子: #!/bin/sh var=1 python run.py | while read line do echo $line var=var+1 let "var=var+1" done echo $var 最后面的echo输出的var仍然是1.原因是while循环位于管道中,这意味着在运行过程中,while循环实际是位于一个新的SHELL中的,while循环中的var

tensorflow的变量命名空间问题

参考:https://blog.csdn.net/legend_hua/article/details/78875625 在tensorflow中,tf.get_variable函数的命名空间与tf.variable_scope()有关,与tf.name_space()无关.但是如果tf.name_space命名了某个变量,tf.get_variable()获取时会有冲突,他们在一个全局空间中,类似于c++的namespace.注意:在同一个scope中,同样名字的name_scope被声明第二

对保存变量及传递变量的思考

//基本类型和引用类型的值 //ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值. //基本类型值是指简单的数据段,而引用类型值指那些可能由多个值构成的对象. //1.基本类型变量的传递 var name = "陈国栋" name.age = 25; console.log(name.age); //undefind 此处不会报错,返回值为undefind //2.引用类型变量的传递 var person = new Object(); person.nam

『TensorFlow』变量初始化

变量初始化实质 initializer操作的流程是调用Variable节点组中的Assign节点为节点操作单元分配初始值 变量初始化方法 tf.Variable_initializer([variable1, ……])可以初始化指定的变量,代替初始化全部变量,实际上其他的初始化方法大多是对某个变量集合调用此方法的封装 变量初始化另一个变量 可以使用一个变量来初始化另一个变量,依赖方法是variable.initialized_value(): w = tf.Variable(tf.random_

Angular页面刷新保存变量数据,运用localstorage

项目中遇到一个问题,网上说的不清不楚的. 一个列表页面跳转到另一个详细页面传递一个id,要求刷新当前页面时用刚才跳转过来的id再访问一遍数据接口,这时需要把数据保存到localstorage中 1.新建一个service: localStorage.service.js 1 (function() { 2 'use strict'; 3 4 angular.module('app').factory('LocalStorageService',['$window',function($windo

tensorflow 保存及其加载

https://blog.csdn.net/thriving_fcl/article/details/75213361 同一个模型图,可以根据根据输入输出任意组成signature_def,使模型的任意组合使用方便, signature_def了一种组织方式! 一个图标签下,可以任意组合很多种signature_def. saver的方式,结构性弱,save_model结构性强,难道这就是事物发展的逻辑决定的吗? 原文地址:https://www.cnblogs.com/wdmx/p/10014

tensorflow保存数据为.pb格式和加载pb文件

转自:https://blog.csdn.net/u014264373/article/details/79943389 https://blog.csdn.net/fu6543210/article/details/80343345 原文地址:https://www.cnblogs.com/0405mxh/p/11967212.html

Tensorflow学习笔记(2):变量,常用类和一些操作

变量是用来存储和更新参数的,也就是网络中的W或b.变量会被放在内存中.当模型训练结束后,他们需要被存在硬盘上,以便将来使用或分析模型. 一.变量 创建和初始化 当创建一个变量的时候,需要将一个Tensor作为初始值传入构造函数Variable().这个初始值可以是随机值也可以是常量.Tensor的初始值需要指定shape,这个shape通常都是固定的,但是也可以通过一些高级方法重新调整. 只是创建了变量还是不够的,需要在定义一个初始化的操作,并且在使用任何变量之前,运行初始化的操作.例: 1 i