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

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

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

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

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

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

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

  1. โคลนหรือดาวน์โหลดพื้นที่เก็บ ข้อมูลตัวอย่าง tfjs
  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

โปรแกรม Code 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 รุ่น

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

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

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

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

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

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

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

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

ดูเอกสารประกอบ