TensorFlow基础
1.TensorFlow处理数据的结构
第一步要建立结构,TensorFlow
例子1,预测线性函数y=0.1x+0.3,我们要做的就是准备训练数据,定义需要训练的参数,定义函数形式,建立优化目标,循环训练并输出
import tensorflow as tf
import numpy as np
x_data = np.random.rand(100).astype(np.float32) #生成100个随机数作为x输入数据
y_data = x_data*0.1+0.3 #建立数据间关系。看看TensorFlow能否预测x和y的关系
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))#定义参数,是1维的,范围在-1到1之间
biases=tf.Variable(tf.zeros([1])) #定义参数,是一维的,初始值为0
y=Weights* x_data+biases
loss=tf.reduce_mean(tf.square(y-y_data)) #计算误差
optimizer=tf.train.GradientDescentOptimizer(0.5)#reduce_mean取平均值
train=optimizer.minimize(loss)
init=tf.initialize_all_variables()#初始化
sess = tf.Session()
sess.run(init) #激活初始化
for step in range(201):
sess.run(train)
if step %20 == 0:
print(step,sess.run(Weights),sess.run(biases))
例2.在TensorFlow中使用Session
import tensorflow as tf import numpy as np matrix1 = tf.constant([[3,3]])#是一个一行两列的矩阵 matrix2 = tf.constant([[2],[2]])#是一个两行一列的矩阵 product = tf.matmul(matrix1,matrix2) #矩阵乘法 sess = tf.Session() result = sess.run(product) #使用run()函数,才能让TensorFlow真正执行运算 print(result) sess.close() with tf.Session() as sess: result2 = sess.run(product) print(result2)
例3.Variable的用法
import tensorflow as tf state = tf.Variable(0,name="counter") #0是变量初始值,name为变量名 # print(state.name) one = tf.constant(1) new_value = tf.add(state , one) update = tf.assign(state,new_value) #将new_value的值赋给state init = tf.initialize_all_variables() #初始化所有变量 with tf.Session() as sess: sess.run(init) for _ in range(3): sess.run(update) print(sess.run(state))
例4. placeholder
import tensorflow as tf input1 = tf.placeholder(tf.int32) #placeholder需要传进去值 input2 = tf.placeholder(tf.int32) output = tf.multiply(input1,input2) with tf.Session() as sess: print(sess.run(output,feed_dict={input1:[7],input2:[2]}))
浙公网安备 33010602011771号