'''简单小例子'''
import tensorflow as tf
import numpy as np
#create data
x_data = np.random.rand(100).astype(np.float32)
y_data = 0.1*x_data + 0.3
###create tensorflow structure start###
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
Biases = tf.Variable(tf.zeros([1]))
y = Weights*x_data + Biases
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)#0.5指的是机器学习的学习效率
train = optimizer.minimize(loss)#用optimizer这个优化器减少误差
init = tf.initialize_all_variables()
###create tensorflow structure end###
sess = tf.Session()
sess.run(init) #像一个指针,指向tensorflow框架init,使其激活
for step in range(201):
sess.run(train) #session指针指向train
if step%20 == 0:
print(step,sess.run(Weights),sess.run(Biases))
In [4]:
'''Session会话'''
matrix1 = tf.constant([[3,3]]) #shape=(1, 2), dtype=int32)
matrix2 = tf.constant([[2],
[2]]) #shape=(2, 1) dtype=int32
product = tf.matmul(matrix1,matrix2) #matrix multiply like np.doc(m1,m2)
# mothond 1
# sess = tf.Session()
# result = sess.run(product) #返回执行的结果,每run一次就执行一次上面执行的结果
# print(result)
# sess.close()
# mothond 2
with tf.Session() as sess:
result = sess.run(product)
print(result)
In [5]:
'''变量'''
state = tf.Variable(0,name='number') #变量需要定义,还可以定义变量的初始值,此处为0,变量的名字为number
# print(state.name)
one = tf.constant(1)
new_value = tf.add(state,one)
update = tf.assign(state,new_value) #把new_value 加载到state 返回的是assign的对象
init = tf.initialize_all_variables() #初始化所有的变量,定义变量时必须用这个。但还没有激活,必须使用run才可以激活
with tf.Session() as sess:
sess.run(init)
for _