在本次分享中,利用一組汽車的數字數據來訓練出一個模型進行擬合。
將展示訓練的模型的通用打法,通過一個小型的數據集來訓練一個簡單的淺層神經網絡模型的過程來進行說明。其主要目的是幫助你熟悉用 TensorFlow.js 訓練模型一些關鍵步驟。
現在機器學習任務大致爲兩類,迴歸和分類,我們先以迴歸爲例,所謂迴歸簡單地說就是找到模型通過訓練擬合一些具有一定規律連續數據,對新數據進行預測,這個任務有時被稱爲迴歸。數據集中數據是有標註的,所以這個任務應該屬於有監督學習。
任務描述以及分解
隨後會製作一個網頁,然後使用 TensorFlow.js 來訓練一個可以運行在瀏覽器端的模型。給模型輸入出一輛汽車的馬力,該模型通過學習可以預測出每加侖英里數(MPG)。
- 加載數據
- 定義模型
- 訓練模型
- 評估模型
你會學到什麼
- 如何準備數據集 (包括洗牌和規範化)
- 熟悉使用 tf.layer API ,
- 如何使用tfjs-vis 庫監控瀏覽器內的訓練
你需要具備哪些知識和做哪些準備
- 瀏覽器推薦使用 Chrome 運行代碼
- 編譯器用於寫代碼,推薦使用 vscode
- 對 HTML、CSS、JavaScript 和Chrome開發工具有一定了解。
- 對神經網絡有一定了解
啓程
創建 HTML 頁面
<!DOCTYPE html>
<html>
<head>
<title>TensorFlow.js Tutorial</title>
<!-- Import TensorFlow.js -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js"></script>
<!-- Import tfjs-vis -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tfjs-vis.umd.min.js"></script>
</head>
<body>
<!-- Import the main script file -->
<script src="script.js"></script>
</body>
</html>
在文件夾下創建 script.js 文件,並寫
console.log('Hello TensorFlow');
這裏我們安裝 live-server 來啓動服務,然後就可以在瀏覽器調試輸出看到上面 Hello TensorFlow
並且沒有報錯,好這樣就邁出第一步成功安裝加載 TensorFlow.js
live-server --port=5600
t1.dispose()
console.log(tf.memory().numTensors)
層的概念
// 1. 從一層輸入到下一層
const model = tf.sequential()
// 3. 配置圖層
const config_hidden = {
input:[3],
inputShape:"",
activation:'sigmoid',
units:4
}
const config_output = {
units:3,
activation:"sigmoid",
}
// 2. 添加圖層
const hidden = tf.layers.dense(config_hidden)
const output = tf.layers.dense(config_output);
// 5.
model.add(hidden)
model.add(output)