苏木三少
错的不是你,而是这个世界。

tensorflow学习笔记

Variable 变量

与python中的变量区别

本节介绍计数的变量,每次加一
给变量起名字叫count。
定义时必须声明是变量。
state = tf.Variable(0,name=’count’)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import tensorflow as tf

state = tf.Variable(0,name='counter')
# print(state.name)
one = tf.constant(1)
new_value = tf.add(state,one)
update = tf.assign(state,new_value)
init = tf.global_variables_initializer()
#init = tf.initialize_all_variables() # must  have if define variable
with tf.Session() as sess:
     sess.run(init)
     for _ in range(3):
          sess.run(update)
          print(sess.run(state))

注释

程序的解释,创建新的变量,其中变量值为state+1。
新的tensorflow我们用tf.global_variables_initializer()定义初始化变量值。
使用会话控制Session,run一次update再输出state。
循环进行三次。

placeholder 传入值

code

1
2
3
4
5
6
7
8
import tensorflow as tf
input1 = tf.placeholder(tf.float32)#(tf.float32,[2,2])
input2 = tf.placeholder(tf.float32)

output = tf.multiply(input1,input2)
# output = tf.mul(input1,input2)
with tf.Session() as sess:
     print(sess.run(output,feed_dict={input1:[7.],input2:[2.]}))

其中由于tensorflow的升级mul改为multiply.只能处理float32的数据,
我们可以规定几行几列。eg:2行 2列
output是input1和input2的乘法。
feed_dict传入数据。key:value以矩阵的形式输入。

激励函数

激励函数,不能用线性方程描述的问题。
linear线性,
nonlinear非线性,激励函数解决非线性问题。
激励函数必须可以微分,神经层只有2三层,随便使用激励函数,
神经层多了随便用激励函数会导致:梯度爆炸,梯度消失
y=Wx x为输入值,y 预测值 W是一个参数
AF为激励函数线性转化为非线性
y = AF(Wx)
把直线变成曲线。
推荐使用那些激励函数(神经层少与多)
少量 很多种任意激励函数
卷积神经网络 relu
循环 relu or tanh

赞(2) 打赏
有问题的朋友随时留言,或者加我为好友。我的QQ是805375353. <<苏木三少博客 » tensorflow学习笔记

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

十年之约