TensorFlow 第一個Demo


#coding=utf-8
import tensorflow as tf
import numpy as np

x_data = np.random.rand(3).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.global_variables_initializer()
###

sess = tf.Session()
sess.run(init)

for step in range(201):
print("Setp:%d", step);
print("Before run Weight: %g ;Biases:%g" %(sess.run(Weights) , sess.run(biases)))
sess.run(train)
print("After run Weight: %g ;Biases:%g" %(sess.run(Weights) , sess.run(biases)))
print("---------------------------------");

 
        

我們會看到執行sess.run(train)之后的wight 和 biases 會逐漸靠近我們設定的值。最后在一個很靠近我們設定值的位置趨於穩定。

 

 

loss=tf.reduce_mean(tf.square(y-y_data))

這里是就算我們計算值與真實值的差距。tf.reduce_mean方法會計算數組的平均值,以方便后面的優化函數優化我們的參數。

 

 

loss=tf.reduce_mean(tf.square(y-y_data))optimizer = tf.train.GradientDescentOptimizer(0.5)

這段代碼是我們選擇的優化我們神經網絡參數的優化算法。Tensorflow為我們提供了多種優化算法。后面我們會涉及到。0.5是我們設置的學習效率。

 

train = optimizer.minimize(loss)

這句代碼的意思是告訴優化算法,我們要逐漸縮小loss的值。

 

以上我們的TensorFlow神經圖就繪制好了。

執行一下代碼初始化變量。

init = tf.global_variables_initializer()

 

最后再一個循環中讓session不斷的按照設計的神經網絡訓練我們的參數,就逐步得到我們理想的結果了。

 

這只是一個簡單的DEMO,幫助初學者理解TensorFlow的運作過程。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM