TensorFlow实战第一课(session、Variable、Placeholder、Activation Function)

莫烦tensorflow教学python

1.session会话控制网络

 Tensorflow 中的SessionSession是 Tensorflow 为了控制,和输出文件的执行的语句. 运行session.run() 能够得到你要得知的运算结果, 或者是你所要运算的部分。session

咱们首先尝试将两个矩阵相乘并输出结果函数

import tensorflow as tf # create two matrixes
 matrix1 = tf.constant([[3,3]]) matrix2 = tf.constant([[2], [2]]) product = tf.matmul(matrix1,matrix2)

 

由于product不是直接计算的步骤,因此咱们会使用session来激活码product并获得计算结果。spa

有两种形式使用会话控制session。指针

# method 1
sess = tf.Session() result = sess.run(product) print(result) sess.close() # [[12]]

# method 2
with tf.Session() as sess: result2 = sess.run(product) print(result2) # >>[[12]]

 

2.Variable 变量code

看得莫烦的tensorflow课程 讲的颇有趣,有兴趣的同窗也能够去看看blog

tensorflow中 只有定义了某字符串是变量,他才是变量,这一点与python不一样ip

定义语法:state = tf.Variable( )字符串

import tensorflow as tf state = tf.Variable(0, name='counter') # 定义常量 one
one = tf.constant(1) # 定义加法步骤 (注: 此步并无直接计算)
new_value = tf.add(state, one) # 将 State 更新成 new_value
update = tf.assign(state, new_value)

 

定义完变量后,最终要的是初始化!init = tf.initialize-all_variables()

到这里变量尚未激活,须要在sess中 sess.run(init)  激活init这一步

# 若是定义 Variable, 就必定要 initialize # init = tf.initialize_all_variables() # tf 立刻就要废弃这种写法
init = tf.global_variables_initializer()  # 替换成这样就好
 
# 使用 Session
with tf.Session() as sess: sess.run(init) for _ in range(3): sess.run(update) print(sess.run(state))

 

注意:直接print(state)是不能够的

应该把sess的指针指向state再进行print才能获得想要的结果!

 

3.Placeholder 传入值

 placeholder是tensorflow中的占位符,暂时存储变量

tensorflow若是想从外部传入数据,那么就须要tf.placehoder(),而后以这种形式传输数据

sess.run(***,feed_dict={input:*****})

#placeholder
import tensorflow as tf input1 = tf.placeholder(tf.float32) #大部分状况 只能处理float32数据形式
input2 = tf.placeholder(tf.float32) output = tf.multiply(input1,input2) with tf.Session() as sess: print(sess.run(output,feed_dict={input1:[7],input2:[2]}))

传值工做交给sess.run() ,须要穿的值放在了feed_dict={},并一一对应每一个input

 

4.激励函数Activation Function

激励函数运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层神经系统。

激励函数的实质是非线性方程。tensorflow的神经网络里面处理较为复杂的问题时都会须要运用激励函数

相关文章
相关标签/搜索