15-amaliy mashg’ulot: Mavzu


Keras - Python-da yozilgan ochiq manbali neyron tarmoq kutubxonasi. U TensorFlow freymworklari ustiga o'rnatilgan bo'lib, ular bilan ishlashni osonlashtiradi


Download 0.83 Mb.
bet2/5
Sana24.12.2022
Hajmi0.83 Mb.
#1062593
1   2   3   4   5
Keras - Python-da yozilgan ochiq manbali neyron tarmoq kutubxonasi. U TensorFlow freymworklari ustiga o'rnatilgan bo'lib, ular bilan ishlashni osonlashtiradi.
TensorFlow - bu inson tomonidan idrok etish sifatiga erishish uchun naqshlarni avtomatik ravishda topish va tasniflash maqsadida neyron tarmoqlarni yaratish va o'qitish muammolarini hal qilish uchun Google tomonidan mashinali o’qitish uchun ishlab chiqarilgan ochiq dasturiy kutubxonadir.
Avvalo TensorFlow 2.0.0-ni, so'ngra Keras-ni o'rnating. Keyin numpy ni 1.16.4 darajasiga pasaytirishimiz kerak. Barchasi Python 3.6.8 da ishlaydi.
pip install tensorflow==2.0.0
pip install keras
pip uninstall numpy
pip install numpy==1.16.4
MNIST ma'lumotlar bazasi allaqachon kutubxonamiz ma'lumotlarida, biz ma'lumotlar bazasini yuklaymiz:
# Ma'lumotlar bazasini ulaymiz.
from keras.datasets import mnist
# X_train va x_test ma'lumotlarini yuklashda raqamlar tasvirlangan ikki o'lchovli massivni yuklaymiz
# x_test, y_test tarmoqni tekshiruvchi ma'lumotlarga ega massiv.
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# Biz ikki o'lchovli massivni uch o'lchovli (28x28x1 kanal)ga aylantiramiz
x_train = x_train.reshape(60000,28,28,1)
x_test = x_test.reshape(10000,28,28,1)
Reshape () funktsiyasi massivning shaklini uning ma'lumotlarini o'zgartirmasdan o'zgartiradi.
Numpy
Sinov ma'lumotlarini o'zgartirishimiz kerak.
from keras.utils import to_categorical
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
keras.utils.to_categorical(y, num_classes=None, dtype=’float32′) . Sinf vektorini (butun sonlarni) sinflarning ikkilik matritsasiga o'zgartiriladi.
Tarmoq modelini yaratish.
Endilikda neyron tarmog'imizni yaratishga tayyormiz.
from keras.models import Sequential
from keras.layers import Dense, Conv2D, Flatten
# modelni yaratamiz
model = Sequential()
# qatlam qo’shamiz
model.add(Conv2D(64, kernel_size=3, activation='relu', input_shape=(28,28,1)))
Birinchi qatlam Conv2D bo'ladi. Ushbu svyortkali qatlamlar 2 o'lchovli matritsalar sifatida qaraladigan kirish tasvirlarida ishlaydi. kernel_size = 3 - yadro hajmi 3x3. Aktivizatsiya funktsiyasi 'relu' (Rectified Lineer Activation), 64 - konvolyutsiya yadrolari soni (biz qancha belgini qidirishimiz)
# Ikkinchi svyortkali qatlam
model.add(Conv2D(32, kernel_size=3, activation='relu'))
# To'liq ulangan tarmoq uchun vektor yarating.
model.add(Flatten())

Download 0.83 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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