Doğrulama ve sınırlar
Gradyan kontrolü, bellek testi ve kullanım sözleşmeleri.
01Doğruluk kontrolleri#
Testler Linear/Conv referansları, merkezi sonlu fark, aktivasyonlar, normalizasyon, recurrent/attention, state_dict, SIMD ve sıcak yol ayırmalarını kapsar. Parçalı fonksiyonların kink noktaları atlanır.
02Tolerans seçimi#
Çok küçük epsilon float32 yuvarlama, büyük epsilon yaklaşım hatası oluşturur. Mutlak ve bağıl hata kullanın. Dropout’u kapatın veya maskeyi kontrol edin.
03Ayırma iddiası#
Sabit şekilli, ısıtılmış yolda çıktı başlıkları bırakıldığında allocation_count artmaması denetlenir. Bu tüm uygulamanın heap kullanmadığı anlamına gelmez; sayaç sadece AlignedStorage içindir.
04Çağıranın sorumlulukları#
Pozitif boyutlar, doğru backward şekilleri, geçerli indeksler, head divisibility ve bellek ömrü gerekir. Her kernel kapsamlı kontrol yapmaz. Tek modülde eşzamanlı forward yapmayın. Öğrenilebilir PositionalEncoding için max_len aşmayın.
05Sorun giderme#
Büyük gradyan: zero_grad ve batch ortalaması. Şekil hatası: Linear son ekseni, Conv NCHW. Yeni ayırma: eski çıktılar hâlâ canlı mı? CUDA açık ama CPU kullanılıyor: host Module bilinçli olarak CPU yolunu kullanır.