神经网络参数与TensorFlow变量
在TensorFlow中变量的作用是保存和更新神经网络中的参数,需要给变量指定初始值,如下声明一个2x3矩阵变量
weights =tf.Variable(tf.random_normal([2,3], stddev=1))
在这段代码中tf.random_normal([2,3], stddev=1)会产生一个2x3的矩阵,矩阵中的元素是均值为0,标准差为2的随机数。tf.random_normal()可以通过参数mean来指定平均值,不指定默认0.
| 函数名称 | 随机数分布 | 主要参数 |
| tf.random_normal | 正态分布 | 平均值、标准差、取值类型 |
| tf.truncated_normal |
正态分布、但随机出来的值偏离平均值超 过2个标准差,那么这个数将会重新随机 |
平均值、标准差、取值类型 |
| tf.random_uniform | 均匀分布 | 最小值、最大值、取值类型 |
| tf.random_gamma | Gamma分布 | 形状参数alpha、尺度参数beta、取值类型 |
TensorFlow支持常量来初始化变量,下表将给出常用的常量声明方法
| 函数名称 | 功能 | 样例 |
| tf.zeros | 产生全为0的数组 | tf.zeros([2,3], int32) -> [[0,0,0], [0,0,0]] |
| tf.ones | 产生全为1的数组 | tf.oness([2,3], int32) -> [[1,1,1], [1,1,1]] |
| tf.fill | 产生一个全部为给定数字的数组 | tf.fill([2,3], 9) -> [[9,9,9], [9,9,9]] |
| tf.constant | 产生一个给定值的常量 | tf.constant([1,2,3]) -> [1,2,3] |
在神经网络中,偏置项通常会使用常数来设置初始值,下面代码将会生成一个初始值 全部为0且长度为3的变量
biases = tf.Variable(tf.zeros([3]))
TensorFlow也支持通过其他变量的初始值来初始化新的变量
W1 = tf.Variable(tf.random_normal([3, 3], stddev=2))
W2 = tf.Variable(W1.initialized_value()) # W2的初始值设置与W1初始值相同
W3 = tf.Variable(W1.initialized_value() * 2.0) # W3的初始值设置是W1初始值2倍
在TensorFlow中一个变量在使用前必须对其进行初始化,下面程序变量实现神经网络参数并实现前向传播的过程
import tensorflow as tf # 声明w1, w2两个变量。通过seed参数设定随机种子
# 这样可以保证每次运行得到的结果是一样的
w1 = tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))
w2 = tf.Variable(tf.random_normal([3, 1], stddev=1, seed=1)) # 暂时将输入的特征向量定义一个常量,x是一个1x2的矩阵
x = tf.constant([[1.0, 2.9]]) # 通过前项传播算法得到神经网络的输出
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
# 定义会话
sess = tf.Session()
# 初始化变量, 初始化所有的变量可以使用tf.global_variables_initializer()函数
sess.run(w1.initializer)
sess.run(w2.initializer)
print(sess.run(y))
sess.close() """
输出
[[9.153097]] """
神经网络参数与TensorFlow变量的更多相关文章
- Tensorflow保存神经网络参数有妙招:Saver和Restore
摘要:这篇文章将讲解TensorFlow如何保存变量和神经网络参数,通过Saver保存神经网络,再通过Restore调用训练好的神经网络. 本文分享自华为云社区<[Python人工智能] 十一. ...
- tesorflow - create neural network+结果可视化+加速神经网络训练+Optimizer+TensorFlow
以下仅为了自己方便查看,绝大部分参考来源:莫烦Python,建议去看原博客 一.添加层 def add_layer() 定义 add_layer()函数 在 Tensorflow 里定义一个添加层的函 ...
- tensorflow变量
tensorflow变量: 1.神经网络中的参数权重,偏置等可以作为张量保存到tensorflow的变量中 2.tensorflow变量必须被初始化 3.可被保存到文件中,下次使用重新加载即可 ten ...
- tensorflow变量作用域(variable scope)
举例说明 TensorFlow中的变量一般就是模型的参数.当模型复杂的时候共享变量会无比复杂. 官网给了一个case,当创建两层卷积的过滤器时,每输入一次图片就会创建一次过滤器对应的变量,但是我们希望 ...
- 深度学习之卷积神经网络CNN及tensorflow代码实例
深度学习之卷积神经网络CNN及tensorflow代码实例 什么是卷积? 卷积的定义 从数学上讲,卷积就是一种运算,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分.级数,所以看起来觉得很复杂 ...
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例
深度学习之卷积神经网络CNN及tensorflow代码实现示例 2017年05月01日 13:28:21 cxmscb 阅读数 151413更多 分类专栏: 机器学习 深度学习 机器学习 版权声明 ...
- tensorflow变量的使用(02-2)
import tensorflow as tf x=tf.Variable([1,2]) a=tf.constant([3,3]) sub=tf.subtract(x,a) #增加一个减法op add ...
- 在ModelSim波形图中以参数名显示变量
在ModelSim波形图中以参数名显示变量 在使用Verilog HDL编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示,但当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进 ...
- tensorflow变量-【老鱼学tensorflow】
在程序中定义变量很简单,只要定义一个变量名就可以,但是tensorflow有点类似在另外一个世界,因此需要通过当前的世界中跟tensorlfow的世界中进行通讯,来告诉tensorflow的世界中定义 ...
随机推荐
- 【转】WPS word 文档中的插入对象 为什么打不开
点击桌面左下角开始按钮--所有程序,找到wps office文件夹--wps office工具--配置工具--高级--兼容设置,否选兼容第三方软件.
- IO分类
按流向分类: 输入流 读取数据 FileReader Reader 输出流 写入数据 FileWriter Writer 按数据类型分类: 字节流 字节输入流 读取数据 InputStream 字节输 ...
- [Solution] 821. Shortest Distance to a Character
Difficulty: Easy Problem Given a string S and a character C, return an array of integers representin ...
- 解决修改css或js文件后,浏览器缓存未更新问题
问题描述:最近在上线新版本项目的时候,发现有的用户的操作还是调用的老版本JS里面的内容,这样就造成原来新的JS里面加上的限制不能限制用户的操作,从而导致用户可以重复操作. 问题产生原因: 如果在用户之 ...
- POJ-3660.Cow Contest(有向图的传递闭包)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 17797 Accepted: 9893 De ...
- Jmeter之集合点(Synchronizing timer 同步定时器)
1.集合点介绍 LR中集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下多个用户同时操作,实现性能测试的最终目的.jmeter中使用Synchronizing Timer实 ...
- A Boring Problem UVALive - 7676
16年北京现场赛的题,全场过的队30+. 初看只知道 O(N^2logK)的暴力,以为是什么变换. 仔细发现活用 二项式定理 就行. #include <bits/stdc++.h> us ...
- Python学习笔记十_模块、第三方模块安装、模块导入
一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,packa ...
- jQuery on() 方法 为选定已存在元素和未来元素绑定标准事件和自定义事件
很有必要说说jQuery的on方法,这个方法存在大乾坤大奥秘,主要注意两点: 1.为已存在元素和未来元素(动态添加元素)绑定处理函数. 2.自定义一个非标准的事件并绑定处理函数. 定义和用法 on() ...
- storm1.1.0 drpc 部署和调用测试
一.配置集群storm.yaml文件,配置drpc.server 二.部署到linux上,开启nimbus,drpc,supervisor 等服务 /opt/module/storm-1.1.0/bi ...