TensorFlow.js คือไลบรารี JavaScript สำหรับการฝึกอบรมและปรับใช้โมเดล Machine Learning ในเว็บเบราว์เซอร์และใน Node.js บทช่วยสอนนี้จะแสดงวิธีเริ่มต้นใช้งาน TensorFlow.js โดยการฝึกโมเดลขั้นต่ำในเบราว์เซอร์ และใช้โมเดลเพื่อคาดการณ์
โค้ดตัวอย่างมีอยู่ใน GitHub
ข้อกำหนดเบื้องต้น
เพื่อให้บทช่วยสอนนี้เสร็จสมบูรณ์ คุณต้องติดตั้งสิ่งต่อไปนี้ในสภาพแวดล้อมการพัฒนาของคุณ:
ติดตั้งตัวอย่าง
รับซอร์สโค้ดและติดตั้งการอ้างอิง:
- โคลนหรือดาวน์โหลดพื้นที่เก็บ ข้อมูลตัวอย่าง tfjs
- เปลี่ยนเป็นไดเร็กทอรี
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 ในเว็บไซต์และแอปพลิเคชันของคุณ
โปรแกรม Code 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