一、Tensorlow结构
import tensorflow as tf
import numpy as np
#创建数据
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1+0.3
#创建一个 tensorlow 结构
weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))#一维,范围[-1,1]
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(<1)
train = optimizer.minimize(loss)#最小化损失函数
#初始化不变量
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
#train
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(weights), sess.run(biases))
二、session的使用
import tensorflow as tf
matrix1 = tf.constant([[3, 3]])
matrix2 = tf.constant([[2], [2]])
product = tf.matmul(matrix1, matrix2)
#method1
sess = tf.Session()
result2 = sess.run(product)
print(result2)
#method2
# with tf.Session() as sess:
# result2 = sess.run(product)
# print(result2)
三、Variable的使用
import tensorflow as tf
state = tf.Variable(0, name = 'counter')#变量初始化
# print(state.name)
one = tf.constant(1)
new_value = tf.add(state, one)
#将state用new_value代替
updata = tf.assign(state, new_value)
#变量激活
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(3):
sess.