Sigmora
İş akışları

Python ile adım adım sıfırdan sinir ağı

03
Eğitim hata ayıklama

Hata veren bir eğitim betiğini hata ayıkla

Python dosyanız küçük bir ağ eğitmeli, ancak bir hatayla duruyor veya garip sayılar yazdırıyor. Sigmora dosyayı açar, önemli satırları bulur, eğitim komutunuzu Shell ile çalıştırır ve gerçek çıktıyı bir kartta gösterir; böylece tahmin yerine ne olduğunu görürsünüz. Tek bir dosyayla başlayın. Aracı kendi başına bir şey eğitmez, çünkü bunu sizin kodunuz yapar ve bu ne kadar sürerse o kadar sürer. Döngü kısadır: oku, çalıştır, karşılaştır, değiştir. Klasörü siz seçersiniz, modu siz seçersiniz ve hangi değişikliği kabul edeceğinize siz karar verirsiniz. Sadece sahip olduğunuz veya kullanma izniniz olan kodu, veriyi ve bilgisayarları kullanın ve her deneyi tekrar edebilecek kadar küçük tutun.

01

Klasörü aç

Eğitim betiğinizi, yapılandırma dosyanızı ve günlüklerinizi barındıran çalışma klasörünü seçin. Dosya araçları bu klasörde çalışır ve list_dir içeriğini gösterir. Kullanma izniniz olan verileri aynı yere koyun, böylece betiğinizdeki her yol kısa kalsın. Dosya araçları bu klasörü kullanır.

02

Okuma iste

Sigmora'dan eğitim betiğini okumasını ve katmanları, kaybı ve döngüyü açıklamalarını iste. read_file ve grep, anlamlandırdığı satırları alıntılar, böylece açıklamayı kendi kodunuzla kontrol edebilirsiniz. Plan only modu hiçbir şeyi değiştirmez. Bir blok hala belirsizse tekrar sor.

03

Komutu çalıştır

Eğitim komutunuzu yazın ve bir mod seçin. Shell, Windows'ta, WSL'de veya kendi sunucunuzda SSH üzerinden çalıştırır ve kart gerçek çıktıyı ve çıkış kodunu gösterir. Komutun çalıştığı yerde Python yüklü olmalıdır. Donanımınızda eğitim uzun sürebilir.

04

Sonucu kontrol et

Kartı genişlet ve yazdırılan hatayı veya kayıp değerlerini oku. Sıfır çıkış kodu sadece betiğin hatasız bittiğini gösterir, bu yüzden sayıları kendin değerlendir; doğrulama verisi üzerinde modelin görmediği verilerde ve ne gördüğünü yaz. Ardından bir sonraki küçük değişikliğe karar ver.

Örnek: tek nöron, düz Python ile VE kapısını öğrenir

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)

Bu dosya, bir öğrenme oranı ve kısa ağırlık güncelleme döngüsüyle tek bir nöronun VE kapısını öğrenmesini sağlar, ardından ağırlıkları ve bias'ı yazdırır. Düz Python kullanır, kütüphane ve rastgele sayı yoktur, bu yüzden her çalıştırma aynı sonucu verir. Shell ile çalıştır, epoch sayısını değiştir ve tekrar çalıştır; yazdırılan ağırlıklarda ne değiştiğini gör.

İzleme: bir evrişimli sinir ağı Python deneyini takip et

Eğitim kodunu oku

Hiçbir şey değiştirilmeden önce Sigmora okur. read_file eğitim betiğini açar, list_dir veri klasörünü gösterir ve grep katmanları, kaybı ve döngüyü tanımlayan satırları bulur. Kartta dosya metnini görürsünüz, böylece katman boyutlarını verinizin şekliyle karşılaştırabilirsiniz. Aracı bu aşamada hiçbir şeyi değiştirmez. VE dosyası gibi mantık kapıları için sinir ağı modelleri klasik ilk egzersizdir ve geçen ay yazdığınız ve artık hatırlamadığınız Python ile sıfırdan bir sinir ağı için de aynı okuma adımı uygundur. Herhangi bir bloktan düz kelimelerle soru sor veya yazılı bir açıklama ve eylem istemiyorsan Plan only moduna geç. Her açıklamayı kodun yanında oku ve yazdığın şeylerle eşleştiğinden emin ol.

Eğitim komutunu çalıştır

Güvendiğin bir çalıştırma için Auto-run'u seç veya bir şeyleri değiştiren eylemleri onaylamak istiyorsan Ask first'i seç. Shell, seçtiğin ortamda eğitim komutunu başlatır, örneğin python perceptron_and.py, ve kart gerçek çıktıyı ve çıkış kodunu gösterir. Kartı genişlet ve evrişimli sinir ağı Python betiğinin tam günlük kaydını satır satır oku. Eğitim ne kadar sürerse o kadar sürer ve Sigmora onu hızlandırmaz. Bir sinir ağında kayıp yakınsamıyorsa, bunu ilk olarak log'da görürsün. Sadece çıkış koduna değil, sayılara bak; çünkü sıfır çıkış kodu sadece betiğin bittiğini gösterir. Ardından kodun bir değişikliğe ihtiyacı olup olmadığına karar ver ve sadece gerekirse diff'i iste.

Şekil hatasını veya yavaş kaybı düzelt

edit_file betiği değiştirir ve bir diff gösterir. Ask first modunda diff'i kabul edene kadar hiçbir şey yazılmaz, Auto-run değişikliği hemen uygular. Bir şekil hatası genellikle verinin ve ilk katmanın eşleşmediğini gösterir, bu yüzden düzeltme genellikle tek bir sayıdır. Az hareket eden bir kayıp, öğrenme oranına, verilerle eşleşmeyen etiketlere veya henüz küçük bir batch üzerinde overfit yapamayan bir modele işaret edebilir. Önce bu küçük batch'i dene. Overfit ve underfit farklı sorunlardır, bu yüzden büyük bir şey değiştirmeden önce eğitim ve doğrulama kayıplarına bak. Satranç için sinir ağı yapmak daha büyük bir projedir, ancak aynı şekilde başlar. Düzenlemeden sonra komutu Shell ile tekrar çalıştır ve yeni sayıları eskilerle karşılaştır.

Sonuçları bir CSV dosyasına logla

Çalıştırmaları karşılaştırmak için sayıların bir dosyada olması gerekir. write_file çalışma klasöründe bir CSV dosyası oluşturur veya append_file her epoch için bir satır ekler ve read_file dosyayı tekrar yükler böylece aracı 2 çalıştırmayı yan yana koyabilir. Sigmora verileri senin için analiz etmez; sayıları kaydeder ve gösterir, ne anlama geldiklerine sen karar verirsin. Doğrulama verisini eğitim verisinden ayrı tut ve test setini sona kadar dokunma. Plan only modu, hiçbir şey çalıştırmadan bir sonraki deneyi bir plan olarak yazabilir. Hazır olduğunda modu değiştir ve aracının bunu gerçekleştirmesine izin ver. Bir sonucu kaydetmeden önce CSV dosyasını aç ve satırların kartta yazdırılanlarla eşleştiğinden ve her sütunun etiketlendiğinden emin ol.

Windows için Sigmora

Kendi projende iş akışını dene

Sigmora'yı İndir ↗