TensorFlow
https://www.bilibili.com/video/BV1Lx411j7ws?p=7
- 举个栗子
#create data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data *0.1 +0.3
#create tensorflow structure start#
Weight = tf.Variable(tf.random_uniform([1], -1.0,1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weight * x_data +biases
loss= tf.reduce_mean(tf.square(y-y_data))
optimizer= tf.train.GradientDescentOptimizer(0.5) #0.5学习效率
train = optimizer.minimize(loss)
#create tensorflow structure end#
'''套话'''
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init) #激活很重要重要
'''套话'''
for step in range(200):
sess.run(train)
if step%20 == 0:
print(step, sess.run(Weight), sess.run(biases))
- Session
matrix1 = tf.constant([[3,3]]) #一行两列
matrix2 = tf.constant([[2],
[2]])#两行一列
product = tf.matmul(matrix1, matrix2) #matrix multiply.np.dot(m1, m2)
#Method 1
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
#Method 2
with tf.Session() as sess:
result2 = sess.run(product)
print(result2)
- Variable
state = tf.Variable(0, name='counter')
one = tf.constant(1)
new_value = tf.add(state , one)
update = tf.assign(state, new_value)
init = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
for _ in range(2):
sess.run(update)
print(update)~
print(sess.run(state))
运行结果:注意不能直接print(update)
Tensor(“Assign:0”, shape=(), dtype=int32_ref)
1
Tensor(“Assign:0”, shape=(), dtype=int32_ref)
2
- Placeholder
placeholder是一个之后会赋值的变量
在sess.run()里面再给入input的值 feed_dict = {}
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2) #input1 * input2
with tf.Session() as sess:
print(sess.run(output, feed_dict={input1:[7.], input2:[2.]}))
- 激励函数 Linear Nonlinear
CNN:relu
RNN:relu / tanh