Learning Tensorflow Part 1

下面將逐步說明完成一個簡單的神經(jīng)網(wǎng)絡(luò)所需的步驟.

1. 構(gòu)造單層神經(jīng)網(wǎng)絡(luò)

首先構(gòu)造一層使用tf.keras.layers.Dense, 這里Dense為全連接層.

import tensorflow as tf
l0 = tf.keras.layers.Dense(units=4, input_shape=[1])
l1 = tf.keras.layers.Dense(units=4)
l2 = tf.keras.layers.Dense(units=1)
  • units表示輸出的維數(shù).
  • input_shape表示輸入的維數(shù), 這個參數(shù)在官方文檔中并沒有介紹, 如果刪除也不影響后續(xù)的使用.

2. 確定神經(jīng)網(wǎng)絡(luò)的框架

model = tf.keras.Sequential([l0, l1, l2])

模型由l0l2組成.

3. 構(gòu)造誤差函數(shù)

model.compile(loss='mean_squared_error',
              optimizer=tf.keras.optimizers.Adam(0.1))
  • loss為損失函數(shù)
  • optimizer為優(yōu)化函數(shù), 默認(rèn)為rmsprop, 這里設(shè)置為了Adam.

4. 訓(xùn)練

history = model.fit(celsius_q, fahrenheit_a, epochs=500, verbose=False)

這里fit的第一選項為輸入函數(shù), 第二個選項為輸出函數(shù),

  • ephochs表示迭代優(yōu)化的次數(shù).

5. 輸出

訓(xùn)練之后, 使用網(wǎng)絡(luò)進(jìn)行輸出為model.predict()
返回的參數(shù)直接調(diào)用l0.get_weights()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容