ответвлено от main/is_dnn
Сравнить коммиты
3 Коммитов
| Автор | SHA1 | Дата | |
|---|---|---|---|
|
|
964549a094 | ||
| b344e76a21 | |||
|
|
047d249b1f |
17
README.md
17
README.md
@@ -1,27 +1,14 @@
|
||||
# Интеллектуальные системы
|
||||
|
||||
|
||||
## <a href="https://docs.google.com/spreadsheets/d/1E1vXKs7ZLeZcsPQiLG2JUh6mjsG6mXnmtFT58aCQul0/edit?usp=sharing">Журнал</a>
|
||||
|
||||
## Лабораторные работы
|
||||
|
||||
1. [Архитектура и обучение глубоких нейронных сетей](labworks/LW1)
|
||||
2. [Обнаружение аномалий](labworks/LW2)
|
||||
3. [Распознавание изображений](labworks/LW3)
|
||||
4. [Распознавание последовательностей](labworks/LW4)
|
||||
|
||||
<!--
|
||||
|
||||
### Лабораторная работа №3
|
||||
|
||||
* [Задание](labworks/LW3/IS_Lab03_2023.pdf)
|
||||
* [Методические указания](labworks/LW3/IS_Lab03_Metod_2023.pdf)
|
||||
* <a href="https://youtube.com/playlist?list=PLZDCDMGmelH-pHt-Ij0nImVrOmj8DYKbB" target="_blank">Плейлист с видео о сверточных сетях (крутая визуализация)</a>
|
||||
|
||||
### Лабораторная работа №4
|
||||
|
||||
* [Задание](labworks/LW4/IS_Lab04_2023.pdf)
|
||||
* [Методические указания](labworks/LW4/IS_Lab04_Metod_2023.pdf)
|
||||
|
||||
-->
|
||||
|
||||
## Архив материалов курса
|
||||
В 2021–2022 годах материалы выкладывались <a href="https://uii.bitbucket.io/study/courses/#:~:text=Интеллектуальные%20системы%20(глубокие%20нейронные%20сети)" target="_blank">на этой странице</a>.
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
* [Задание](IS_Lab01_2023.pdf)
|
||||
## Лабораторныа работа №1
|
||||
|
||||
## Архитектура и обучение глубоких нейронных сетей
|
||||
|
||||
* [Задание](IS_Lab01_2023.pdf)
|
||||
|
||||
* [Методические указания](IS_Lab01_Metod_2023.pdf)
|
||||
|
||||
* <a href="https://youtube.com/playlist?list=PLfdZ2TeaMzfzlpZ60rbaYU_epH5XPNbWU" target="_blank"><s>Какие нейроны, что вообще происходит?</s> Рекомендуется к просмотру для понимания (4 видео)</a>
|
||||
|
||||
* <a href="https://www.youtube.com/watch?v=FwFduRA_L6Q" target="_blank">Почувствуйте себя пионером нейронных сетей в области распознавания образов</a>
|
||||
@@ -1,4 +1,11 @@
|
||||
* [Задание](IS_Lab02_2023.pdf)
|
||||
## Лабораторныа работа №2
|
||||
|
||||
## Обнаружение аномалий
|
||||
|
||||
* [Задание](IS_Lab02_2023.pdf)
|
||||
|
||||
* [Методические указания](IS_Lab02_Metod_2023.pdf)
|
||||
|
||||
* [Наборы данных](data)
|
||||
|
||||
* [Библиотека для автокодировщиков](lab02_lib.py)
|
||||
@@ -29,12 +29,14 @@ from pandas import DataFrame
|
||||
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix
|
||||
from tensorflow.keras.models import Sequential
|
||||
from tensorflow.keras.layers import Dense, Activation
|
||||
from tensorflow.keras.callbacks import Callback
|
||||
|
||||
|
||||
|
||||
visual = True
|
||||
verbose_show = False
|
||||
|
||||
|
||||
# generate 2d classification dataset
|
||||
def datagen(x_c, y_c, n_samples, n_features):
|
||||
|
||||
@@ -91,8 +93,27 @@ class EarlyStoppingOnValue(tensorflow.keras.callbacks.Callback):
|
||||
)
|
||||
return monitor_value
|
||||
|
||||
|
||||
class VerboseEveryNEpochs(Callback):
|
||||
def __init__(self, every_n_epochs=1000, verbose=1):
|
||||
super().__init__()
|
||||
self.every_n_epochs = every_n_epochs
|
||||
self.verbose = verbose
|
||||
|
||||
def on_epoch_end(self, epoch, logs=None):
|
||||
if (epoch + 1) % self.every_n_epochs == 0:
|
||||
if self.verbose:
|
||||
print(f"\nEpoch {epoch + 1}/{self.params['epochs']}")
|
||||
if logs:
|
||||
log_str = ", ".join([f"{k}: {v:.4f}" for k, v in logs.items()])
|
||||
print(f" - {log_str}")
|
||||
|
||||
|
||||
#создание и обучение модели автокодировщика
|
||||
def create_fit_save_ae(cl_train, ae_file, irefile, epohs, verbose_show, patience):
|
||||
def create_fit_save_ae(cl_train, ae_file, irefile, epohs, verbose_show, patience, **kwargs):
|
||||
verbose_every_n_epochs = kwargs.get('verbose_every_n_epochs', 1000)
|
||||
early_stopping_delta = kwargs.get('early_stopping_delta', 0.01)
|
||||
early_stopping_value = kwargs.get('early_stopping_value', 0.0001)
|
||||
|
||||
size = cl_train.shape[1]
|
||||
#ans = '2'
|
||||
@@ -140,22 +161,28 @@ def create_fit_save_ae(cl_train, ae_file, irefile, epohs, verbose_show, patience
|
||||
|
||||
optimizer = tensorflow.keras.optimizers.Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, amsgrad=False)
|
||||
ae.compile(loss='mean_squared_error', optimizer=optimizer)
|
||||
error_stop = 0.0001
|
||||
epo = epohs
|
||||
|
||||
early_stopping_callback_on_error = EarlyStoppingOnValue(monitor='loss', baseline=error_stop)
|
||||
early_stopping_callback_on_improving = tensorflow.keras.callbacks.EarlyStopping(monitor='loss',
|
||||
min_delta=0.0001, patience = patience,
|
||||
verbose=1, mode='auto',
|
||||
baseline=None,
|
||||
restore_best_weights=False)
|
||||
history_callback = tensorflow.keras.callbacks.History()
|
||||
|
||||
verbose = 1 if verbose_show else 0
|
||||
|
||||
early_stopping_callback_on_error = EarlyStoppingOnValue(monitor='loss', baseline=early_stopping_value)
|
||||
early_stopping_callback_on_improving = tensorflow.keras.callbacks.EarlyStopping(monitor='loss',
|
||||
min_delta=early_stopping_delta, patience = patience,
|
||||
verbose=verbose, mode='min',
|
||||
baseline=None,
|
||||
restore_best_weights=True)
|
||||
history_callback = tensorflow.keras.callbacks.History()
|
||||
|
||||
history_object = ae.fit(cl_train, cl_train,
|
||||
batch_size=cl_train.shape[0],
|
||||
epochs=epo,
|
||||
callbacks=[early_stopping_callback_on_error, history_callback,
|
||||
early_stopping_callback_on_improving],
|
||||
callbacks=[
|
||||
early_stopping_callback_on_error,
|
||||
history_callback,
|
||||
early_stopping_callback_on_improving,
|
||||
VerboseEveryNEpochs(every_n_epochs=verbose_every_n_epochs),
|
||||
],
|
||||
verbose=verbose)
|
||||
ae_trainned = ae
|
||||
ae_pred = ae_trainned.predict(cl_train)
|
||||
@@ -538,4 +565,4 @@ def ire_plot(title, IRE_test, IREth, ae_name):
|
||||
plt.gcf().savefig('out/IRE_' + title + ae_name + '.png')
|
||||
plt.show()
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
9
labworks/LW3/README.md
Обычный файл
9
labworks/LW3/README.md
Обычный файл
@@ -0,0 +1,9 @@
|
||||
## Лабораторныа работа №3
|
||||
|
||||
## Распознавание изображений
|
||||
|
||||
* [Задание](IS_Lab03_2023.pdf)
|
||||
|
||||
* [Методические указания](IS_Lab03_Metod_2023.pdf)
|
||||
|
||||
* <a href="https://youtube.com/playlist?list=PLZDCDMGmelH-pHt-Ij0nImVrOmj8DYKbB" target="_blank">Плейлист с видео о сверточных сетях</a>
|
||||
7
labworks/LW4/README.md
Обычный файл
7
labworks/LW4/README.md
Обычный файл
@@ -0,0 +1,7 @@
|
||||
## Лабораторныа работа №4
|
||||
|
||||
## Распознавание последовательностей
|
||||
|
||||
* [Задание](IS_Lab04_2023.pdf)
|
||||
|
||||
* [Методические указания](IS_Lab04_Metod_2023.pdf)
|
||||
Ссылка в новой задаче
Block a user