1.产生随机的数据 y=0.1x +0.3 通过机器学习找到权重W和偏差b
import tensorflow as tf import numpy as np #creat data x_data = np.random.rand(100).astype(np.float32) y_data = x_data*0.1 + 0.3 #creat 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) init = tf.initialize_all_variables() #create tensorflow structure end sess = tf.Session(); sess.run(init); #Very important for step in range(10001): sess.run(train) if step % 20 == 0: print(step,sess.run(Weights),sess.run(biases)); """ #session的两种打开模式(1) sess = tf.Session() sess.run(product) #session的两种打开模式(2) with tf.Session() as sess: result2 = sess.run(product) print (result2) """
2.变量和赋值
import tensorflow as tf #定义变量 state = tf.Variable(0,name='count') # print(state.name) one = tf.constant(1) new_value = tf.add(state , one) update = tf.assign(state,new_value) init = tf.initialize_all_variables() #must have if define variable with tf.Session() as sess: sess.run(init) for _ in range(8): sess.run(update) print(sess.run(state)) #赋值 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:[7.],input2:[2.]}))