TensorFlow之入门基础知识

一、Session会话控制

定义两个常量矩阵a,b(tf.constant)

a = tf.constant([[1.0,2.0]],name = 'a')
b = tf.constant([[2.0],
                 [3.0]],name = 'a')
product = tf.matmul(a,b)

要输出相加得到的结果,不能直接输出result,需要先生成一个会话(session),并且通过一个这个会话(session)来计算结果

#写法一
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
#写法二(不需要加sess.close(),直接放入会话窗口)
with tf.Session() as sess:
    result = sess.run(product)
    print(result)

结果为 [[8.]]

二、Variable变量

#定义一个变量variable
state = tf.Variable(0,name = 'a')
#定义一个常量b
one = tf.constant(1)
#加法
new_value = tf.add(state,one)
#将new_value的值赋予state,该动作命名为update
update = tf.assign(state,new_value)

非常重要!非常重要!非常重要!

初始化所有变量:init = tf.initialize_all_variables()

还要在sess里激活init: sess.run(init)

#初始化变量!!!
init = tf.initialize_all_variables()
with tf.Session() as sess:
    #激活init!!!
    sess.run(init)
    for _ in range(3):
        sess.run(update)
#不能 print(state) 不起作用!!一定要把 sess 的指针指向 state 再进行 print 才能得到想要的结果!
    print(sess.run(update))

结果为 4

三、Placeholder 传入值

注意:传入placeholder 与 feed_dict={} (字典)是绑定在一起的,必须同时出现!!!

#placeholder是用来存放变量 ,在 Tensorflow 中需要定义 placeholder 的 type ,一般为 float32 形式
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
out = tf.multiply(input1,input2)

session会话控制

with tf.Session() as sess:
    #feed_dict={} (字典)
    result = sess.run(out,feed_dict={input1:[7.],input2:[4.]})
    print(result)

结果为 [28.]

四、添加层layer

构建简单的一层神经网络,包括常见参数weights、biases和activation_function

首先定义添加神经层的函数def add_layer(),它有四个参数:输入值、输入的大小、输出的大小和激励函数

def add_layer(inputs,in_size,out_size,activation_function = None): 
#定义weights和biases,weight为随机变量(variable)
    Weights = tf.Variable(tf.random_normal([in_size,out_size]))#矩阵大小为in_size*out_size
    biases = tf.Variable(tf.zeros([1,out_size])+0.1)#biases不为0,加上任意一个小数值
#定义Wx_plus_b, 即神经网络未激活的值
    Wx_plus_b = tf.matmul(inputs,Weights) + biases
    if activation_function is None:
        outputs = Wx_plus_b
    else:
        outputs = activation_function(Wx_plus_b)
    return outputs

猜你喜欢

转载自blog.csdn.net/qq_33373858/article/details/83684855