TensorFlow.js เป็นไลบรารี JavaScript สำหรับฝึกอบรมและปรับใช้โมเดลแมชชีนเลิร์นนิงในเว็บเบราว์เซอร์และใน Node.js บทช่วยสอนนี้แสดงวิธีเริ่มต้นใช้งาน TensorFlow.js โดยการฝึกโมเดลขั้นต่ำในเบราว์เซอร์และใช้โมเดลเพื่อทำการคาดคะเน
โค้ดตัวอย่างมีอยู่ใน GitHub
ข้อกำหนดเบื้องต้น
เพื่อให้บทช่วยสอนนี้สมบูรณ์ คุณต้องติดตั้งสิ่งต่อไปนี้ในสภาพแวดล้อมการพัฒนาของคุณ:
ติดตั้งตัวอย่าง
รับซอร์สโค้ดและติดตั้งการอ้างอิง:
- โคลนหรือดาวน์โหลดที่เก็บ tfjs-examples
- เปลี่ยนเป็นไดเรกทอรี
getting-started
:cd tfjs-examples/getting-started
- ติดตั้งการพึ่งพา: การ
yarn install
หากคุณดูที่ไฟล์ package.json
คุณอาจสังเกตเห็นว่า TensorFlow.js ไม่ใช่การพึ่งพา นี่เป็นเพราะตัวอย่างโหลด TensorFlow.js จาก CDN นี่คือ HTML ที่สมบูรณ์จาก index.html
:
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest"> </script>
</head>
<body>
<h4>Tiny TFJS example<hr/></h4>
<div id="micro-out-div">Training...</div>
<script src="./index.js"> </script>
</body>
</html>
องค์ประกอบ <script>
ในส่วนหัวจะโหลดไลบรารี TensorFlow.js และองค์ประกอบ <script>
ที่ส่วนท้ายของเนื้อหาจะโหลดสคริปต์แมชชีนเลิร์นนิง
สำหรับวิธีอื่นๆ ในการพึ่งพา TensorFlow.js โปรดดูบทช่วย สอนการตั้งค่า
เรียกใช้ตัวอย่าง
เรียกใช้ตัวอย่างและตรวจสอบผลลัพธ์:
- ใน
tfjs-examples/getting-started
ให้เรียกใช้yarn watch
- ไปที่
http://127.0.0.1:1234
ในเบราว์เซอร์ของคุณ
คุณควรเห็นชื่อหน้าและตัวเลขด้านล่าง เช่น 38.31612014770508 จำนวนที่แน่นอนจะแตกต่างกันไป แต่ควรใกล้เคียงกับ 39
เกิดอะไรขึ้น?
เมื่อโหลด index.js
ระบบจะฝึกโมเดล tf.sequential
โดยใช้ค่า $x$ และ $y$ ที่ตรงตามสมการ $y = 2x - 1 $
// Create a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
// Generate some synthetic data for training. (y = 2x - 1)
const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);
const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);
// Train the model using the data.
await model.fit(xs, ys, {epochs: 250});
จากนั้นจะคาดการณ์ค่า $y$ สำหรับค่า $x$ ที่มองไม่เห็น 20
และอัปเดต DOM เพื่อแสดงการคาดคะเน
// Use the model to do inference on a data point the model hasn't seen.
// Should print approximately 39.
document.getElementById('micro-out-div').innerText =
model.predict(tf.tensor2d([20], [1, 1])).dataSync();
ผลลัพธ์ของ $2 * 20 - 1 $ คือ 39 ดังนั้นค่า $y$ ที่คาดการณ์ไว้ควรมีค่าประมาณ 39
อะไรต่อไป
บทช่วยสอนนี้แสดงตัวอย่างขั้นต่ำของการใช้ TensorFlow.js เพื่อฝึกโมเดลในเบราว์เซอร์ สำหรับคำแนะนำเชิงลึกเกี่ยวกับโมเดลการฝึกด้วย JavaScript โปรดดู คู่มือ TensorFlow.js
วิธีเพิ่มเติมในการเริ่มต้น
ต่อไปนี้เป็นวิธีเพิ่มเติมในการเริ่มต้นใช้งาน TensorFlow.js และเว็บ ML
ดูหลักสูตร ML บนเว็บ TensorFlow.js
หากคุณเป็นนักพัฒนาเว็บที่กำลังมองหาข้อมูลเบื้องต้นเกี่ยวกับเว็บ ML โปรดดูวิดีโอหลักสูตรการเรียนรู้ของเครื่องสำหรับนักพัฒนาเว็บของ Google Developers หลักสูตรนี้จะแสดงวิธีใช้ TensorFlow.js ในเว็บไซต์และแอปพลิเคชันของคุณ
โปรแกรมรหัส ML โดยไม่ต้องจัดการกับเทนเซอร์โดยตรง
หากคุณต้องการเริ่มต้นใช้งานแมชชีนเลิร์นนิงโดยไม่ต้องจัดการเครื่องมือเพิ่มประสิทธิภาพหรือปรับแต่งเทนเซอร์ ให้ลองใช้ไลบรารี ml5.js
ไลบรารี ml5.js สร้างขึ้นบน TensorFlow.js ให้การเข้าถึงอัลกอริทึมการเรียนรู้ของเครื่องและโมเดลในเว็บเบราว์เซอร์ด้วย API ที่กระชับและเข้าถึงได้
ติดตั้ง TensorFlow.js
ดูวิธีติดตั้ง TensorFlow.js เพื่อใช้งานในเว็บเบราว์เซอร์หรือ Node.js
แปลงโมเดลที่ฝึกไว้ล่วงหน้าเป็น TensorFlow.js
เรียนรู้วิธีแปลงโมเดลที่ฝึกไว้ล่วงหน้าจาก Python เป็น TensorFlow.js
เรียนรู้จากโค้ด TensorFlow.js ที่มีอยู่
ที่เก็บ tfjs-examples
นำเสนอการใช้งานตัวอย่างขนาดเล็กสำหรับงาน ML ต่างๆ โดยใช้ TensorFlow.js
แสดงภาพพฤติกรรมของโมเดล TensorFlow.js ของคุณ
tfjs-vis
เป็นไลบรารีขนาดเล็กสำหรับการแสดงภาพในเว็บเบราว์เซอร์ที่มีไว้สำหรับใช้กับ TensorFlow.js
ดู tfjs-vis บน GitHub ดูการสาธิต
เตรียมข้อมูลสำหรับการประมวลผลด้วย TensorFlow.js
TensorFlow.js รองรับการประมวลผลข้อมูลโดยใช้แนวทางปฏิบัติที่ดีที่สุดของ ML