Ditulis oleh Yannick Assogba, Software Engineer, Google Research
Karena
TensorFlow.js semakin banyak digunakan dalam lingkungan produksi, tim kami mengakui perlunya komunitas untuk dapat memproduksi paket kecil yang dioptimalkan untuk produksi bagi browser yang menggunakan TensorFlow.js. Kami telah meletakkan dasar ini dan ingin membagikan rencana mendatang kami dengan Anda.
Salah satu tujuan utama kami dalam rilis TensorFlow.js mendatang adalah membuatnya lebih modular dan pohonnya lebih bisa diguncang, sembari menjaga kemudahan penggunaan untuk pemula. Karena itu, kami merencanakan dua rilis versi utama untuk membawa kami ke sana. Kami merilis karya ini melalui dua versi utama untuk menjaga server saat kami melakukan perubahan besar.
TensorFlow.js 2.0
Dalam TensorFlow.js 2.x, satu-satunya perubahan besar adalah memindahkan backend WebGL dan CPU dari tfjs-core ke paket NPM mereka sendiri (tfjs-backend-cpu dan tfjs-backend-webgl). Meskipun sekarang ini sudah termasuk secara default, kami ingin menjadikan tfjs-core modular dan seramping mungkin.
Apa artinya ini bagi saya sebagai pengguna?
Jika Anda menggunakan paket union (mis. @tensorflow/tfjs), Anda seharusnya tidak melihat dampaknya ke kode. Jika Anda menggunakan @tensorflow/tfjs-core secara langsung, Anda harus mengimpor paket untuk setiap backend yang ingin digunakan.
Keuntungan apa yang saya dapatkan?
Jika Anda menggunakan @tensorflow/tfjs-core secara langsung, Anda sekarang memiliki opsi untuk menghilangkan setiap backend yang tidak ingin digunakan dalam aplikasi Anda. Misalnya, jika Anda hanya menginginkan backend WebGL, Anda bisa mendapatkan penghematan yang lumayan dengan tidak memasukkan backend CPU. Anda juga bisa memuat backend CPU di akhir sebagai cadangan jika aplikasi/fitur build Anda mendukungnya.
TensorFlow.js 3.0
Dalam rilis ini, kita akan memodularisasi sepenuhnya semua ops dan kernel (implementasi matematika khusus backend di belakang suatu operasi). Ini memungkinkan tree shaker dalam paket seperti WebPack, Rollup, dan Closure Compiler melakukan penghapusan kode yang tidak terpakai dengan lebih baik dan menghasilkan paket yang lebih kecil.
Kami akan berpindah ke skema pendaftaran kernel dan gradien dinamis serta menyediakan fitur untuk membantu membuat paket khusus yang hanya berisi kernel untuk model tertentu atau program TensorFlow.js.
Kami juga akan mulai mengirim paket ES2017 secara default. Pengguna yang ingin menerapkan ke browser yang hanya mendukung versi sebelumnya bisa melakukan transpile ke target yang diinginkan.
Apa artinya ini bagi saya sebagai pengguna?
Jika Anda menggunakan paket union (mis. @tensorflow/tfjs), kami mengantisipasi perubahannya akan minimal. Untuk mendukung kemudahan penggunaan dalam memulai dengan tfjs, kami ingin penggunaan default paket union tetap seperti sekarang ini.
Untuk pengguna yang menginginkan paket berorientasi produksi berukuran lebih kecil, Anda harus mengubah kode untuk memanfaatkan modul ES2015 agar hanya mengimpor ops (dan fungsionalitas lainnya) yang ingin Anda masukkan ke paket Anda.
Selain itu, kami menyediakan fitur command-line untuk mengaktifkan build yang hanya memuat dan mendaftarkan kernel yang digunakan oleh model/program yang Anda terapkan.
Keuntungan apa yang saya dapatkan?
Pengguna berorientasi produksi bisa ikut serta dalam menulis kode yang akan menghasilkan build yang lebih kecil dan optimal. Pengguna lain masih tetap dapat menggunakan paket union, tetapi tidak akan mendapatkan keuntungan build sekecil mungkin.
Gradien dinamis dan pendaftaran kernel akan mempermudah implementasi gradien dan kernel khusus untuk peneliti dan pengguna tingkat lanjut lainnya.
FAQ
Kapan ini siap?
Kami berencana merilis TensorFlow.js 2.0 bulan ini. Kami belum menentukan tanggal rilis Tensorflow 3.0 karena besarnya perubahan. Karena kami perlu menyentuh hampir setiap file dalam tfjs-core, kami sebisa mungkin juga memanfaatkannya untuk membenahi teknisnya.
Haruskah saya mengupgrade ke TensorFlow.js 2.x atau menunggu versi 3.x?
Kami sarankan Anda mengupgrade ke TensorFlow 2.x jika Anda secara aktif mengembangkan project TensorFlow.js. Ini bukanlah upgrade yang sulit, dan perbaikan bug di masa mendatang akan ada di rangkaian rilis ini. Kami belum menentukan tanggal rilis untuk TensorFlow.js 3.x.
Bagaimana cara saya melakukan migrasi aplikasi ke versi 2.x atau 3.x? Apakah ada tutorial yang bisa diikuti?
Saat kami merilis versi ini, kami akan memublikasikan catatan rilis lengkap dengan petunjuk tentang cara melakukan upgrade. Secara terpisah, dengan peluncuran versi 3.x, kami akan memublikasikan panduan untuk membuat build produksi.
Seberapa banyak saya harus mengubah kode untuk mendapatkan build yang lebih kecil?
Kami akan memberitahukan detail selengkapnya saat kita semakin dekat dengan rilis versi 3.x, tetapi pada tingkat tinggi, kami ingin memanfaatkan sistem modul ES2015 agar Anda bisa mengontrol kode apa yang masuk ke paket Anda.
Secara umum, Anda harus melakukan hal-hal seperti
import {max, div, mul, depthToSpace} from @tensorflow/tjfs
(bukan
import * as tf from @tensorflow/tfjs
) agar fitur kami dapat menentukan kernel mana yang akan didaftarkan dari backend yang telah Anda pilih untuk diterapkan. Kami bahkan sedang berupaya membuat chaining API pada Tensor class opt-in ketika menargetkan build produksi.
Apakah ini akan membuat TensorFlow.js lebih sulit digunakan?
Kami tidak ingin membuat penghalang masuk lebih tinggi dalam menggunakan TensorFlow.js maka kami merancangnya sedemikian rupa sehingga hanya pengguna yang berorientasi produksi yang harus melakukan pekerjaan ekstra untuk mendapatkan build yang dioptimalkan. Untuk pengguna akhir yang mengembangkan aplikasi menggunakan paket union (@tensorflow/tfjs) dari skrip yang di-host atau dari NPM bersama dengan kumpulan model pra-terlatih, kami berharap tidak akan ada perubahan akibat update ini
Wow. Very good content. I really YouTube creative Services. By the way you can follow me to get Printer Services if you are living in USA and Canada
ReplyDeletePrinter Repair Phone Number in Alberta
Printer Repair Phone Number in British Columbia
Printer Repair Phone Number in Manitoba
Printer Repair Phone Number in New Brunswick
Wow. Very good Content like always. I want a job in Google. Can I get a job??
ReplyDeleteNotify with
Local Printer Service in Alberta Canada
Thanks for the helpful article. I also want to share with you very useful information - essay writing service. If you have problems with writing refer to the https://www.masterpapers.com/.
ReplyDeleteThanks for the helpful article and advice. Oh, I also turned to the authors of the letter for help. I found an excellent service thesis writer the guys helped me in writing my essay, efficiently, professionally, on time. I am very pleased.
ReplyDeleteNot bad, but I still want to present you an excellent https://jetwriting.com/term-paper-help/ article service and essay that can easily help you with this.
ReplyDeleteThe mission of any product is to solve one of our problems or satisfy one of our needs. https://writemyessaysfast.com/ specialist can tell that clients don’t buy products – they buy solutions. Why do women fight for new Chanel dresses? They seek attention, prestige, and beauty. Why are men ready to spend thousands of dollars on Rolex watches? They tell the same time as watches for $20. But Rolex is a symbol of power, style, and prestige. Such men need to be associated with these concepts.
ReplyDeletegood evening. you've created a pretty good solution. I hope it will solve a lot of user problems. also solve problems https://writemyessaytoday.org/ with writing professional resumes and essays. when you need professional written help, feel free to contact them
ReplyDeleteThanks for the article on the upcoming changes to TensorFlow. This is a very useful library for anyone involved in machine learning or neural network modeling. From the changes that you are going to implement, it can be seen that you, as developers, understand the need for communities and are really improving your product. For those who don't know, TensorFlow is an open source machine learning software library developed by Google to solve problems of building and training neural networks in order to automatically find and classify patterns, achieving the quality of human perception. It is used for both research and development of Google's own products. The main API for working with the library is implemented for Python. I also advise you to post a list of these changes on Twitter where they can be seen by millions of programmers who use the library. I often see announcements of major product updates there and noticed that most often they post accounts to which at least 80 thousand subscribers are subscribed! I'm sure this is because the owners of such accounts buy twitter followers in order to increase their number.
ReplyDeleteWe can apply any academic writing or citation https://www.privatewriting.com/college-homework style to your work. Just let us know which one you need and forget about the struggle of finding all the requirements and applying them by your own.
ReplyDeleteYou can make video about it. I make video about everything after I read this post https://www.justwebworld.com/promotion-on-tiktok/ and learned how to get views for tiktok video
ReplyDeleteThe blog looks really nice and informative. Thanks for sharing it!
ReplyDelete