天天看點

TF之NN:基于Tensorflow利用神經網絡算法對資料集(用一次函數随機生成100個數)訓練預測斜率、截距(逼近已知一次函數)

輸出結果

TF之NN:基于Tensorflow利用神經網絡算法對資料集(用一次函數随機生成100個數)訓練預測斜率、截距(逼近已知一次函數)

代碼設計

import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

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                      

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)

train = optimizer.minimize(loss)

#init = tf.initialize_all_variables()  

init = tf.global_variables_initializer()    

### create tensorflow structure end ###

sess = tf.Session()  

sess.run(init)      

for step in range(201):

   sess.run(train)    

   if step % 10 == 0:    

       print(step, sess.run(Weights), sess.run(biases))