Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Научно-исследовательский семинар: нейронные сети и глубокое обучение

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Магистратура
  5. НИСНейрСети
  6. Раздел 3. Глубокое обучение в NLP
  7. Практическое задание №6

Практическое задание №6

Требуемые условия завершения
Открыто с: среда, 9 сентября 2020, 00:00
Срок сдачи: среда, 16 сентября 2020, 00:00

1.     Запустите jupyter notebook, создайте тетрадку в папке с данными, импортируйте следующие модули

import matplotlib.pyplot as plt

%matplotlib inline

import numpy as np

2.     Считайте lfw датасет

data,attrs = fetch_lfw_dataset(dimx=36,dimy=36)

3.     Распечатайте случайную фотографию

plt.imshow(data[np.random.randint(data.shape[0])], cmap="gray", interpolation="none")

4.     Создайте нейронную сеть, которая отвечает за генерацию новых изображений

CODE_SIZE = 256

 

generator = Sequential()

generator.add(L.InputLayer([CODE_SIZE],name='noise'))

generator.add(L.Dense(10*8*8, activation='elu'))

 

generator.add(L.Reshape((8,8,10)))

generator.add(L.Deconv2D(64,kernel_size=(5,5),activation='elu'))

generator.add(L.Deconv2D(64,kernel_size=(5,5),activation='elu'))

generator.add(L.UpSampling2D(size=(2,2)))

generator.add(L.Deconv2D(32,kernel_size=3,activation='elu'))

generator.add(L.Deconv2D(32,kernel_size=3,activation='elu'))

generator.add(L.Deconv2D(32,kernel_size=3,activation='elu'))

 

generator.add(L.Conv2D(3,kernel_size=3,activation=None))

 

5.     Создайте нейронную сеть, которая отвечает за классификацию сгенерированных изображений и настоящих

discriminator = Sequential()

discriminator.add(L.InputLayer(IMG_SHAPE))

….

discriminator.add(L.Flatten())

discriminator.add(L.Dense(256,activation='tanh'))

discriminator.add(L.Dense(2,activation=tf.nn.log_softmax))

 

6.     Натренируйте обе нейронные сети

d_loss = -tf.reduce_mean(logp_real[:,1] + logp_gen[:,0])

d_loss += tf.reduce_mean(discriminator.layers[-1].kernel**2)

disc_optimizer =  tf.train.GradientDescentOptimizer(1e-3).minimize(d_loss,var_list=discriminator.trainable_weights)

g_loss = ...

gen_optimizer = tf.train.AdamOptimizer(1e-4).minimize(g_loss,var_list=generator.trainable_weights)

s.run(tf.global_variables_initializer())

7.     Примените натренированный генератор к случайному вектору и оцените качество результирующего изображения

    feed_dict = {

        real_data:sample_data_batch(100),

        noise:sample_noise_batch(100)

    }

   

    for i in range(5):

        s.run(disc_optimizer,feed_dict)

   

    s.run(gen_optimizer,feed_dict)

8.     (Самостоятельная работа) Сделайте оптимизацию гиперпараметров и попробуйте уменьшить значение функции потерь на валидационной выборке

◄ Практическое задание №5
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

          • ТОИ маг

          • Modern computer technology

          • Математика и её приложения в науке и инженерии

          • MUDP

          • ОНС-Н

          • RL

          • ИИ_НС

          • КрПр

          • КЗ

          • АДС

          • РПП

          • НИСНейрСети

            • Раздел 1. Введение в нейронные сети

            • Раздел 2. Глубокое обучение

            • Раздел 3. Глубокое обучение в NLP

              • ЗаданиеПрактическое задание №5

              • ЗаданиеПрактическое задание №6

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ - 24

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
НИСНейрСети
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика