【TensorFlow】神经网络参数与变量(四)
来源:互联网 发布:淘宝客鹊桥是什么意思 编辑:程序博客网 时间:2024/05/29 19:52
在TensorFlow中,变量(tf.Variable)的作用就是保存和更新神经网络的参数。在神经网络中,给变量赋予随机数最为常见,所以一般使用随机数给TensorFlow的变量初始化。
import tensorflow as tf#定义矩阵变量weights,2X3的矩阵,矩阵中元素的均值为0,标准差为2。weights = tf.Variable(tf.random_normal([2,3],stddev=2))sess = tf.Session()#Tensorflow中,所有变量都必须初始化才能使用init = tf.global_variables_initializer()sess.run(init)print(sess.run(weights))
1、tf.random_normal 正态分布随机数
2、tf.truncated_normal 正态分布,但如果随机出来的值偏离值超过2个标准差,那么这个数将会被重新随机
3、tf.random_uniform 均匀分布
4、tf.random_gamma Gamma 分布
weights = tf.Variable(tf.random_normal([2,3],stddev =2))weights1 = tf.Variable(tf.truncated_normal([2,3],stddev =2))weights2 = tf.Variable(tf.random_uniform([2,3]))weights3 = tf.Variable(tf.random_gamma([2,3],alpha =[0.5, 1.5] ))sess = tf.Session()'''运行sess.run()前要记得初始化所有的变量:对于constant定义的变量可以不初始化,但是Variable的变量一定要初始化'''init_ = tf.global_variables_initializer() sess.run(init_)print(sess.run(weights))print(sess.run(weights1))print(sess.run(weights2))print(sess.run(weights3))
TensorFlow也支持常数来初始化一个变量。
1、tf.constant 产生一个给定值的常量
2、tf.zeros(shape,dtype) 产生全为0的数组
3、tf.ones 产生全为1的数组
4、tf.fill 产生一个全部为给定数值的数组
bb1= tf.constant([1])bb2 = tf.zeros([2,2])bb3 = tf.ones([2,2])bb4 = tf.fill([2,2],5)print(weights)sess = tf.Session()'''运行sess.run()前要记得初始化所有的变量:对于constant定义的变量可以不初始化,但是Variable的变量一定要初始化'''init_ = tf.global_variables_initializer() sess.run(init_)print(sess.run(bb1))print(sess.run(bb2))print(sess.run(bb3))print(sess.run(bb4))
在神经网路中,偏执项(bias)通常会使用常数来设置初始值。
init_ = tf.global_variables_initializer() sess.run(init_)biases = tf.Variable(tf.zeros([2,2]))sess.run(biases )
前向传播过程
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是一个1*2的矩阵x = tf.constant([[0.7,0.9]])a = tf.matmul(x,w1)y = tf.matmul(a,w2)sess = tf.Session()init = tf.global_variables_initializer()sess.run(init)print(sess.run(y))sess.close()
维度变量是一个重要的属性,和类型不大一样,维度在运行中是可能改变的,但是需要设定参数validate_shape =False
w11 = tf.Variable(tf.random_normal([2,3],stddev=1,seed =1))w22 = tf.Variable(tf.random_normal([3,1],stddev=1,seed =1))#tf.assign(w11,w22)会报错,shape不匹配tf.assign(w11,w22,validate_shape =False)#可以调整
阅读全文
0 0
- 【TensorFlow】神经网络参数与变量(四)
- Tensorflow变量表示神经网络参数
- 深入浅出Tensorflow(四):卷积神经网络
- 深入浅出Tensorflow(四):卷积神经网络
- 深入浅出Tensorflow(四):卷积神经网络
- 8.3 TensorFlow BP神经网络构建与超参数的选取
- tensorflow存储读取神经网络参数
- 四、tensorflow之variable(变量)
- TensorFlow练习(四)——构造神经网络
- Tensorflow学习之卷积神经网络实现(四)
- tensorflow,卷积神经网络与mnist
- (#########优化器函数########)TensorFlow实现与优化深度神经网络
- 罗斯基白话:TensorFlow+实战系列(四)变量管理
- Tensorflow常用基本概念与函数(四)
- Tensorflow基础知识与神经网络构建--step by step 入门TensorFlow(一)
- Tensorflow 搭建神经网络(单层)
- 初学 Tensorflow (构造神经网络)
- (三)TensorFlow实现神经网络
- java多线程3-线程的同步与数据传递
- 使用RNN进行图像分类
- PPT 之神器 SmartArt
- android从放弃到精通 第七天 tomorrow
- Uinty学习概述
- 【TensorFlow】神经网络参数与变量(四)
- 笔记
- 【赠书】拨云见日
- 【演讲实录】银行PB级别海量非结构化数据管理实践
- 【社招持续篇】云和恩墨虚位以待,你来不来!
- 拨云见日—深入解析Oracle TX 行锁(上)
- JingS-7
- 项目实现前后端分离,从0开始
- Unity中的C#编程