Rumah Peranti teknologi AI Klasifikasi Imej dengan Jax, Flax, dan Optax

Klasifikasi Imej dengan Jax, Flax, dan Optax

Mar 18, 2025 am 11:50 AM

Tutorial ini menunjukkan bangunan, latihan, dan menilai rangkaian saraf konvolusi (CNN) untuk klasifikasi digit MNIST menggunakan Jax, Flax, dan Optax. Kami akan merangkumi segala -galanya dari persediaan persekitaran dan pra -proses data untuk model seni bina, pelaksanaan gelung latihan, visualisasi metrik, dan akhirnya, ramalan pada imej tersuai. Pendekatan ini menyoroti kekuatan sinergistik perpustakaan ini untuk pembelajaran mendalam yang cekap dan berskala.

Objektif Pembelajaran:

  • Menguasai integrasi Jax, Flax, dan Optax untuk pembangunan rangkaian saraf yang diselaraskan.
  • Belajar untuk preprocess dan memuatkan dataset menggunakan dataset TensorFlow (TFD).
  • Melaksanakan CNN untuk klasifikasi imej yang berkesan.
  • Visualisasikan kemajuan latihan menggunakan metrik utama (kehilangan dan ketepatan).
  • Menilai prestasi model pada imej tersuai.

Artikel ini adalah sebahagian daripada Blogathon Sains Data.

Jadual Kandungan:

  • Objektif pembelajaran
  • Jax, Flax, dan Optax Powerhouse
  • Persediaan Jax: Pemasangan dan Import
  • Data MNIST: Memuat dan Pra -proses
  • Membina CNN
  • Penilaian Model: Metrik dan Penjejakan
  • Gelung latihan
  • Pelaksanaan Latihan dan Penilaian
  • Menggambarkan prestasi
  • Meramalkan dengan gambar tersuai
  • Kesimpulan
  • Soalan yang sering ditanya

Jax, Flax, dan Optax Powerhouse:

Pembelajaran mendalam yang cekap dan berskala menuntut alat yang berkuasa untuk pengiraan, reka bentuk model, dan pengoptimuman. Jax, Flax, dan Optax secara kolektif menangani keperluan ini:

Jax: Kecemerlangan Pengkomputeran Numerik:

Jax menyediakan pengiraan berangka berprestasi tinggi dengan antara muka seperti numpy. Ciri -ciri utamanya termasuk:

  • Pembezaan Automatik (AUTOGRAD): Pengiraan kecerunan tanpa usaha untuk fungsi kompleks.
  • Kompilasi Just-in-Time (JIT): Pelaksanaan dipercepatkan pada CPU, GPU, dan TPU.
  • Vektorisasi: Pemprosesan batch mudah melalui vmap .
  • Percepatan perkakasan: Sokongan asli untuk GPU dan TPU.

Flax: Rangkaian Neural Fleksibel:

Flax, perpustakaan berasaskan JAX, menawarkan pendekatan mesra pengguna dan sangat disesuaikan untuk pembinaan rangkaian saraf:

  • Modul Negara: Parameter yang dipermudahkan dan pengurusan negeri.
  • Ringkas API: Definisi model intuitif menggunakan @nn.compact penghias.
  • Kesesuaian: Sesuai untuk pelbagai seni bina, dari mudah ke kompleks.
  • Integrasi Jax yang lancar: Menggalakkan keupayaan Jax dengan mudah.

Optax: Pengoptimuman Komprehensif:

Optax menyelaraskan pengendalian dan pengoptimuman kecerunan, menyediakan:

  • Pelbagai pengoptimum: Pelbagai pengoptimuman, termasuk SGD, Adam, dan RMSPROP.
  • Manipulasi kecerunan: alat untuk keratan, skala, dan normalisasi.
  • Reka bentuk modular: Gabungan mudah transformasi kecerunan dan pengoptimuman.

Rangka kerja gabungan ini menawarkan ekosistem yang kuat dan modular untuk pembangunan model pembelajaran mendalam yang cekap.

Klasifikasi Imej dengan Jax, Flax, dan Optax

Persediaan Jax: Pemasangan dan Import:

Pasang perpustakaan yang diperlukan:

 ! Pip pemasangan --upgrade -q pip jax jaxlib flax optax tensorflow -datasets
Salin selepas log masuk

Import perpustakaan penting:

 Import Jax
import jax.numpy sebagai jnp
dari linen import rami sebagai nn
dari flax.Raining Import Train_state
Import Optax
import numpy sebagai np
import tensorflow_datasets sebagai TFD
import matplotlib.pyplot sebagai PLT
Salin selepas log masuk

Data MNIST: Memuatkan dan memproses pra:

Kami memuatkan dan memproses dataset MNIST menggunakan TFD:

 def get_datasets ():
  ds_builder = tfds.builder ('mnist')
  ds_builder.download_and_prepare ()
  train_ds = tfds.as_numpy (ds_builder.as_dataset (split = 'kereta api', batch_size = -1))
  test_ds = tfds.as_numpy (ds_builder.as_dataset (split = 'test', batch_size = -1))
  train_ds ['image'] = jnp.float32 (train_ds ['image']) / 255.0
  test_ds ['image'] = jnp.float32 (test_ds ['image']) / 255.0
  kembali kereta api, test_ds

train_ds, test_ds = get_datasets ()
Salin selepas log masuk

Imej dinormalisasi ke julat [0, 1].

Klasifikasi Imej dengan Jax, Flax, dan Optax

Membina CNN:

Senibina CNN kami:

 Kelas CNN (NN.Module):
  @nn.compact
  def __call __ (diri, x):
    x = nn.conv (ciri = 32, kernel_size = (3, 3)) (x)
    x = nn.relu (x)
    x = nn.avg_pool (x, window_shape = (2, 2), langkah = (2, 2))
    x = nn.conv (ciri = 64, kernel_size = (3, 3)) (x)
    x = nn.relu (x)
    x = nn.avg_pool (x, window_shape = (2, 2), langkah = (2, 2))
    x = x.Reshape ((x.shape [0], -1))
    x = nn.dense (ciri = 256) (x)
    x = nn.relu (x)
    x = nn.dense (ciri = 10) (x)
    kembali x
Salin selepas log masuk

Ini termasuk lapisan konvolusi, lapisan penyatuan, lapisan rata, dan lapisan padat.

Penilaian Model: Metrik dan Penjejakan:

Kami menentukan fungsi untuk mengira kerugian dan ketepatan:

 def compute_metrics (logit, label):
  kerugian = jnp.mean (optax.softMax_cross_entropy (logit, jax.nn.one_hot (label, num_class = 10)))
  ketepatan = jnp.mean (jnp.argmax (logit, -1) == label)
  metrik = {'kehilangan': kehilangan, 'ketepatan': ketepatan}
  Metrik kembali

# ... (Fungsi Train_Step dan Eval_Step tetap sama) ...
Salin selepas log masuk

(Fungsi Train_Step dan Eval_Step akan dimasukkan di sini, sama dengan kod asal.)

Gelung latihan:

Gelung latihan berulang -ulang mengemas kini model:

 # ... (Fungsi Train_Epoch dan Eval_Model tetap sama) ...
Salin selepas log masuk

(Fungsi Train_epoch dan Eval_Model akan dimasukkan di sini, sama dengan kod asal.)

Pelaksanaan Latihan dan Penilaian:

Kami melaksanakan proses latihan dan penilaian:

 # ... (kod pelaksanaan latihan dan penilaian tetap sama) ...
Salin selepas log masuk

(Kod pelaksanaan latihan dan penilaian, termasuk inisialisasi parameter, persediaan pengoptimuman, dan gelung latihan, akan dimasukkan di sini, serupa dengan kod asal.)

Menggambarkan prestasi:

Kami memvisualisasikan metrik latihan dan ujian menggunakan matplotlib:

 # ... (kod merancang Matplotlib tetap sama) ...
Salin selepas log masuk

(Kod merancang Matplotlib untuk menggambarkan kerugian dan ketepatan akan dimasukkan di sini, sama dengan kod asal.)

Meramalkan dengan gambar tersuai:

Bahagian ini menunjukkan ramalan pada imej tersuai (kod tetap sama seperti yang asal).

 # ... (kod untuk memuat naik, memproses, dan meramalkan pada imej tersuai tetap sama) ...
Salin selepas log masuk

Kesimpulan:

Tutorial ini mempamerkan kecekapan dan fleksibiliti Jax, Flax, dan Optax untuk membina dan melatih CNN. Penggunaan pengendalian data yang dipermudahkan TFD, dan visualisasi metrik memberikan pandangan yang berharga. Keupayaan untuk menguji model pada imej tersuai menyoroti kebolehgunaan praktikalnya.

Soalan Lazim:

(Soalan Lazim kekal sama dengan yang asal.)

Pautan Colab yang disediakan akan disertakan di sini. Ingatlah untuk menggantikan /uploads/....webp dengan laluan sebenar ke imej anda.

Atas ialah kandungan terperinci Klasifikasi Imej dengan Jax, Flax, dan Optax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1671
14
Tutorial PHP
1276
29
Tutorial C#
1256
24
Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Apr 23, 2025 am 11:30 AM

Semasa bekerja pada AIS AI, pemaju sering mendapati diri mereka menavigasi perdagangan antara kelajuan, fleksibiliti, dan kecekapan sumber. Saya telah meneroka rangka kerja AI yang agentik dan menjumpai Agno (sebelum ini adalah Phi-

Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Apr 17, 2025 am 11:43 AM

Pernyataan Jadual Alter SQL: Menambah lajur secara dinamik ke pangkalan data anda Dalam pengurusan data, kebolehsuaian SQL adalah penting. Perlu menyesuaikan struktur pangkalan data anda dengan cepat? Pernyataan Jadual ALTER adalah penyelesaian anda. Butiran panduan ini menambah colu

Terbuka beralih fokus dengan GPT-4.1, mengutamakan pengekodan dan kecekapan kos Terbuka beralih fokus dengan GPT-4.1, mengutamakan pengekodan dan kecekapan kos Apr 16, 2025 am 11:37 AM

Pelepasan ini termasuk tiga model yang berbeza, GPT-4.1, GPT-4.1 Mini dan GPT-4.1 Nano, menandakan langkah ke arah pengoptimuman khusus tugas dalam landskap model bahasa yang besar. Model-model ini tidak segera menggantikan antara muka yang dihadapi pengguna seperti

Beyond the Llama Drama: 4 Benchmarks Baru Untuk Model Bahasa Besar Beyond the Llama Drama: 4 Benchmarks Baru Untuk Model Bahasa Besar Apr 14, 2025 am 11:09 AM

Penanda Aras Bermasalah: Kajian Kes Llama Pada awal April 2025, Meta melancarkan model Llama 4 suite, dengan metrik prestasi yang mengagumkan yang meletakkan mereka dengan baik terhadap pesaing seperti GPT-4O dan Claude 3.5 sonnet. Pusat ke LAUNC

Kursus Pendek Baru mengenai Model Embedding oleh Andrew Ng Kursus Pendek Baru mengenai Model Embedding oleh Andrew Ng Apr 15, 2025 am 11:32 AM

Buka kunci kekuatan model embedding: menyelam jauh ke kursus baru Andrew Ng Bayangkan masa depan di mana mesin memahami dan menjawab soalan anda dengan ketepatan yang sempurna. Ini bukan fiksyen sains; Terima kasih kepada kemajuan dalam AI, ia menjadi R

Bagaimana permainan ADHD, alat kesihatan & chatbots AI mengubah kesihatan global Bagaimana permainan ADHD, alat kesihatan & chatbots AI mengubah kesihatan global Apr 14, 2025 am 11:27 AM

Bolehkah permainan video meringankan kebimbangan, membina fokus, atau menyokong kanak -kanak dengan ADHD? Memandangkan cabaran penjagaan kesihatan melonjak di seluruh dunia - terutamanya di kalangan belia - inovator beralih kepada alat yang tidak mungkin: permainan video. Sekarang salah satu hiburan terbesar di dunia Indus

Simulasi dan analisis pelancaran roket menggunakan Rocketpy - Analytics Vidhya Simulasi dan analisis pelancaran roket menggunakan Rocketpy - Analytics Vidhya Apr 19, 2025 am 11:12 AM

Simulasi Rocket dilancarkan dengan Rocketpy: Panduan Komprehensif Artikel ini membimbing anda melalui mensimulasikan pelancaran roket kuasa tinggi menggunakan Rocketpy, perpustakaan Python yang kuat. Kami akan merangkumi segala -galanya daripada menentukan komponen roket untuk menganalisis simula

Google melancarkan strategi ejen yang paling komprehensif di Cloud Seterusnya 2025 Google melancarkan strategi ejen yang paling komprehensif di Cloud Seterusnya 2025 Apr 15, 2025 am 11:14 AM

Gemini sebagai asas strategi AI Google Gemini adalah asas kepada strategi ejen AI Google, memanfaatkan keupayaan multimodalnya untuk memproses dan menjana respons di seluruh teks, imej, audio, video dan kod. Dibangunkan oleh DeepM

See all articles