TensorFlow.js یک کتابخانه جاوا اسکریپت برای آموزش و استقرار مدل های یادگیری ماشین در مرورگر وب و در 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> در head کتابخانه 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 برای آموزش یک مدل در مرورگر ارائه می دهد. برای آشنایی بیشتر با مدلهای آموزشی با جاوا اسکریپت، به راهنمای TensorFlow.js مراجعه کنید.
در اینجا راه های بیشتری برای شروع با TensorFlow.js و web ML وجود دارد.