Session会话
会话的创建
import tensorflow as tf
matrix1 = tf.constant([[3,4]])
matrix2 = tf.constant([[3],
[3]])
product = tf.matmul(matrix1,matrix2)
## 第一种
with tf.Session() as sess:
result = sess.run(product)
print(result)
## 第二种
sess=tf.Session()
result=sess.run(product)
print(result)
sess.close()
变量
变量与常亮的使用 注意run才可以 不run没结果
import tensorflow as tf
state = tf.Variable(0,name="counter")
one = tf.constant(1)
new_value=tf.add(state,one)
update=tf.assign(state,new_value)
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(3):
sess.run(update)
print(sess.run(state))# 变量的话 需要run
print(sess.run(one))
placehold
当需要传值得时候 ,在run的时候,使用feed_dict 传入
import tensorflow as tf
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1,input2)
with tf.Session() as sess:
print(sess.run(output,feed_dict={input1:2,input2:4}))
激活函数
常用激活函数图像,激活函数 必须是可微分的 否则反向传播怎么传?
激活函数一般选择:
添加一层网络
import tensorflow as tf
def add_layer(inputs,in_size,out_size,activation_functin=None):
Weights=tf.Variable(tf.random_normal([in_size,out_size]))
biases=tf.Variable(tf.zeros([1,out_size])+0.1)
Wx_puls_b=tf.matmul(inputs,Weights)+biases
if activation_functin is None:
outputs=Wx_puls_b
else:
outputs=activation_functin(Wx_puls_b)
return outputs