Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

18-LEKCIYA_MDQI

.pdf
Скачиваний:
0
Добавлен:
18.10.2024
Размер:
290.64 Кб
Скачать

18-Lekciya. Pythonda Keras kitapxanalarınıń imkaniyatların úyreniw

Jobası:

1.Kerastıń tiykarǵı ózgeshelikleri hám strukturası

2.Modeldi bahalaw hám boljawlar

3.Kerastıń qosımsha imkaniyatları

4.Pyton-da programmalastırıw

Keras - bul mashinalıq oqıtıw hám tereń oqıtıw ushın qollanılatuǵın joqarı dárejeli API. Ol TensorFlow, CNTK yamasa Theano sıyaqlı mashina oqıtıw platformalarınıń ústine qurılǵan. Keras tez eksperiment jaratıwǵa múmkinshilik beredi hám ideyadan nátiyjege shekem bolǵan waqıttı qısqartadı.

Keras terеń neyron tarmaqlar tarawında programmalastırıwdı ańsatlastırıw ushın qatlamlar, maqsetler, aktivaciya funkciyaları, optimizatorlar hám súwret hám tekst maǵlıwmatları menen islew ushın instrumentlerdiń kóplegen ámelge asırılıwların óz ishine aladı. Kod GitHub-ta jaylasqan, al jámiyetlik qollapquwatlaw forumlarına GitHub máseleler beti hám Slack kanalı kiredi.

Standart neyron tarmaqlarınan tısqarı, Keras konvolyuciyalıq hám rekurrent neyron tarmaqların qollap-quwatlaydı. Ol sonday-aq dropout, batch normalizaciya hám pooling sıyaqlı basqa da keń tarqalǵan járdemshi qatlamlardı qollapquwatlaydı.

Keras paydalanıwshılarǵa terеń modellerin smartfonlarda (iOS hám Android), vebte yamasa Java Virtual Mashinasında islep shıǵarıw imkaniyatın beredi. Ol sonday-aq terеń oqıtıw modelleriniń grafikаlıq processorlar (GPU) hám tensor processorlar (TPU) klasterlerinde bólistirilgen tárizde oqıtılıwın paydalanıwǵa ruqsat etedi.

Kerastıń tiykarǵı ózgeshelikleri

Qolaylı hám ıqsham interfeys

Modullik hám keńeytiw múmkinshiligi

Python menen tolıq integratsiya

Kóp platformalı islewi (CPU hám GPU qollap-quwatlawı)

Keras modeliniń qurılısı. Kerasta model qurıw ushın biz Sequential yamasa Functional API usılların qollanamız.

Sequential model

from keras.models import Sequential from keras.layers import Dense

model = Sequential([

Dense(32, input_shape=(784,), activation='relu'), Dense(10, activation='softmax')

])

Functional API

from keras.models import Model

from keras.layers import Input, Dense

inputs = Input(shape=(784,))

x = Dense(32, activation='relu')(inputs) outputs = Dense(10, activation='softmax')(x) model = Model(inputs=inputs, outputs=outputs)

Modeldi kompilaciya qılıw

Modeldi úyretiw aldınan onı kompilaciya qılıw kerek:

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

Modeldi úyretiw

Modeldi úyretiw ushın fit() metodın qollanamız:

model.fit(x_train, y_train, epochs=5, batch_size=32)

Modeldi bahalaw hám boljawlar

Úyretilgen modeldi bahalaw ushın evaluate() metodın, al boljawlar ushın predict() metodın qollanamız:

loss, accuracy = model.evaluate(x_test, y_test) predictions = model.predict(x_new)

Kerastıń qosımsha imkaniyatları

Kóp túrli qatlamlar (Conv2D, LSTM, GRU h.t.b.)

Regularizatsiya usılları (Dropout, BatchNormalization)

Callback funktsiyaları

Modeldı saqlaw hám júklew

Súwret, tekst hám audio maǵlıwmatların qayta islew ushın arnawlı qatlamlar

Kerekli kitapxanalardı import qılıw

import numpy as np

from keras.models import Sequential from keras.layers import Dense

from keras.datasets import mnist

from keras.utils import to_categorical

Maǵlıwmatlardı júklew hám qayta islew

# MNIST maǵlıwmatlar toplamın júklew

(x_train, y_train), (x_test, y_test) = mnist.load_data()

# Maǵlıwmatlardı qayta islew

x_train = x_train.reshape(60000, 784).astype('float32') / 255 x_test = x_test.reshape(10000, 784).astype('float32') / 255

#Klasslar sanın anıqlaw num_classes = 10

#Nısanalar vektorın kategoriyalı formatqa ózgertiw y_train = to_categorical(y_train, num_classes) y_test = to_categorical(y_test, num_classes)

Modeldi qurıw

model = Sequential([

Dense(512, activation='relu', input_shape=(784,)), Dense(256, activation='relu'),

Dense(128, activation='relu'), Dense(num_classes, activation='softmax')

])

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

Modeldi úyretiw

history = model.fit(x_train, y_train, batch_size=128, epochs=5, verbose=1,

validation_split=0.1)

Modeldi bahalaw

score = model.evaluate(x_test, y_test, verbose=0) print(f"Test joǵaltıwı: {score[0]}")

print(f"Test anıqlıǵı: {score[1]}")

Jańa súwretlerdi boljawǵa mısal

#Testlik maǵlıwmatlardan bir súwretti alıw image = x_test[0]

#Súwretti model ushın tayarlaw

image = np.expand_dims(image, axis=0)

# Boljamlawdı orınlaw

prediction = model.predict(image)

# Eń joqarı itimallıqtaǵı klassifikatsiyalanǵan sanı tabıw predicted_digit = np.argmax(prediction)

print(f"Boljamlawǵa kóre súwrettegi san: {predicted_digit}")

Bul mısal MNIST maǵlıwmatlar toplamın qollanıp, qol menen jazılǵan sanlardı tanıw ushın Keras járdeminde ápiwayı neyron tarmaq modeliniń qurılıwın, úyretiliwi hám qollanılıwın kórsetedi. Bul ámeliy mısal Kerastıń tiykarǵı funkciyaların hám onıń mashina oqıtıwdaǵı qollanılıwın túsiniwge járdem beredi.

Keras - bul kúshli hám ıqsham kitapxana bolıp, ol mashinalıq oqıtıw hám tereń oqıtıw modellerin tez hám nátiyjeli qurıwǵa múmkinshilik beredi. Onıń qolaylı API-i hám keń funkcionallıq múmkinshilikleri arqalı siz quramalı neyron tarmaqların ápiwayi kodlar menen dúze alasız.

Baqlaw sorawları

1.Keras nege arnalǵan hám onıń qanday tiykarǵı ózgeshelikleri bar?

2.Kerasda model qurıwdıń qanday usılları bar hám olar qanday parıqlanadı?

3.Keras modeliniń kompilaciya qılıw procesinde qanday parametrler belgilenedi?

4.MNIST maǵlıwmatlar toplamı neni óz ishine aladı hám ol qanday maqsette qollanıladı?

5.Maǵlıwmatlardı qayta islewde x_train hám x_test ózgeriwshileri qanday transformatsiyalardan ótedi?

6.Obyektler vektorın kategoriyalı formatqa ózgertiwdiń áhmiyeti nede?

7.Berilgen mısalda qurılǵan modelde qanday qatlamlar qollanılǵan hám olardıń hár biriniń wazıypası qanday?

8.Modeldi úyretiw procesinde qollanılǵan fit() metodınıń tiykarǵı parametrleri qanday hám olardıń áhmiyeti nede?

9.Modeldi bahalawda qollanılǵan metrics qanday hám ol neni bildiredi?

10.Jańa súwretlerdi boljawda np.argmax() funkciyasınıń wazıypası neden ibarat?

Соседние файлы в предмете Программная инженерия