Fork me on GitHub

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

莫烦tensorflow教学

1.session会话控制

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

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

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并得到计算结果。

有两种形式使用会话控制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 变量

看得莫烦的tensorflow课程 讲的很有趣,有兴趣的同学也可以去看看

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

定义语法: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的神经网络里面处理较为复杂的问题时都会需要运用激励函数

 

posted @ 2019-07-26 16:47  鲍鲍tql  阅读(388)  评论(0编辑  收藏  举报