?? UKRAINA DISERANG TENTARA RUSIA. WARGA SIPIL TERBUNUH. DAERAH PERUMAHAN DIBOM.
- Bantu Ukraina melalui:
- Yayasan Amal Serhiy Prytula
- Yayasan Amal Come Back Alive
- Bank Nasional Ukraina
- Info lebih lanjut tentang war.ukraine.ua dan MFA Ukraina
Ini adalah kumpulan eksperimen pembelajaran mesin interaktif. Setiap eksperimen terdiri dari ?️ Notebook Jupyter/Colab (untuk melihat bagaimana model dilatih) dan ? halaman demo (untuk melihat model beraksi langsung di browser Anda).
Anda mungkin juga tertarik dengan GPT buatan sendiri • JS
️ Repositori ini berisi eksperimen pembelajaran mesin dan bukan kode dan model yang siap produksi, dapat digunakan kembali, dioptimalkan, dan disempurnakan. Ini lebih merupakan kotak pasir atau taman bermain untuk mempelajari dan mencoba berbagai pendekatan pembelajaran mesin, algoritme, dan kumpulan data. Model mungkin tidak berperforma baik dan ada tempat untuk overfitting/underfitting.
Sebagian besar model dalam eksperimen ini dilatih menggunakan TensorFlow 2 dengan dukungan Keras.
Pembelajaran yang diawasi adalah ketika Anda memiliki variabel masukan X
dan variabel keluaran Y
dan Anda menggunakan algoritma untuk mempelajari fungsi pemetaan dari masukan ke keluaran: Y = f(X)
. Tujuannya adalah untuk memperkirakan fungsi pemetaan dengan baik sehingga ketika Anda memiliki data masukan baru X
, Anda dapat memprediksi variabel keluaran Y
untuk data tersebut. Disebut pembelajaran terawasi karena proses pembelajaran algoritma dari dataset pelatihan dapat diibaratkan sebagai guru yang mengawasi proses pembelajaran.
Perceptron multilayer (MLP) adalah kelas jaringan syaraf tiruan feedforward (JST). Perceptron multilayer kadang-kadang disebut sebagai jaringan saraf "vanilla" (terdiri dari beberapa lapisan perceptron), terutama jika mereka memiliki satu lapisan tersembunyi. Dapat membedakan data yang tidak dapat dipisahkan secara linier.
Percobaan | Demo & pelatihan model | Tag | Kumpulan data | |
---|---|---|---|---|
Pengenalan Digit Tulisan Tangan (MLP) | MLP | MNIST | ||
Pengenalan Sketsa Tulisan Tangan (MLP) | MLP | Gambar Cepat |
Jaringan saraf konvolusional (CNN, atau ConvNet) adalah kelas jaringan saraf dalam, yang paling umum diterapkan untuk menganalisis citra visual (foto, video). Mereka digunakan untuk mendeteksi dan mengklasifikasikan objek pada foto dan video, transfer gaya, pengenalan wajah, estimasi pose, dll.
Percobaan | Demo & pelatihan model | Tag | Kumpulan data | |
---|---|---|---|---|
Pengenalan Digit Tulisan Tangan (CNN) | CNN | MNIST | ||
Pengenalan Sketsa Tulisan Tangan (CNN) | CNN | Gambar Cepat | ||
Gunting Kertas Batu (CNN) | CNN | RPS | ||
Gunting Kertas Batu (MobilenetV2) | MobileNetV2 , Transfer learning , CNN | RPS, ImageNet | ||
Deteksi Objek (MobileNetV2) | MobileNetV2 , SSDLite , CNN | KELAPA | ||
Klasifikasi Gambar (MobileNetV2) | MobileNetV2 , CNN | GambarNet |
Jaringan saraf berulang (RNN) adalah kelas jaringan saraf dalam, paling umum diterapkan pada data berbasis urutan seperti ucapan, suara, teks, atau musik. Mereka digunakan untuk terjemahan mesin, pengenalan suara, sintesis suara, dll.
Percobaan | Demo & pelatihan model | Tag | Kumpulan data | |
---|---|---|---|---|
Penjumlahan Angka (RNN) | LSTM , Sequence-to-sequence | Dibuat secara otomatis | ||
Pembuatan Teks Shakespeare (RNN) | LSTM , Character-based RNN | Shakespeare | ||
Pembuatan Teks Wikipedia (RNN) | LSTM , Character-based RNN | Wikipedia | ||
Pembuatan Resep (RNN) | LSTM , Character-based RNN | Kotak resep |
Pembelajaran tanpa pengawasan adalah ketika Anda hanya memiliki data masukan X
dan tidak ada variabel keluaran yang sesuai. Tujuan dari pembelajaran tanpa pengawasan adalah untuk memodelkan struktur atau distribusi yang mendasari data untuk mempelajari lebih lanjut tentang data tersebut. Ini disebut pembelajaran tanpa pengawasan karena tidak seperti pembelajaran yang diawasi di atas, tidak ada jawaban yang benar dan tidak ada guru. Algoritma dibiarkan sendiri untuk menemukan dan menyajikan struktur menarik dalam data.
Jaringan permusuhan generatif (GAN) adalah kelas kerangka pembelajaran mesin di mana dua jaringan saraf saling bersaing dalam sebuah permainan. Dua model dilatih secara bersamaan melalui proses yang berlawanan. Misalnya seorang generator (“seniman”) belajar menciptakan gambar-gambar yang tampak nyata, sementara seorang diskriminator (“kritikus seni”) belajar membedakan gambar-gambar nyata dan palsu.
Percobaan | Demo & pelatihan model | Tag | Kumpulan data | |
---|---|---|---|---|
Generasi Pakaian (DCGAN) | DCGAN | MNIST Mode |
# Create "experiments" environment (from the project root folder).
python3 -m venv .virtualenvs/experiments
# Activate environment.
source .virtualenvs/experiments/bin/activate
# or if you use Fish...
source .virtualenvs/experiments/bin/activate.fish
Untuk keluar dari lingkungan, jalankan deactivate
.
# Upgrade pip and setuptools to the latest versions.
pip install --upgrade pip setuptools
# Install packages
pip install -r requirements.txt
Untuk menginstal paket baru, jalankan pip install package-name
. Untuk menambahkan paket baru ke persyaratan, jalankan pip freeze > requirements.txt
.
Untuk bermain-main dengan notebook Jupyter dan melihat bagaimana model dilatih, Anda perlu meluncurkan server Notebook Jupyter.
# Launch Jupyter server.
jupyter notebook
Jupyter akan tersedia secara lokal di http://localhost:8888/
. Buku catatan berisi eksperimen dapat ditemukan di folder experiments
.
Aplikasi demo dibuat di React melalui create-react-app.
# Switch to demos folder from project root.
cd demos
# Install all dependencies.
yarn install
# Start demo server on http.
yarn start
# Or start demo server on https (for camera access in browser to work on localhost).
yarn start-https
Demo akan tersedia secara lokal di http://localhost:3000/
atau di https://localhost:3000/
.
Lingkungan converter
digunakan untuk mengonversi model yang dilatih selama percobaan dari format .h5
Keras ke format yang dapat dimengerti Javascript (format tfjs_layers_model
atau tfjs_graph_model
dengan file .json
dan .bin
) untuk penggunaan lebih lanjut dengan TensorFlow.js dalam aplikasi Demo.
# Create "converter" environment (from the project root folder).
python3 -m venv .virtualenvs/converter
# Activate "converter" environment.
source .virtualenvs/converter/bin/activate
# or if you use Fish...
source .virtualenvs/converter/bin/activate.fish
# Install converter requirements.
pip install -r requirements.converter.txt
Konversi model keras
ke format tfjs_layers_model
/ tfjs_graph_model
dilakukan oleh tfjs-converter:
Misalnya:
tensorflowjs_converter --input_format keras
./experiments/digits_recognition_mlp/digits_recognition_mlp.h5
./demos/public/models/digits_recognition_mlp
️ Mengonversi model ke format JS yang dapat dimengerti dan memuatnya ke browser secara langsung mungkin bukan praktik yang baik karena dalam kasus ini pengguna mungkin perlu memuat puluhan atau ratusan megabyte data ke browser yang tidak efisien. Biasanya model disajikan dari back-end (yaitu TensorFlow Extended) dan alih-alih memuat semuanya ke browser, pengguna akan melakukan permintaan HTTP ringan untuk melakukan prediksi. Namun karena Aplikasi Demo hanyalah sebuah eksperimen dan bukan aplikasi siap produksi dan demi kesederhanaan (untuk menghindari back-end yang aktif dan berjalan) kami mengonversi model ke format JS yang dapat dimengerti dan memuatnya langsung ke dalam peramban.
Versi yang direkomendasikan:
> 3.7.3
.>= 12.4.0
.>= 1.13.0
. Jika Anda memiliki Python versi 3.7.3
Anda mungkin mengalami RuntimeError: dictionary changed size during iteration
kesalahan saat mencoba import tensorflow
(lihat masalahnya).