tensorflow學習之路---簡單的代碼


import numpy
import tensorflow as tf

#自己創建的數據
x_data = numpy.random.rand(100).astype(numpy.float32)#創建具有100個元素的數組
y_data = x_data*0.1+0.3#具有自動遍歷的功能

 

##設置神經網絡的結構###
Weights = tf.Variable(tf.random_uniform([1],-1,1))
basiss = tf.Variable(tf.zeros([1]))
#模擬我們之前寫的數學方程式
y = Weights*x_data+basiss
#比較誤差
loss = tf.reduce_mean(tf.square(y-y_data))
#知道誤差,建立優化器,減小誤差
optimzier = tf.train.GradientDescentOptimizer(0.5)#其中的數據表示學習效率,一般是小於1的數據
#參數更新
trian = optimzier.minimize(loss)
#以上都是建立神經網絡的結構

 

#下面是訓練
#初始化,初始化Variable,才能使用變量
init = tf.global_variables_initializer()
#創建對話可以理解為c++的指針
sess = tf.Session()
#指向結構
sess.run(init)
#訓練
for step in range(201):
#指向誤差更新,使得它不斷的訓練
  sess.run(trian)
  if step%20==0:
    print(step,sess.run(Weights),sess.run(basiss))

#初步跑一個簡單的神經網絡代碼:思路:1、創建一個數學方程 2、設置神經網絡的結構(1)、設置

兩個變量的值,然后仿照第一步數學方程,求出來的結果和第一步求出來的結果比較(2)、比較誤差
優化誤差,刷新誤差 3、開始訓練:(1)、初始化結構里面的vairable (2)、創建對話(指針)
然后指向結構(執行)、然后用for語句進行訓練

 

運行結果:

0 [0.03197816] [0.476912]
20 [0.06810132] [0.31761634]
40 [0.09198748] [0.304425]
60 [0.09798737] [0.30111152]
80 [0.09949446] [0.3002792]
100 [0.09987302] [0.30007014]
120 [0.09996811] [0.30001763]
140 [0.099992] [0.30000442]
160 [0.09999802] [0.3000011]
180 [0.0999995] [0.30000028]
200 [0.09999988] [0.30000007]

 


免責聲明!

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



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