在本次分享中,利用一組汽車的數字數據來訓練出一個模型進行擬合。
將展示訓練的模型的通用打法,通過一個小型的數據集來訓練一個簡單的淺層神經網絡模型的過程來進行說明。其主要目的是幫助你熟悉用 TensorFlow.js 訓練模型一些關鍵步驟。
現在機器學習任務大致為兩類,回歸和分類,我們先以回歸為例,所謂回歸簡單地說就是找到模型通過訓練擬合一些具有一定規(guī)律連續(xù)數據,對新數據進行預測,這個任務有時被稱為回歸。數據集中數據是有標注的,所以這個任務應該屬于有監(jiān)督學習。
任務描述以及分解
隨后會制作一個網頁,然后使用 TensorFlow.js 來訓練一個可以運行在瀏覽器端的模型。給模型輸入出一輛汽車的馬力,該模型通過學習可以預測出每加侖英里數(MPG)。
- 加載數據
- 定義模型
- 訓練模型
- 評估模型
你會學到什么
- 如何準備數據集 (包括洗牌和規(guī)范化)
- 熟悉使用 tf.layer API ,
- 如何使用tfjs-vis 庫監(jiān)控瀏覽器內的訓練
你需要具備哪些知識和做哪些準備
- 瀏覽器推薦使用 Chrome 運行代碼
- 編譯器用于寫代碼,推薦使用 vscode
- 對 HTML、CSS、JavaScript 和Chrome開發(fā)工具有一定了解。
- 對神經網絡有一定了解
啟程
創(chuàng)建 HTML 頁面
<!DOCTYPE html>
<html>
<head>
<title>TensorFlow.js Tutorial</title>
<!-- Import TensorFlow.js -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
<!-- Import tfjs-vis -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-vis@1.0.2/dist/tfjs-vis.umd.min.js"></script>
</head>
<body>
<!-- Import the main script file -->
<script src="script.js"></script>
</body>
</html>
在文件夾下創(chuàng)建 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)