反向傳播python**,裡面的梯度下降,學習率,損失函式都需要好好的理解。
**參考 北京大學
import tensorflow as tf
w = tf.variable(tf.constant(
5, dtype=tf.float32)
)epoch =
40lr_base =
0.2# 最初學習率
lr_decay =
0.9# 學習率衰減率
lr_step =
1# 餵入多少輪batch_size後,更新一次學習率
for epoch in
range
(epoch)
:# for epoch 定義頂層迴圈,表示對資料集迴圈epoch次,此例資料集資料僅有1個w,初始化時候constant賦值為5,迴圈100次迭代。
lr = lr_base * lr_decay **
(epoch / lr_step)
with tf.gradienttape(
)as tape:
# with結構到grads框起了梯度的計算過程。
loss = tf.square(w +1)
grads = tape.gradient(loss, w)
# .gradient函式告知誰對誰求導
w.assign_sub(lr * grads)
# .assign_sub 對變數做自減 即:w -= lr*grads 即 w = w - lr*grads
print
("after %s epoch,w is %f,loss is %f,lr is %f"
%(epoch, w.numpy(
), loss, lr)
)
TensorFlow2學習八之資料增強
影象增強 對影象的簡單形變。tensorflow2影象增強函式tf.keras.preprocessing.image.imagedatagenerator image gen train tf.keras.preprocessing.image.imagedatagenerator rescale...
tensorflow2的資料載入
對於一些小型常用的資料集,tensorflow有相關的api可以呼叫 keras.datasets 經典資料集 1 boston housing 波士頓房價 2 mnist fasion mnist 手寫數字集 時髦品集 3 cifar10 100 物象分類 4 imdb 電影評價 使用 tf.da...
Tensorflow2 自動求導機制
tensorflow 引入了 tf.gradienttape 這個 求導記錄器 來實現自動求導 如何使用 tf.gradienttape 計算函式 y x x 2 在 x 3 時的導數 import tensorflow as tf x tf.variable initial value 3.初始化...