เริ่มต้นใช้งาน TensorFlow.js

TensorFlow.js เป็นไลบรารี JavaScript สำหรับฝึกอบรมและปรับใช้โมเดลแมชชีนเลิร์นนิงในเว็บเบราว์เซอร์และใน Node.js บทช่วยสอนนี้แสดงวิธีเริ่มต้นใช้งาน TensorFlow.js โดยการฝึกโมเดลขั้นต่ำในเบราว์เซอร์และใช้โมเดลเพื่อทำการคาดคะเน

โค้ดตัวอย่างมีอยู่ใน GitHub

ข้อกำหนดเบื้องต้น

เพื่อให้บทช่วยสอนนี้สมบูรณ์ คุณต้องติดตั้งสิ่งต่อไปนี้ในสภาพแวดล้อมการพัฒนาของคุณ:

ติดตั้งตัวอย่าง

รับซอร์สโค้ดและติดตั้งการอ้างอิง:

  1. โคลนหรือดาวน์โหลดที่เก็บ tfjs-examples
  2. เปลี่ยนเป็นไดเรกทอรี getting-started : cd tfjs-examples/getting-started
  3. ติดตั้งการพึ่งพา: การ 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 โปรดดูบทช่วย สอนการตั้งค่า

เรียกใช้ตัวอย่าง

เรียกใช้ตัวอย่างและตรวจสอบผลลัพธ์:

  1. ใน tfjs-examples/getting-started ให้เรียกใช้ yarn watch
  2. ไปที่ 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

โปรแกรมรหัส ML โดยไม่ต้องจัดการกับเทนเซอร์โดยตรง

หากคุณต้องการเริ่มต้นใช้งานแมชชีนเลิร์นนิงโดยไม่ต้องจัดการเครื่องมือเพิ่มประสิทธิภาพหรือปรับแต่งเทนเซอร์ ให้ลองใช้ไลบรารี ml5.js

ไลบรารี ml5.js สร้างขึ้นบน TensorFlow.js ให้การเข้าถึงอัลกอริทึมการเรียนรู้ของเครื่องและโมเดลในเว็บเบราว์เซอร์ด้วย API ที่กระชับและเข้าถึงได้

ตรวจสอบ ml5.js

ติดตั้ง TensorFlow.js

ดูวิธีติดตั้ง TensorFlow.js เพื่อใช้งานในเว็บเบราว์เซอร์หรือ Node.js

ติดตั้ง TensorFlow.js

แปลงโมเดลที่ฝึกไว้ล่วงหน้าเป็น TensorFlow.js

เรียนรู้วิธีแปลงโมเดลที่ฝึกไว้ล่วงหน้าจาก Python เป็น TensorFlow.js

โมเดล Keras GraphDef Model

เรียนรู้จากโค้ด TensorFlow.js ที่มีอยู่

ที่เก็บ tfjs-examples นำเสนอการใช้งานตัวอย่างขนาดเล็กสำหรับงาน ML ต่างๆ โดยใช้ TensorFlow.js

ดูตัวอย่าง tfjs บน GitHub

แสดงภาพพฤติกรรมของโมเดล TensorFlow.js ของคุณ

tfjs-vis เป็นไลบรารีขนาดเล็กสำหรับการแสดงภาพในเว็บเบราว์เซอร์ที่มีไว้สำหรับใช้กับ TensorFlow.js

ดู tfjs-vis บน GitHub ดูการสาธิต

เตรียมข้อมูลสำหรับการประมวลผลด้วย TensorFlow.js

TensorFlow.js รองรับการประมวลผลข้อมูลโดยใช้แนวทางปฏิบัติที่ดีที่สุดของ ML

ดูเอกสาร