例子**tensorflow使用的乙個小案例
原博作者注釋寫得很清晰明白。感謝。
我是無理論者,並且是初接觸,打算從學習各個例子中學習熟悉tensorflow 雖然不正經,但是對前期興趣保持有好處。
理解每句話:
'''
本例原理:逆概率,即 使用已有的x,y資料對和已知的模型公式,訓練出模型的引數
'''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
##---------------##
##建立神經計算結構##
#定義權重變數 (也就是 y=ax+b 中的a)此時變數無位址,因為沒初始化。
#tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=none, name=none)
#tf.random_uniform此時的引數1代表所建立的隨機數的維度shape.即[2,2]就是兩行兩列
#引數2 表示隨機範圍最小值,引數3 表示隨機範圍最大值
weight=tf.variable(tf.random_uniform([1],-1.0,1.0))
#定義截距變數(也就是 y=ax+b 中的b)此時變數無位址,因為沒初始化。
#tf.zeros(shape, dtype=tf.float32, name=none)
#tf.zeros([1])此時的引數1 代表shape,也就是一維。zeros這個方法就是生成全零的陣列
biases=tf.variable(tf.zeros([1]))
y=weight*x_data+biases
##--------------##
#誤差值反饋
#tf.square是平方
#tf.reduce_mean是取平均值
#reduce_mean(input_tensor,axis=none,keep_dims=false,name=none,reduction_indices=none)
#loss的值等於,計算值與訓練正確值得差的平方所組成的集合的平均值。
loss=tf.reduce_mean(tf.square(y-y_data))
#最優控制器
optimizer=tf.train.gradientdescentoptimizer(0.5)
#訓練器
train=optimizer.minimize(loss)
#初始化tensorflow訓練結構
init=tf.initialize_all_variables()
#建立tensorflow訓練會話
sess=tf.session()
#將訓練結構裝載到會話中
sess.run(init)
for step in range(400):
sess.run(train)
if step%20==0:
print(step,sess.run(weight),sess.run(biases))
手動造資料--建立tf的資料結構和模型--使用優化器演算法控制誤差製作訓練器--新建session 初始化tf訓練結構--執行訓練器--輸出結果
loss=tf.reduce_mean(tf.square(y-y_data))
#最優控制器
optimizer=tf.train.gradientdescentoptimizer(0.5)
#訓練器
train=optimizer.minimize(loss)
記錄下這個優化器演算法 參考 tensorflow optimizer演算法
關注這個損失函式 就是
loss=tf.reduce_mean(tf.square(y-y_data))
最優控制器的引數是學習率 就像是pid中的p值一樣,不能小不能大,要取捨乙個平衡點
optimizer=tf.train.gradientdescentoptimizer(0.5)
限制點:
tensorflow入門例子
import tensorflow as tf import numpy as np 使用 numpy 生成假資料 phony data 總共 100 個點.100,2 x data np.float32 np.random.rand 100,2 隨機輸入 y data np.dot x data,...
tensorflow學習筆記1
在跑minist demo時,遇到了這幾句 batchsize 6 label tf.expand dims tf.constant 0,2,3,6,7,9 1 index tf.expand dims tf.range 0,batchsize 1 concated tf.concat 1,inde...
TensorFlow學習筆記1
1 tensorflow 谷歌第二代人工智慧學習系統 2 tensorflow顧名思義tensor flow。tensor的意思是 張量,flow的意思是 流動,合起來就是 張量的流動 3 系統架構及程式設計模型。其中系統架構如圖1所示,程式設計模型如圖2所示。圖1 tensorflow系統架構圖 ...