🔥 PyTorch bilan chuqur o'rganish
Tenzorlardan konvolyutsion tarmoqlargacha - 20 bosqichli amaliy qo'llanma
Darslik haqida
«Neyron tarmoqlar noldan» darsligida siz backpropagationni qo'lingiz bilan yozdingiz. Endi uni haqiqiy vositalar bilan qanday qilishni ko'ramiz. PyTorch - tadqiqotchilar ham, ishlab chiqarish ham foydalanadigan chuqur o'rganish kutubxonasi: tenzorlar, avtomatik differensiallash, nn.Module, optimizatorlar, Dataset va DataLoader, GPU, modelni saqlash, konvolyutsion tarmoqlar, ma'lumotni kengaytirish, tayyor modeldan foydalanish (transfer learning) va ishlab chiqarishga chiqarish. Barcha misollar haqiqiy PyTorch da ishga tushirilgan va natijalari shu yerda keltirilgan - hech narsa taxmin qilinmagan. Yakunida siz o'z ma'lumotingizda ishlaydigan rasm klassifikatorini o'qitasiz va uni saqlab, boshqa dasturdan ishlatasiz.
Darslik mundarijasi
- 1 PyTorch nima va u qayerdan paydo bo'ldi Framework nima uchun kerak, PyTorch kim tomonidan va qanday sharoitda yaratilgani, dinamik graf g'oyasi va boshqa vosita... 6 daq.
- 2 Muhitni sozlash va birinchi tenzor Virtual muhit yaratish, PyTorch ni o'rnatish, o'rnatishni tekshirish va birinchi tenzor bilan tanishish. 9 daq.
- 3 Tenzor amallari va shakl Arifmetika, matritsa ko'paytmasi, reshape va view farqi, o'lchov qo'shish hamda broadcasting qoidalari. 9 daq.
- 4 Autograd - avtomatik hosila requires_grad, backward(), gradientlarning to'planishi, zero_grad() nima uchun kerakligi va no_grad rejimi. 10 daq.
- 5 nn.Module bilan birinchi model Linear qatlam, nn.Module dan meros olish, forward() metodi, parametrlarni sanash va Sequential bilan qisqa yozuv. 8 daq.
- 6 Yo'qotish funksiyasi va optimizator MSE, MAE va CrossEntropy, optimizatorning uch qadami, SGD bilan Adam farqi va o'rganish tezligini tanlash. 9 daq.
- 7 Dataset va DataLoader TensorDataset, o'z Dataset sinfingiz, DataLoader bilan paketlash, aralashtirish, drop_last va ma'lumotni bo'lish. 9 daq.
- 8 To'liq o'quv sikli train() va eval() rejimlari, davr tushunchasi, validatsiya bilan baholash va o'qish jarayonini kuzatish. 7 daq.
- 9 Qurilma va tezlik CPU va GPU, device-agnostik kod yozish, .to() bilan ko'chirish, oqimlar soni va float32 ning ahamiyati. 9 daq.
- 10 Modelni saqlash va yuklash state_dict, torch.save va torch.load, nazorat nuqtasi (checkpoint), eval() ni unutmaslik va tez-tez uchraydigan xatolar. 8 daq.
- 11 Ortiqcha moslashish Overfitting va underfitting, o'quv va validatsiya egri chiziqlari, yodlash belgilari va muammoni qanday aniqlash. 6 daq.
- 12 Regularizatsiya usullari Dropout, weight decay, erta to'xtatish, modelni kichraytirish va ko'proq ma'lumot - beshta usul o'lchab solishtiriladi. 8 daq.
- 13 Konvolyutsion tarmoqlar Conv2d, filtrlar, padding va stride, MaxPool2d, shakl hisobi va CNN ning zich tarmoqdan afzalligi. 10 daq.
- 14 Rasmlarni tasniflash Fashion-MNIST to'plami, torchvision datasets, zich tarmoq va CNN ni haqiqiy ma'lumotda solishtirish, sinflar bo'yicha ta... 8 daq.
- 15 Normallash va ma'lumotni kengaytirish transforms.Compose, Normalize, RandomHorizontalFlip va RandomAffine, kengaytirishning haqiqiy ta'siri o'lchanadi. 8 daq.
- 16 Tayyor modellar va transfer learning torchvision.models, ImageNet og'irliklari, backbone ni muzlatish, xususiyat ajratish va fine-tuning o'rtasidagi farq. 7 daq.
- 17 Matn bilan ishlash Tokenizatsiya, lug'at qurish, padding, nn.Embedding, padding_idx va niqob (mask) bilan o'rtacha olish. 9 daq.
- 18 Baholash va xato tahlili Nomutanosib sinflar, precision va recall, F1, chalkashlik matritsasi, chegarani sozlash va model ishonchini tekshirish. 9 daq.
- 19 Ishlab chiqarishga tayyorlash Bashorat funksiyasi, no_grad va eval, paketlash bilan tezlik, torch.export va modelni xizmat sifatida ishlatish. 8 daq.
- 20 Yakuniy loyiha Barcha bo'limlarni bitta quvurda birlashtirish - BatchNorm, Dropout, AdamW, kengaytirish, lr rejalashtiruvchi va erta to... 10 daq.