Model konteynerleri
Sequential, koleksiyonlar ve artık bağlantılar.
01Sequential#
Sequential(vector<shared_ptr<Module>>) ileri sırada forward, ters sırada backward uygular. add katman ekler. Ara aktivasyonları ayrıca saklamaz. Boş Sequential girdiyi geçirir.
02ModuleList / ModuleDict#
Kayıtlı koleksiyonlardır; kendi forward/backward metotları ModelError atar. ModuleList indeks veya at(index); ModuleDict isimle erişim verir. Akışı kullanıcı kurar; parametre dolaşımı ve train/eval yine çalışır.
ModuleDict heads;heads.add("classify", std::make_shared<Linear>(64,10));auto x=Tensor::zeros({4,64});auto y=heads["classify"]->forward(x);03ResidualBlock#
ResidualBlock(shared_ptr<Module>) y=F(x)+x hesaplar. Şekiller eşleşmelidir, otomatik projeksiyon yoktur. Kimlik dalı türevi doğrudan gradyana eklenir.
04Flatten / Reshape#
Flatten rank≥2 girdiyi [N,kalan] şekline getirir ve mevcut uygulamada memcpy yapar. Başlık yorumuna rağmen sıfır kopya değildir. Reshape({somut boyutlar}) ileri geçişte görünüm, geri geçişte eski şekle kopya üretir.