TensorFlow學習例子 1

2021-08-20 10:05:21 字數 2368 閱讀 8323

例子**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系統架構圖 ...