Rumah  >  Artikel  >  Peranti teknologi  >  Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

WBOY
WBOYke hadapan
2023-04-11 18:10:031427semak imbas

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Pembukaan

Beberapa hari lalu, saya berbual dengan rakan Xiao Li yang telah terlibat dalam pembangunan selama 3 tahun dan mengetahui bahawa syarikatnya adalah menjalankan penyelidikan berkaitan dengan projek pembelajaran mesin. Baru-baru ini, beliau menerima tugas untuk menggunakan model pembelajaran mesin terlatih. Ini membimbangkan Xiao Li Dia telah terlibat dalam pembangunan pembelajaran mesin selama hampir setengah tahun Dia terlibat terutamanya dalam pengumpulan data, pembersihan data, pembinaan persekitaran, latihan model, dan penilaian model .

Jadi, saya menjalankan sains popular mengenai penggunaan model pembelajaran mesin berdasarkan pengalaman saya sendiri. Seperti yang ditunjukkan dalam Rajah 1, dalam pengaturcaraan tradisional, kami menyampaikan peraturan dan data kepada program untuk mendapatkan jawapan yang kami mahukan. Tetapi untuk pembelajaran mesin, kami melatih peraturan melalui jawapan dan data ini.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 1 Perbezaan antara pengaturcaraan tradisional dan pembelajaran mesin

Pengaturan model pembelajaran mesin ialah Gunakan peraturan (model) ini ke titik akhir di mana pembelajaran mesin perlu digunakan. Seperti yang ditunjukkan dalam Rajah 2, model yang dilatih oleh pembelajaran mesin boleh difahami sebagai fungsi, API atau SDK, dan digunakan pada terminal yang sepadan (bahagian kelabu dalam rajah). Selepas penggunaan, terminal akan mempunyai keupayaan yang diberikan oleh model Pada masa ini, dengan memasukkan data baru, keputusan yang diramalkan boleh diperolehi mengikut peraturan (model).

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 2 Prinsip penggunaan model pembelajaran mesin

Rangka kerja penggunaan pembelajaran mesin TensorFlow

Xiao Li berkata dia faham selepas mendengar pengenalan saya, dan memberitahu saya semua tentang penggunaan projek mereka dengan penuh minat, dan ingin meminta pendapat saya. Seperti yang ditunjukkan dalam Rajah 3, mereka ingin menggunakan model pengecaman imej ke IOS, Android, Raspberry Pi, pelayar web dan bahagian pelayan.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 3 Senario penggunaan model

Daripada senario aplikasi penggunaan, ia ringan, bersilang- ciri platform. Model pembelajaran mesin yang sama perlu digunakan pada berbilang platform berbeza, dan setiap platform mempunyai keupayaan storan dan pengkomputeran yang berbeza. Pada masa yang sama, ketersediaan, prestasi, keselamatan dan kebolehskalaan operasi model mesti diambil kira, dan platform besar yang agak stabil perlu digunakan. Jadi, saya mengesyorkan rangka kerja penggunaan pembelajaran mesin TensorFlow kepadanya. Seperti yang ditunjukkan dalam Rajah 4, rangka kerja penggunaan TensorFlow menyediakan sokongan komponen untuk platform yang berbeza. Antaranya, Android, IOS dan Raspberry Pi bertindak balas kepada TensorFlow Lite, yang merupakan rangka kerja penggunaan model yang digunakan khas untuk terminal mudah alih. Bahagian penyemak imbas boleh menggunakan TensorFlow.js, dan bahagian pelayan boleh menggunakan TensorFlow Serving.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 4 Rangka kerja penggunaan model pembelajaran mesin TensorFlow

operasi sebenar TensorFlow Lite

Xiao Li ingin mengetahui proses penggunaan yang lebih khusus Saya kebetulan mempunyai projek di tangan yang menggunakan rangka kerja penggunaan TensorFlow, jadi saya menunjukkan proses itu kepadanya. Projek ini adalah untuk menggunakan model "pengecaman kucing dan anjing" ke telefon Android Memandangkan IOS, Android, Raspberry Pi dan penyemak imbas semuanya adalah pelanggan, sumber pengkomputeran mereka tidak boleh dibandingkan dengan pelayan. Khususnya, aplikasi mudah alih mempunyai ciri-ciri ringan, kependaman rendah, kecekapan tinggi, perlindungan privasi, penjimatan kuasa, dsb., jadi TensorFlow telah mereka bentuk khas penggunaannya dan menggunakan TensorFlow Lite untuk menggunakannya.

Menggunakan TensorFlow Lite untuk menggunakan model memerlukan tiga langkah:

  1. Gunakan TensorFlow untuk melatih model.
  2. Tukar kepada format TensorFlow Lite.
  3. Gunakan penterjemah TensorFlow Lite untuk memuatkan dan melaksanakan.

Dalam langkah pertama, kami telah menyelesaikan latihan model Langkah kedua ialah menukar model yang dijana kepada format corak yang boleh dikenali dan digunakan oleh TensorFlow Lite. Seperti yang dinyatakan di atas, apabila model digunakan pada terminal mudah alih, pelbagai isu perlu dipertimbangkan, jadi format fail khas perlu dijana untuk terminal mudah alih. Langkah ketiga ialah memuatkan fail TensorFlow Lite yang ditukar ke dalam penterjemah mudah alih dan melaksanakannya.

Memandangkan tumpuan kami adalah pada penggunaan model, langkah pertama latihan model dilangkau buat sementara waktu, iaitu, diandaikan bahawa anda telah melatih model tersebut. Untuk langkah kedua penukaran model, sila rujuk Rajah 5. Model TensorFlow akan ditukar menjadi fail model dengan akhiran ".tflite" melalui Converter, dan kemudian diterbitkan ke platform yang berbeza, dan diproses melalui penterjemah pada setiap platform. Terangkan dan muatkan.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 5 Seni bina penukaran model TensorFlow Lite

Penjimatan dan penukaran model

Seni bina TensorFlow Lite diperkenalkan di atas Di sini anda perlu menyimpan model sebagai model TensorFlow dan menukarnya. Seperti yang ditunjukkan dalam Rajah 6, kami memanggil kaedah saved_model.save dalam TensorFlow untuk menyimpan model (model terlatih) dalam direktori yang ditentukan.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 6 Simpan model TensorFlow

Selepas menyimpan model, model ditukar, sebagai ditunjukkan dalam Rajah 7 Seperti yang ditunjukkan, panggil kaedah from_saved_model dalam pakej TFLiteConverter dalam TensorFlow Lite untuk menjana contoh penukar (penukar model), kemudian panggil kaedah tukar dalam penukar untuk menukar model, dan simpan fail yang ditukar ke direktori yang ditentukan.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 7 Tukarkan kepada format model tflite

Muatkan model aplikasi

Ditetapkan ke Contoh ini adalah untuk penggunaan model pada sistem Android, jadi pergantungan TensorFlow Lite perlu diperkenalkan dalam Android. Seperti yang ditunjukkan dalam Rajah 8, perkenalkan kebergantungan TensorFlow Lite, dan tetapkan noCompress kepada "tflite" dalam aaptOptions, yang bermaksud bahawa fail dengan "tflite" tidak akan dimampatkan Jika pemampatan ditetapkan, sistem Android mungkin tidak mengenali fail tflite.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 8 Ketergantungan TensorFlow Lite yang diperkenalkan dalam projek

Selepas mengkonfigurasi kebergantungan, tukar Salin fail tflite yang baik ke fail aset, seperti yang ditunjukkan dalam Rajah 9. Fail ini akan dimuatkan kemudian untuk melaksanakan model pembelajaran mesin.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 9 Tambah fail tflite

Selepas menambah fail tflite, kami akan mencipta pengelas Pengelas , digunakan untuk mengklasifikasikan gambar "kucing dan anjing". Seperti yang ditunjukkan dalam Rajah 10, penterjemah dimulakan dalam init dalam Classifer, kaedah loadModuleFlie dipanggil untuk memuatkan fail tflite, dan label pengelasan (labelList) ditentukan Label di sini ialah "anjing kucing".

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 10 Memulakan jurubahasa

Selepas mencipta pengelas, model pengelasan kucing dan anjing digunakan untuk mengenal pasti imej. Iaitu, dalam kelas Classifier, seperti yang ditunjukkan dalam Rajah 10, parameter input kaedah convertBitmapToByteBuffer ialah bitmap Ini adalah gambar kucing dan anjing yang kita masukkan Dalam kaedah ini, ia akan ditukarkan merah dalam gelung untuk Tukar saluran hijau dan biru, letakkan hasil penukaran ke dalam byteBuffer dan kembalikannya. Kaedah recoginzeImage memanggil convertBitmapToByteBuffer dan menggunakan kaedah larian penterjemah untuk melaksanakan kerja pengecaman imej, iaitu menggunakan model pembelajaran mesin untuk mengenal pasti imej kucing dan anjing.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 11 Mengenali gambar

Proses transformasi grafik di atas terlalu abstrak, kami akan Perinciannya ditunjukkan dalam Rajah 12. Imej yang kami masukkan ialah imej 395*500 di penjuru kiri sebelah atas gambar, yang akan menukar imej dalam imageView ke dalam bentuk bitmap. Memandangkan input model kami memerlukan format 224*224, penukaran diperlukan. Seterusnya, piksel dimasukkan ke dalam tatasusunan 224*224 ByteBuffer dan disimpan, dan akhirnya piksel RGB (merah, hijau dan biru) dinormalisasi (dibahagikan dengan 255) sebagai parameter input model.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 12 Proses penukaran imej input

Pada ketika ini pemuatan dan penggunaan mesin model pembelajaran selesai Penyiapan, sudah tentu, memerlukan fail input dan susun atur. Seperti yang ditunjukkan dalam Rajah 13, kami menyimpan gambar yang perlu diramalkan (gambar kucing dan anjing) di bawah folder boleh lukis. Kemudian buat fail activity_image_classifier.xml di bawah reka letak untuk membina dan menyimpan ImageView.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 13 Masukkan fail imej dan fail susun atur

Akhir sekali, buat ImageClassifierActivity untuk memaparkan imej dan Respond kepada peristiwa yang mengenal pasti imej. Seperti yang ditunjukkan dalam Rajah 14, ikat peristiwa onclick setiap imej dalam kaedah initViews, dan kemudian panggil kaedah Imej recoginzie dalam kaedah onclick untuk mengenal pasti imej.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 14 Lakukan pengecaman imej dalam onclick

Mari kita lihat kesannya. Seperti yang ditunjukkan dalam Rajah 15, apabila gambar yang sepadan diklik, gesaan "anjing" akan dipaparkan, menunjukkan hasil ramalan.

Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!

Rajah 15 Kesan demonstrasi

Menyemak keseluruhan proses tidak rumit, saya menggunakan model dengan TensorFlow lite Ia diringkaskan dalam langkah berikut:

  1. Simpan model pembelajaran mesin.
  2. Tukar model kepada format tflite.
  3. Muatkan model dalam format tflite.
  4. Gunakan penterjemah untuk memuatkan model.
  5. Keputusan ramalan parameter input.

Pelajar yang ingin mempelajari lebih lanjut kemahiran penggunaan model TensorFlow boleh mempelajari kursus rasmi TensorFlow, mendaftar akaun di Chinese University MOOC dan belajar secara percuma: ​https://www.php.cn/link/1f5f6ad95cc908a20bb7e30ee28a5958​

Terdapat juga pakar pembangun Google yang perlu dilakukan Penjelasan dalam talian dan Soal Jawab mengenai penggunaan adalah sangat baik. Adalah disyorkan bahawa pelajar yang ingin mendapatkan pemahaman awal tentang fungsi penggunaan TensorFlow memberi perhatian kepada ​https: //www.php.cn/link /e046ede63264b10130007afca077877f​

Tamat

Selepas mendengar penjelasan saya tentang penggunaan model pembelajaran mesin dan memahami proses penggunaan TensorFlow, Xiao Li semakin bersemangat untuk mencuba penggunaan praktikal. Saya rasa proses penggunaan menggunakan TensorFlow secara logiknya jelas, kaedahnya mudah dan mudah dilaksanakan, dan mudah untuk pembangun yang berpengalaman selama 3-5 tahun untuk bermula. Selain itu, TensorFlow secara rasmi menyediakan "Kursus Praktikal Pengenalan TensorFlow", yang sesuai untuk pemula dengan asas sifar dalam pembelajaran mesin: ​https://www.php.cn/link/bf2fe6582ed9ead9161a3d6f6b1d6858​

Pengenalan pengarang

Cui Hao, editor komuniti 51CTO, arkitek kanan, mempunyai pengalaman seni bina selama 20 tahun. Beliau pernah berkhidmat sebagai pakar teknikal di HP, mengambil bahagian dalam pelbagai projek pembelajaran mesin, dan menulis serta menterjemah lebih daripada 20 artikel teknikal popular tentang pembelajaran mesin, NLP, dsb. Pengarang "Prinsip dan Amalan Seni Bina Teragih".

Atas ialah kandungan terperinci Tidak tahu cara menggunakan model pembelajaran mesin? 15 gambar membawa anda ke dalam rangka kerja penggunaan TensorFlow!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam