Семинар. Введение в PyTorch

Занятие ведёт Татьяна Гайнцева
Ссылка на материалы занятия: colab.research.google.com/dri...
---
Deep Learning School при ФПМИ МФТИ
Каждые полгода мы запускаем новую итерацию нашего двухсеместрового практического онлайн-курса по глубокому обучению. Наборы проводятся в августе-сентябре и январе-феврале.
Поддержать канал можно по ссылке dls.samcs.ru/ru/donate
За нашими новостями можно следить здесь:
Наш канал в TG: t.me/deep_learning_school_news
Официальный сайт: dls.samcs.ru/
Официальная группа ВК: dlschool_mipt
ФПМИ МФТИ
Официальный сайт: mipt.ru/education/departments...
Магистратура: mipt.ru/education/departments...
Онлайн-магистратура "Современная комбинаторика": omscmipt.ru/
Онлайн-магистратура "Цифровая экономика": digec.online/
Лаборатории ФПМИ: mipt.ru/education/departments...

Пікірлер: 11

  • @user-ku4nn5pw8p
    @user-ku4nn5pw8p3 ай бұрын

    Круто, что вы решили переснять неудачные записи семинаров. Лайк!

  • @reilly-ej5yw

    @reilly-ej5yw

    3 ай бұрын

    у татьяны все записи прекрасны

  • @user-yp9ix4wl1m

    @user-yp9ix4wl1m

    2 ай бұрын

    @@reilly-ej5yw да! вы станете прекрасными специалистами благодаря этим лекциям! ...будете говорить на собесах: "просто потому, что так надо в питоне..."

  • @ds_sss_rank
    @ds_sss_rank3 ай бұрын

    Ты самый лучший учитель кстати

  • @reilly-ej5yw
    @reilly-ej5yw3 ай бұрын

    39:30 Блин вот кто-то везунчики, я то думал Татьяна смотрела в камеру, а там оказывается кто-то был!!!

  • @AlexVoronin-sr3mm
    @AlexVoronin-sr3mm2 ай бұрын

    Можно бы по поводу device абзац-другой добавить, чтоб получился полный торчевый шаблон.

  • @user-xj7eq6wk6p
    @user-xj7eq6wk6p3 ай бұрын

    За объяснение разницы между Tensorflow и PyTorch и спасибо. За JAX тоже, не знал о таком. Одномерный тензор работает и со скаляром: In [14]: X = torch.tensor(3) In [15]: X Out[15]: tensor(3) In [16]: X.item() Out[16]: 3 И это больше вяжется с математической концепцией тензора, где тензор нулевого ранга суть скаляр. 30:38 не "так надо в питоне", а вызов конструктора родительского класса nn.Module. Блин, я не специалист по ООП в Python, вижу эту инструкцию впервые в жизни, но и то понял, что это. Метод `__init__` называется, соответственно, конструктором. 38:04 nn_prediction - это тензор, представляющий вектор-столбец. 42:46 давайте всё-таки "функция потерь". Понятно, что термин пришёл из английского, но русскоязычный аналог всё же есть. 46:19 а зачем самостоятельно писать функцию train? Тем более, что далее говорится, что эта реализация является типичной. Разве нет уже готовой реализации, которую можно использовать и изменять/параметризовать под свои конкретные нужды? Насколько помню, в том же Tensorflow 2 ничего подобного писать самостоятельно не требуется. 53:52 по сути мы из вектора-строки делаем вектор-столбец, не нужно запутанных объяснений. Но у torch.Tensor тоже есть метод reshape. В чём тогда разница между torch.Tensor.view и torch.Tensor.reshape? Зачем nn_prediction конвертировать в список Python, если гораздо удобнее и эффективнее сконвертировать его в numpy.ndarray и использовать numpy.where? По поводу обучения этой сети. Замена в скрытом слое функции активации на ReLU, оптимизатора на Adam и обучение на 300 эпохах даёт гораздо лучшие результаты, чем полученные на семинаре. Причём без использования выборок: colab.research.google.com/drive/1r_Z2H6pPLacpwu0CN086sGMZI12Eukc1?usp=sharing. Разделяющая плоскость практически идеальна.

  • @reilly-ej5yw

    @reilly-ej5yw

    3 ай бұрын

    сразу видно любителя семинаров по машиному обучению

  • @DeepLearningSchool

    @DeepLearningSchool

    3 ай бұрын

    Спасибо за ваши замечания, учту на будущее. Да, где-то я могла сказать не самые оптимальные слова. А слово "лосс-функция" вам много еще раз придется слышать, если вы будете заниматься глубоким обучением. Отвечу на ваши вопросы: > зачем писать функцию train? Чтобы в будущем можно было ее изменять под свои нужды. На занятиях по генеративным сетям, например, нам это будет нужно, и "типичная" реализация train не подойдет. > Замена в скрытом слое функции активации на ReLU, оптимизатора на Adam и обучение на 300 эпохах даёт гораздо лучшие результаты, чем полученные на семинаре. Ну вот и прекрасно, что вы попробовали это сами! На семинаре я показала, как в принципе собирать нейросеть, для этого подошла бы любая функция активации и оптимизатор. Более того, я хотела показать, что бывают разные оптимизаторы, поэтому там есть код для SGD и Adam. > В чём тогда разница между torch.Tensor.view и torch.Tensor.reshape? В том, что один возвращает копию тензора, другой изменяет сам объект. Об этом в документации должно быть написано.

  • @drdweeb

    @drdweeb

    3 ай бұрын

    вот ты душный

  • @user-gg7sj7xi7o

    @user-gg7sj7xi7o

    22 күн бұрын

    ​@@drdweebточнее loss-нутый

Келесі