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 وجود دارد.
دوره آموزشی ML وب TensorFlow.js را تماشا کنید
اگر یک توسعهدهنده وب هستید که به دنبال معرفی عملی وب امال هستید، دوره ویدیویی Google Developers Learning Machine for Web Developers را بررسی کنید. این دوره به شما نشان می دهد که چگونه از TensorFlow.js در وب سایت ها و برنامه های خود استفاده کنید.
برنامه های ML را بدون سروکار داشتن مستقیم با تانسورها کدنویسی کنید
اگر میخواهید بدون مدیریت بهینهسازها یا دستکاری تانسور، یادگیری ماشین را شروع کنید، کتابخانه ml5.js را بررسی کنید.
کتابخانه ml5.js که در بالای TensorFlow.js ساخته شده است، دسترسی به الگوریتم ها و مدل های یادگیری ماشین را در مرورگر وب با یک API مختصر و قابل دسترسی فراهم می کند.
TensorFlow.js را نصب کنید
نحوه نصب TensorFlow.js را برای پیاده سازی در مرورگر وب یا Node.js ببینید.
مدل های از پیش آموزش دیده را به TensorFlow.js تبدیل کنید
با نحوه تبدیل مدل های از پیش آموزش دیده از پایتون به TensorFlow.js آشنا شوید.
از کدهای موجود TensorFlow.js بیاموزید
مخزن tfjs-examples
پیاده سازی های کوچکی را برای وظایف مختلف ML با استفاده از TensorFlow.js فراهم می کند.
tfjs-examples را در GitHub مشاهده کنید
رفتار مدل TensorFlow.js خود را تجسم کنید
tfjs-vis
یک کتابخانه کوچک برای تجسم در مرورگر وب است که برای استفاده با TensorFlow.js در نظر گرفته شده است.
tfjs-vis را در GitHub مشاهده نسخه نمایشی مشاهده کنید
داده ها را برای پردازش با TensorFlow.js آماده کنید
TensorFlow.js از پردازش داده ها با استفاده از بهترین شیوه های ML پشتیبانی می کند.