Sigmora
Workflows

Jaringan saraf dari nol di Python, langkah demi langkah

03
Debug pelatihan

Debug skrip pelatihan yang gagal

File Python Anda seharusnya melatih jaringan kecil, tetapi berhenti dengan error atau mencetak angka aneh. Sigmora membuka file, menemukan baris yang relevan, menjalankan perintah pelatihan dengan Shell dan menampilkan output asli dalam kartu, agar Anda melihat apa yang sebenarnya terjadi, bukan sekadar menebak. Mulai dengan satu file. Agen tidak melatih apa pun sendiri, karena kode Anda yang melakukannya, dan prosesnya bisa memakan waktu berapa pun. Siklusnya pendek: baca, jalankan, bandingkan, ubah. Anda memilih folder, memilih mode dan memutuskan perubahan mana yang diterima. Gunakan hanya kode, data dan komputer yang Anda miliki atau boleh gunakan, dan pastikan setiap eksperimen cukup kecil agar mudah diulang.

01

Buka folder

Pilih folder kerja yang berisi skrip pelatihan, file konfigurasi dan log Anda. Alat file bekerja di folder tersebut, dan list_dir menampilkan isi folder. Simpan data yang boleh Anda gunakan di tempat yang sama, agar setiap path dalam skrip tetap pendek. Alat file menggunakan folder ini.

02

Minta baca

Minta Sigmora untuk membaca skrip pelatihan dan menjelaskan lapisan, loss dan loop. read_file dan grep mengutip baris yang dimaksud, sehingga Anda dapat memeriksa penjelasan tersebut terhadap kode Anda sendiri. Mode Plan only tidak mengubah apa pun. Tanyakan lagi jika blok tertentu masih belum jelas.

03

Jalankan perintah

Sebutkan perintah pelatihan Anda dan pilih mode. Shell menjalankannya di Windows, di WSL atau melalui SSH di server Anda sendiri, dan kartu menampilkan output asli serta kode keluar. Python harus terinstal di lingkungan tempat perintah dijalankan. Pelatihan bisa memakan waktu lama di perangkat keras Anda.

04

Periksa hasilnya

Buka kartu dan baca error yang dicetak atau nilai loss. Kode keluar nol hanya berarti skrip berakhir tanpa error, jadi Anda perlu menilai angka itu sendiri pada data validasi yang belum pernah dilihat model, lalu catat apa yang Anda lihat. Setelah itu, putuskan perubahan kecil berikutnya.

Contoh: satu neuron belajar gerbang AND di Python murni

perceptron_and.py
# AND gate: one neuron (perceptron) learns the table
rows = [((0,0),0), ((0,1),0), ((1,0),0), ((1,1),1)]
w = [0.0, 0.0]
b = 0.0
rate = 0.1
for epoch in range(20):
    for x, target in rows:
        total = w[0] * x[0] + w[1] * x[1] + b
        out = 1 if total > 0 else 0
        err = target - out
        w[0] += rate * err * x[0]
        w[1] += rate * err * x[1]
        b += rate * err
print("weights:", w, "bias:", b)

File ini melatih satu neuron untuk belajar gerbang AND dengan learning rate dan loop pendek pembaruan bobot, lalu mencetak bobot dan bias. Menggunakan Python murni, tanpa pustaka dan tanpa angka acak, sehingga setiap eksekusi menghasilkan hasil yang sama. Jalankan dengan Shell, ubah jumlah epoch dan jalankan lagi untuk melihat perubahan pada bobot yang dicetak.

Panduan: melacak eksperimen jaringan saraf konvolusional Python

Baca kode pelatihan

Sebelum mengubah apa pun, Sigmora membaca. read_file membuka skrip pelatihan Anda, list_dir menampilkan folder data dan grep menemukan baris yang mendefinisikan lapisan, loss dan loop. Anda melihat teks file dalam kartu, sehingga dapat membandingkan ukuran lapisan dengan shape data Anda. Agen tidak mengubah apa pun pada tahap ini. Model jaringan saraf untuk gerbang logika, seperti file AND di atas, adalah latihan pertama yang klasik, dan langkah membaca ini juga cocok untuk jaringan saraf dari nol di Python yang Anda tulis bulan lalu namun sudah lupa detailnya. Tanyakan blok apa pun dengan bahasa sederhana, atau beralih ke Plan only jika Anda ingin penjelasan tertulis tanpa tindakan. Baca setiap penjelasan di samping kode dan pastikan sesuai dengan apa yang Anda tulis.

Jalankan perintah pelatihan

Pilih Auto-run untuk menjalankan apa yang Anda percayai, atau Ask first jika ingin menyetujui tindakan yang mengubah sesuatu. Shell memulai perintah pelatihan Anda, misalnya python perceptron_and.py, di lingkungan yang Anda pilih, dan kartu menampilkan output asli serta kode keluar. Buka kartu untuk membaca log lengkap skrip jaringan saraf konvolusional Python Anda baris demi baris. Pelatihan bisa memakan waktu berapa pun, dan Sigmora tidak mempercepatnya. Ketika loss tidak konvergen dalam jaringan saraf, log adalah tempat Anda melihatnya pertama kali. Perhatikan angka-angkanya, bukan hanya kode keluar, karena kode keluar nol hanya berarti skrip selesai dijalankan. Kemudian putuskan apakah kode perlu diubah, dan minta diff hanya jika memang diperlukan.

Perbaiki error shape atau loss lambat

edit_file mengubah skrip dan menampilkan diff. Dalam mode Ask first, tidak ada yang ditulis sampai Anda menerima diff, sedangkan Auto-run menerapkan perubahan sekaligus. Error shape biasanya berarti data dan lapisan pertama tidak cocok, sehingga perbaikannya sering kali hanya mengubah satu angka. Loss yang hampir tidak bergerak mungkin mengindikasikan masalah pada learning rate, label yang tidak sesuai dengan data, atau model yang belum mampu overfit pada batch kecil. Coba batch kecil itu terlebih dahulu. Overfitting dan underfitting adalah masalah berbeda, jadi periksa training loss dan validation loss sebelum mengubah hal besar. Membangun jaringan saraf untuk catur adalah proyek lebih besar, namun dimulai dengan cara yang sama. Setelah edit, jalankan perintah lagi dengan Shell dan bandingkan angka baru dengan yang lama.

Log hasil ke file CSV

Untuk membandingkan hasil, Anda membutuhkan angka dalam file. write_file membuat file CSV di folder kerja Anda, append_file menambahkan satu baris per epoch, dan read_file memuatnya kembali agar agen dapat membandingkan 2 runs secara berdampingan. Sigmora tidak menganalisis data untuk Anda; ia menyimpan angka dan menampilkannya, lalu Anda yang memutuskan artinya. Pisahkan validation data dari training data dan biarkan test set tetap tidak tersentuh sampai akhir. Mode Plan only dapat menulis eksperimen berikutnya sebagai rencana tanpa menjalankan apa pun. Ketika Anda siap, ubah mode dan biarkan agen melaksanakannya. Sebelum menyimpan hasil, buka file CSV dan periksa apakah baris cocok dengan apa yang dicetak kartu serta apakah setiap kolom sudah diberi label.

Sigmora untuk Windows

Coba workflow pada proyek Anda sendiri

Unduh Sigmora ↗