0Pricing
Learn AI with Python · Pelajaran

MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi

Arsitektur ringan, konversi TFLite, kompromi antara ukuran model dan akurasi.

MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Mengapa Model Perangkat Tepi Berbeda

Pada ponsel dan perangkat tertanam, Anda menukar sebagian akurasi dengan ukuran yang sangat kecil, latensi rendah, dan konsumsi daya rendah. MobileNet dan EfficientNet dirancang tepat untuk kebutuhan ini, dengan menggunakan blok pembangun yang efisien, bukan konvolusi padat yang berat.

Konvolusi Berdasarkan Kedalaman pada MobileNet

MobileNet mengganti konvolusi standar dengan konvolusi separabel berdasarkan kedalaman: filter spasial per kanal yang diikuti pencampuran berdasarkan titik berukuran 1x1. Cara ini mengurangi komputasi dan jumlah parameter sekitar 8–9 kali dengan sedikit kehilangan akurasi.

MobileNetV3Small

MobileNetV3Small dioptimalkan untuk perangkat seluler: bobotnya berukuran sekitar 2,5 MB, sehingga ideal ketika ruang penyimpanan dan RAM terbatas.

from tensorflow.keras.applications import MobileNetV3Small

base = MobileNetV3Small(
    weights="imagenet",
    include_top=False,
    input_shape=(224, 224, 3)
)

EfficientNetB0

EfficientNetB0 menggunakan penskalaan gabungan untuk menyeimbangkan kedalaman, lebar, dan resolusi. Model ini mencapai akurasi yang baik untuk ukurannya dan menjadi pilihan tengah yang sangat baik antara jaringan seluler yang sangat kecil dan model server yang berat.

from tensorflow.keras.applications import EfficientNetB0

base = EfficientNetB0(
    weights="imagenet",
    include_top=False,
    input_shape=(224, 224, 3)
)

Memilih di Antara Keduanya

  • MobileNetV3Small (~2,5 MB): paling kecil, paling cepat, dan akurasinya paling rendah. Terbaik untuk aplikasi seluler waktu nyata.
  • EfficientNetB0: menyeimbangkan akurasi dan ukuran. Terbaik ketika Anda dapat menggunakan sedikit lebih banyak komputasi.

Pilih berdasarkan anggaran latensi perangkat dan sasaran akurasi Anda.

Membangun Lapisan Klasifikasi Transfer

Pola pembelajaran transfernya sama: bekukan model dasar, lakukan penggabungan, lalu tambahkan lapisan klasifikasi Dense.

from tensorflow.keras import layers, Model

base.trainable = False
x = layers.GlobalAveragePooling2D()(base.output)
x = layers.Dropout(0.2)(x)
out = layers.Dense(num_classes, activation="softmax")(x)
model = Model(base.input, out)

Apa Itu TensorFlow Lite?

TensorFlow Lite adalah lingkungan eksekusi untuk inferensi langsung di perangkat. Anda mengonversi model Keras yang telah dilatih menjadi flatbuffer .tflite yang ringkas dan berjalan secara efisien pada CPU, GPU, dan NPU seluler.

Konversi TensorFlow Lite

Gunakan TFLiteConverter untuk mengonversi model yang telah disimpan.

import tensorflow as tf

converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

with open("model.tflite", "wb") as f:
    f.write(tflite_model)

Kuantisasi Memperkecil Ukuran Lebih Lanjut

Kuantisasi setelah pelatihan menyimpan bobot dalam int8, bukan float32, sehingga ukuran berkurang sekitar 4 kali dan inferensi pada perangkat keras seluler menjadi lebih cepat, dengan kehilangan akurasi yang minimal.

converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_quant = converter.convert()

Tolok Ukur Latensi

Pada perangkat keras seluler umum, MobileNetV3Small sering berjalan dalam satu digit hingga belasan milidetik per gambar, sehingga nyaman digunakan secara waktu nyata. EfficientNetB0 lebih berat dan lebih lambat, tetapi lebih akurat.

Selalu lakukan pengukuran pada perangkat target yang sebenarnya; waktu pengukuran emulator tidak dapat diandalkan. Gunakan TFLite Benchmark Tool atau ukur waktu invoke() pada Interpreter.

Menjalankan Inferensi TensorFlow Lite

Muat model dengan Interpreter, tetapkan tensor masukan, panggil invoke, lalu baca keluarannya.

interpreter = tf.lite.Interpreter(model_path="model.tflite")
interpreter.allocate_tensors()
inp = interpreter.get_input_details()[0]
out = interpreter.get_output_details()[0]
interpreter.set_tensor(inp["index"], image)
interpreter.invoke()
print(interpreter.get_tensor(out["index"]))

Pemeriksaan Singkat

Uji pengetahuan Anda tentang penerapan pada perangkat tepi.

Rangkuman

Anda telah membandingkan MobileNetV3Small (~2,5 MB, paling cepat) dan EfficientNetB0 (seimbang) untuk penggunaan pada perangkat tepi, membangun lapisan klasifikasi transfer pada keduanya, mengonversinya ke TensorFlow Lite, menerapkan kuantisasi int8, dan mengukur latensi pada perangkat keras nyata. Dengan demikian, kursus Pembelajaran Transfer selesai. Kursus berikutnya: Analisis Deret Waktu.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi” gratis?

Ya — teks lengkap “MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi”?

Arsitektur ringan, konversi TFLite, kompromi antara ukuran model dan akurasi. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konsep dan Strategi Pembelajaran Transfer
  2. Menggunakan VGG16 dan ResNet50 sebagai Model Dasar
  3. Penyetelan Halus: Membuka Pembekuan dan Melatih Ulang
  4. MobileNet dan EfficientNet untuk Penerapan di Perangkat Tepi
← Kembali ke Learn AI with Python