Ma’ruza rejasi Keras kutubxonasi


Download 30.63 Kb.
Pdf ko'rish
Sana15.10.2023
Hajmi30.63 Kb.
#1703810


Ma’ruza rejasi 
Keras kutubxonasi 
Kerasda neyron tarmoq qurish 
Kerasning asosiy tushunchalari 
◦ Sequential
◦ Convolution (Conv1D, Conv2D)
◦ Dense ◦ Activation
◦ Dropout
Tensorflow arxitekturasi 
Python muhitida virtual environment yaratish 
Keras nima? 
Keras – bu Python-da yozilgan, Theano yoki Tensorflow-ning asosiga qurilgan 
Ochiq Kodli netron tarmoq kutubxonasidir. U modulli, tezkor va ishlatish uchun 
qulay holatda Google kompaniyasi muhandisi Fransua Cholet ishlab chiqqan. 
Keras – bu hisob-kitoblarni amalga oshirish uchun TensorFlow, CNTK yoki 
Theano “Backend” kutubxonalaridan foydalanadigan, yuqori darajada ishlaydigan 
API(application programming interface)dir. 
Keras nima? 
Kerasning ishlab chiqilishiga asosiy sabab shuki – ungacha boshqa neyron 
tarmoqlari kutubxonalaridan foydalanish noqulayroq bo`lgan ya’ni sintaksisi 
qiyinroq bo`lgan. Keras yuqori-darajali API modellarni yaratish, qatlamlarni 
15-Ma'ruza. Chuqur o’qitish (Deep learning) da Python 
keras va tensorflow kutubxonalaridan
foydalanish


belgilash yoki bir nechta kirish-chiqish modellarini boshqarish imkonini beradi. 
Keras modelni yo`qotish (Loss function) va optimizatsiya (Optimization function) 
funksiyasi bilan kompilyatsiya qiladi, va modelni o`qitishni fit funksiyasi orqali 
amalga oshiradi. 
Kerasda neyron tarmoq qurish 
Keras neyron tarmoq modelini juda tez tayyorlash imkonini beradi. Bir necha 
qatorli oddiy tarmoq modelini yaratish uchun, Keras bu borada yordam berishi 
mumkin. Quyidagi misolga qarang:
Kerasda neyron tarmoq qurish (Input) 
model = Sequential()
model.add(Dense(512, input_shape=(784,)))
model.add(Activation('relu'))
model.add(Dropout(0.2)) 


Kerasda neyron tarmoq qurish (Hidden) 
model = Sequential() 
model.add(Dense(512, input_shape=(784,)))
model.add(Activation('relu')) 
model.add(Dropout(0.2))
model.add(Dense(512))
model.add(Activation('relu')) 
model.add(Dropout(0.2)) 
Kerasda neyron tarmoq qurish (Output) 
model = Sequential()
model.add(Dense(512, input_shape=(784,)))
model.add(Activation('relu'))
model.add(Dropout(0.2))


model.add(Dense(512)) 
model.add(Activation('relu'))
model.add(Dropout(0.2)) 
model.add(Dense(10))
model.add(Activation('softmax')) 
Kerasning asosiy tushunchalari 
Kerasdagi asosiy struktura bu model. Modellar bir qancha qatlamlardan tashkil 
topishi mumkin. Kerasda qatlamlarning bir nechta turi mavjud.
◦ Ketma-ket tartibli(Sequential) model
◦ Konvolyutsion qatlam
◦ MaxPooling qatlam
◦ Zich (Dense) qatlam 
◦ Dropout qatlam 


Ketma-ket tartibli (Sequential) model 
Ketma-ket tartibli modelning asosiy g'oyasi shunchaki Keras qatlamlarini ketma-
ket tartibda joylashtirishdir. Ya`ni qatlamlar turgan tartibi bo`yicha ishga 
tushiriladi 
Konvolyutsion qatlam 
Konvolyutsion qatlam –bu massivlar ustida bir nechta filtrlardan foydalangan 
holda ulardan turli xil xususiyatlarni ajratib olish uchun qo`llaniladigan qatlamdir 
Konvolyutsion qatlam 
ReLU-ni faollashtirish funktsiyasidan foydalanadigan va kirish shakli(input shape) 
320x320x3 bo'lgan 48 ta 3x3 o'lchamdagi filtri bo`lgan konvolyutsion qatlam. 
input_shape=(320,320,3) #this is the input shape of an image 320x320x3
model.add(Conv2D(48, (3, 3), activation='relu', input_shape= input_shape))
Konvolyutsion qatlamning boshqacha ko`rinishi: 
model.add(Conv2D(48, (3, 3), activation='relu')) 
MaxPooling qatlam 


Maxpooling - bu har bir filterdan o`tkazilayotkan qiymatlardan eng kattasini 
olishdir. Odatda maxpooling qanadaydir massivda qo`llanilganda natijaviy 
massivning o`lchami kichkinaroq bo`ladi. 
(2,2) filterga ega bo`lgan maxpooling qatlami
model.add(MaxPooling2D(pool_size=(2, 2))) 
Zich (Dense) qatlam 
Boshqacha qilib aytganda, zich qatlam bir-biriga to'liq bog'langan qatlamdir, ya'ni 
qatlamdagi barcha neyronlar keyingi qatlam bilan bog'langan va bu qatlamdan juda 
ko`p foydalaniladi. 
256 ta chiqish qiymatlari bo`lgan zich qatlam 
model.add(Dense(256, activation='relu')) 
Dropout qatlami 


Dropout qatlami o`qitish jarayonida neyron tarmoqdagi ahamiyati yo’q bo’lgan 
neyronlarni tashlab yuborish amalini bajarish uchun ishlatiladi 
Keras modelni ishga tushurish , o'qitish va baholash 
Model tuzilgandan so'ng, o'qitish boshlanadi. Modelni birinchi bo'lib loss 
funktsiyasi va optimizatsiya funktsiyasi bilan kompilyatsiya qilish talab qilinadi. 
Bu tarmoq og'irlik koeffitsientlarini (weights) o'zgartirishga imkon beradi va 
xatolikni(loss) minimallashtiradi. Loss funksiyasi – bu qurilgan modelning o’quv 
tanlanmaga nisbatan qanchalik to’g’ri shakllantirilganligini baholash usuli 
hisoblanadi. 
Optimizatsiya funksiyasi – bu tarmoqning og'irlik koeffitsientlarini (wieghts) va 
ozod (bias) larini o`zgartirgan holda xatolikni kamaytiruvchi funksiyadir. 
model.compile(loss='mean_squared_error', optimizer='adam') 
Keras modelni ishga tushurish , o'qitish va baholash 
Modelni o`qitishni boshlash uchun unga validatsiya va o`qitish(training) 
ma`lumotlarini berish kerak shuningdek paket o`lchami va sikllar soni ham 
belgilanadi 
model.fit(X_train, X_train, batch_size=32, epochs=10,
validation_data=(x_val, y_val)) 
Oxirgi bosqich esa modelni test ma`lumotlari bilan baholash 
score = model.evaluate(x_test, y_test, batch_size=32) 


Kerasda chiziqli regressiya modelini qurish 
Modelni o`qitgandan so`ng natija quyidagicha bo`ladi 
Boshlang`ich o`girlik koeffitsientlari(initial weights): w: 0.37, b: 0.00 Optimallashtirilgan o`girlik 
koeffitsientlari: w: 3.70, b: 0.61 


Python Virtual environment (venv) 
c:\>python -m venv c:\path\to\myenv Misol uchun “MachineLearning” nomli papka mavjud. Shu papkani 
ichiga kirib cmd oynasi orqali yuqoridagi kod ishga tushuriladi 
Natijada MachineLearning papkasining ichida “venv” nomli papka va uning ichida joriy kompyuterga 
o’rnatilgan python ning virtual muhiti yaratiladi 
Python Virtual environment (venv) 


Python Virtual environment (venv) ni ishga tushirish 
Endi yaratilgan virtual muhitni ishga tushirib kerakli kutubxonalarni o’rnatish lozim bo’ladi, bu amalni 
cmd orqali yoki “MachineLearning” loyihasini PyCharm dasturi orqali ochib, shu muhitda ham amalga 
oshirish mumkin. 
venv\Scripts\activate.bat 
Naitjada virtual muhit ishga tushadi
Venv da kerakli paketlarni o’rnatish 
Bu yerdan quyidagi buyruq orqali mavjud o’rnatilgan paketlarni ko’rish mumkin 
pip list 


pip install package-name
pip install tensorflow 
pip install numpy
pip install keras
Endi shu yerda barcha kerakli bo’lgan paketlarni
maxsus buyruq orqali o’rnatish mumkin 
Venv da kerakli paketlarni o’rnatish 
Ushbu modullar o’rnatilgandan keyin pip list buyrugi orqali tekshirib ko’ramiz 
Python virtual muhitda (venv) joriy muhitda o’rnatilgan modullarni saqlash va keyingi loyiha uchun shu 
modullarni ishlatish imkoniyati mavjud. Buning uchun quyidagilar amalga oshirilishi lozim 
pip freeze 
Venv da kerakli paketlarni o’rnatish 


Kompyuter xotirasida (misol uchun C:\User\Desctop) “requirements.txt” fayl yaratiladi va ushbu faylga 
rasmda ko’rsatilgan modullar va ularning versiyalari haqidagi ma’lumot ko’chirib olinadi 
Venv da kerakli paketlarni o’rnatish 
Ushbu yaratilgan “requirements.txt” fayli, keyinchalik yaratilishi mumkin bo’lgan virtual muhit uchun 
tayyor modullar ro’yhati hisoblanadi va joriy loyiha uchun “venv” yaratilgandan keyin quyidagi buyruq 
orqali fayl ichida keltirilgan modullarni bir urunishda o’rnatish mumkin 
Demak Python virtual muhiti va “pip” orqali loyiha uchun kerakli barcha modullar o’rnatilgandan keyin 
virtual muhitni “deactivate” qilish kerak bo’ladi 
Foydalanilgan adabiyotlar 
Aurelian Geron, Hands on Machine Learning with Scikit-Learn Keras&Tensorflow // Second edition 
Concepts, Tools, and Techniques to Build Intelligent Systems, 2019, 510 pages 
Primoz Potocnik, Neural Networks: MATLAB examples // Neural Networks course (practical examples)© 
2012 

Download 30.63 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling