TensorFlow.js bilan tanishtirish: Javascript-da mashinalarni o'rganish

Muallif Josh Gordon va Sara Robinson, Tuzuvchi Advokatlar

TensorFlow.js-ni, Javascript va yuqori darajadagi API-larni ishlatib, brauzerda o'qishni o'rganish modellarini to'liq aniqlash, tayyorlash va ishga tushirish uchun foydalanishingiz mumkin bo'lgan ochiq manbali kutubxona bilan tanishishdan mamnunmiz. Agar siz ML uchun yangi bo'lgan Javascript dasturchisi bo'lsangiz, TensorFlow.js - o'rganishni boshlashning ajoyib usuli. Yoki agar siz Javascript bilan tanish bo'lgan ML dasturchisi bo'lsangiz, brauzerdagi ML uchun yangi imkoniyatlar haqida ko'proq bilib oling. Ushbu postda biz sizga TensorFlow.js haqida qisqacha ma'lumot beramiz va uni sinab ko'rish uchun foydalanishingiz mumkin bo'lgan manbalar haqida ma'lumot beramiz.

ML-brauzer

Mashinada o'qitish dasturlarini butunlay brauzerda ishlashi interfaol ML kabi yangi imkoniyatlarni ochib beradi! Agar siz TensorFlow Tuzuvchilar Sammitining jonli efirini tomosha qilsangiz, TensorFlow.js munozarasi paytida siz demds topasiz, unda @dsmilkov va @nsthorat kompyuter ko'rish va veb-kameradan foydalanib PAC-MAN o'yinini boshqarish uchun model tayyorlaydilar. brauzer. Siz buni quyidagi havola yordamida o'zingiz sinab ko'rishingiz mumkin - va manbalar namunalari papkasida topishingiz mumkin.

Neyron tarmog'idan foydalanib, veb-kamerangizni PAC-MAN uchun boshqaruvchiga aylantiring.

Agar siz boshqa o'yinni sinab ko'rmoqchi bo'lsangiz, Emoji Scavenger Huntga bu safar uyali telefoningizdagi brauzer orqali javob bering.

Emoji Svenger Hunt - bu TensorFlow.js-dan foydalanib qurilgan dasturning yana bir qiziqarli namunasi. Telefoningizdan foydalanib ko'ring va manbani bu erdan toping.

Brauzerda ishlaydigan ML degani, foydalanuvchi nuqtai nazaridan kutubxonalar yoki drayverlarni o'rnatishga hojat yo'qligini anglatadi. Faqat veb-sahifani oching va sizning dasturingiz ishlashga tayyor. Bundan tashqari, u GPU tezlashishi bilan ishlashga tayyor. TensorFlow.js avtomatik ravishda WebGL-ni qo'llab-quvvatlaydi va GPU mavjud bo'lganda kodni sahna ortida tezlashtiradi. Foydalanuvchilar shuningdek sizning veb-sahifangizni mobil qurilmadan ochishlari mumkin, bu holda sizning modelingiz sensor ma'lumotlaridan, masalan, giroskopdan yoki akselerometrdan foydalanishi mumkin. Va nihoyat, barcha ma'lumotlar mijozda qoladi, bu TensorFlow.js-ni past kechikish uchun, shuningdek maxfiylikni saqlash uchun foydalidir.

TensorFlow.js bilan nima qilishingiz mumkin?

Agar siz TensorFlow.js bilan ishlayotgan bo'lsangiz, ko'rib chiqishingiz mumkin bo'lgan uchta ish oqimi.

  • Malumot uchun mavjud, oldindan tayyorlangan modelni import qilishingiz mumkin. Agar siz ilgari oflayn rejimda o'qigan TensorFlow yoki Keras modelingiz bo'lsa, uni TensorFlow.js formatiga o'tkazib, uni brauzerga yuklashingiz mumkin.
  • Siz import qilingan modelni qayta o'qitishingiz mumkin. Yuqoridagi Pac-Man demosida bo'lgani kabi, siz rasmlarni qayta tiklash deb ataladigan texnikadan foydalanib, brauzerda to'plangan oz miqdordagi ma'lumotlardan foydalangan holda, mavjud bo'lgan oflayn rejimda o'qitilgan ma'lumotni ko'paytirish uchun uzatish ta'limidan foydalanishingiz mumkin. Bu ozgina ma'lumotlardan foydalangan holda, aniq modelni tezda o'rgatishning bir usuli.
  • Muallif modellari to'g'ridan-to'g'ri brauzerda. Siz shuningdek TensorFlow.js-ni Javascript va yuqori darajadagi qatlamlar API-laridan foydalanib modellarni to'liq brauzerda aniqlash, o'rgatish va ishlatish uchun ishlatishingiz mumkin. Agar siz Keras bilan tanish bo'lsangiz, API sizni yuqori darajadagi qatlamlari bilan tanishtirishi kerak.

Keling, ba'zi bir kodni ko'raylik

Agar xohlasangiz, boshlash uchun to'g'ridan-to'g'ri namunalar yoki qo'llanmalarga o'tishingiz mumkin. Bular brauzerda inkor qilish uchun Python-da aniqlangan modelni qanday eksport qilish, shuningdek to'liq Javascript-da qanday qilib modellarni aniqlash va o'rgatish kerakligini ko'rsatadi. Qisqa ko'rib chiqish sifatida, TensorFlow.org saytida ishlaydigan qo'llanmada bo'lgani kabi, gullarni tasniflash uchun neyron tarmoqni aniqlaydigan kod parchasi. Bu erda biz qatlamlar to'plami yordamida modelni aniqlaymiz.

Biz foydalanadigan Layers API qatlamlari, misollar katalogida joylashgan barcha Keras qatlamlarini (shu jumladan Zich, CNN, LSTM va boshqalarni) qo'llab-quvvatlaydi. Keyin Keras-mos API-ni bir xil qo'ng'iroqqa mos API-dan foydalanib o'z modelimizni mashq qilishimiz mumkin:

Model hozirda bashorat qilish uchun foydalanishga tayyor:

TensorFlow.js shuningdek, past darajadagi API (ilgari deeplearn.js) va Eagerning bajarilishini qo'llab-quvvatlashni o'z ichiga oladi. Siz ular haqida ko'proq ma'lumotni TensorFlow Tuzuvchilar Sammitidagi nutqni tomosha qilishingiz mumkin.

TensorFlow.js API-lariga umumiy nuqtai. TensorFlow.js WebGL tomonidan quvvatlanadi va modellarni aniqlash uchun yuqori darajadagi API va chiziqli algebra va avtomatik farqlash uchun past darajadagi API bilan ta'minlaydi. TensorFlow.js TensorFlow SavedModels va Keras modellarini import qilishni qo'llab-quvvatlaydi.

TensorFlow.js deeplearn.js bilan qanday bog'liq?

Yaxshi savol! TensorFlow.js, mashina o'rganish uchun JavaScript vositalarining ekotizimi, T d…ôrinorn.jsning vorisi bo'lib, hozirgi kunda TensorFlow.js Core deb nomlanadi. TensorFlow.js tarkibiga Layers API kiradi, bu Core-dan foydalanadigan mashinalarni o'rganish modellarini yaratish uchun yuqori darajadagi kutubxona, shuningdek TensorFlow SavedModels va Keras hdf5 modellarini avtomatik ravishda joylashtirish uchun vositalarni o'z ichiga oladi. Bu kabi boshqa savollarga javob olish uchun FAQ-ni ko'rib chiqing.

Ko'proq ma'lumot olish uchun eng yaxshi joy qayerda?

TensorFlow.js haqida ko'proq bilish uchun, loyihaning bosh sahifasiga tashrif buyuring, darsliklarni ko'rib chiqing va misollarni sinab ko'ring. Shuningdek, nutqni 2018 TensorFlow dasturchilar sammitidan tomosha qilishingiz va Twitter-dagi TensorFlow-ni kuzatishingiz mumkin.

O'qiganingiz uchun rahmat va TensorFlow.js bilan yaratadigan narsalaringizdan mamnunmiz! Agar xohlasangiz, Tvitterdagi TensorFlow.js guruhidan @dsmilkov, @nsthorat va @sqcai-ni kuzatib borishingiz mumkin.