對於 Node.js 環境,您可以使用 npm 安裝它:
npm install @tensorflow/tfjs
讓我們建立一個簡單的神經網路來預測基本線性函數 y = 2x - 1 的輸出。我們將使用 TensorFlow.js 來建立和訓練該模型。
我們先定義一個具有一個密集層的順序模型(線性堆疊):
// Import TensorFlow.jsimport * as tf from \\'@tensorflow/tfjs\\';// Create a simple sequential modelconst model = tf.sequential();// Add a single dense layer with 1 unit (neuron)model.add(tf.layers.dense({units: 1, inputShape: [1]}));
在這裡,我們創建了一個具有一個密集層的模型。此層有一個神經元(單位:1),並且需要一個輸入特徵(inputShape:[1])。
接下來,我們透過指定最佳化器和損失函數來編譯模型:
// Compile the modelmodel.compile({ optimizer: \\'sgd\\', // Stochastic Gradient Descent loss: \\'meanSquaredError\\' // Loss function for regression});
我們使用隨機梯度下降(SGD)優化器,這對於小模型是有效的。損失函數meanSquaredError適用於像這樣的迴歸任務。
我們現在將為函數 y = 2x - 1 建立一些訓練資料。在 TensorFlow.js 中,資料儲存在張量(多維數組)中。以下是我們產生一些訓練資料的方法:
// Generate some synthetic data for trainingconst xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]); // Inputs (x values)const ys = tf.tensor2d([1, 3, 5, 7, 9], [5, 1]); // Outputs (y values)
在本例中,我們建立了一個輸入值 (0, 1, 2, 3, 4) 的張量 xs 和一個對應的輸出張量 ys,其值使用 y = 2x - 1 計算。
現在,我們可以根據我們的資料訓練模型:
// Train the modelmodel.fit(xs, ys, {epochs: 500}).then(() => { // Once training is complete, use the model to make predictions model.predict(tf.tensor2d([5], [1, 1])).print(); // Output will be close to 2*5 - 1 = 9});
在這裡,我們對模型進行 500 輪訓練(訓練資料的迭代)。訓練後,我們使用模型來預測輸入值為 5 的輸出,該輸出應傳回接近 9 的值 (y = 2*5 - 1 = 9)。
要在瀏覽器中執行此模型,您需要一個包含 TensorFlow.js 程式庫和 JavaScript 程式碼的 HTML 檔案:
TensorFlow.js Example Simple Neural Network with TensorFlow.js
並且在您的 app.js 檔案中,您可以包含上面的模型建置和訓練程式碼。
","image":"http://www.luping.net/uploads/20241022/17295980466717925ed5c04.jpg","datePublished":"2024-11-05T22:45:47+08:00","dateModified":"2024-11-05T22:45:47+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}機器學習 (ML) 迅速改變了軟體開發世界。直到最近,由於 TensorFlow 和 PyTorch 等函式庫,Python 仍是 ML 領域的主導語言。但隨著 TensorFlow.js 的興起,JavaScript 開發人員現在可以深入令人興奮的機器學習世界,使用熟悉的語法直接在瀏覽器或 Node.js 上建立和訓練模型。
在這篇文章中,我們將探討如何開始使用 JavaScript 進行機器學習。我們將演練使用 TensorFlow.js.
建立和訓練簡單模型的範例TensorFlow.js 是一個開源函式庫,可讓您完全用 JavaScript 定義、訓練和執行機器學習模型。它既可以在瀏覽器中運行,也可以在 Node.js 上運行,這使得它對於各種 ML 應用程式具有難以置信的多功能性。
以下是 TensorFlow.js 令人興奮的幾個原因:
讓我們看看如何開始!
在深入研究程式碼之前,您需要安裝TensorFlow.js。您可以透過
要在瀏覽器中使用 TensorFlow.js,只要在 HTML 檔案中包含以下
對於 Node.js 環境,您可以使用 npm 安裝它:
npm install @tensorflow/tfjs
讓我們建立一個簡單的神經網路來預測基本線性函數 y = 2x - 1 的輸出。我們將使用 TensorFlow.js 來建立和訓練該模型。
我們先定義一個具有一個密集層的順序模型(線性堆疊):
// Import TensorFlow.js import * as tf from '@tensorflow/tfjs'; // Create a simple sequential model const model = tf.sequential(); // Add a single dense layer with 1 unit (neuron) model.add(tf.layers.dense({units: 1, inputShape: [1]}));
在這裡,我們創建了一個具有一個密集層的模型。此層有一個神經元(單位:1),並且需要一個輸入特徵(inputShape:[1])。
接下來,我們透過指定最佳化器和損失函數來編譯模型:
// Compile the model model.compile({ optimizer: 'sgd', // Stochastic Gradient Descent loss: 'meanSquaredError' // Loss function for regression });
我們使用隨機梯度下降(SGD)優化器,這對於小模型是有效的。損失函數meanSquaredError適用於像這樣的迴歸任務。
我們現在將為函數 y = 2x - 1 建立一些訓練資料。在 TensorFlow.js 中,資料儲存在張量(多維數組)中。以下是我們產生一些訓練資料的方法:
// Generate some synthetic data for training const xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]); // Inputs (x values) const ys = tf.tensor2d([1, 3, 5, 7, 9], [5, 1]); // Outputs (y values)
在本例中,我們建立了一個輸入值 (0, 1, 2, 3, 4) 的張量 xs 和一個對應的輸出張量 ys,其值使用 y = 2x - 1 計算。
現在,我們可以根據我們的資料訓練模型:
// Train the model model.fit(xs, ys, {epochs: 500}).then(() => { // Once training is complete, use the model to make predictions model.predict(tf.tensor2d([5], [1, 1])).print(); // Output will be close to 2*5 - 1 = 9 });
在這裡,我們對模型進行 500 輪訓練(訓練資料的迭代)。訓練後,我們使用模型來預測輸入值為 5 的輸出,該輸出應傳回接近 9 的值 (y = 2*5 - 1 = 9)。
要在瀏覽器中執行此模型,您需要一個包含 TensorFlow.js 程式庫和 JavaScript 程式碼的 HTML 檔案:
TensorFlow.js Example Simple Neural Network with TensorFlow.js
並且在您的 app.js 檔案中,您可以包含上面的模型建置和訓練程式碼。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3