Видео проигрыватель загружается.Воспроизвести видеоВоспроизвестиБез звукаТекущее время 0:00/Продолжительность 2:32Загрузка: 0.00%0:00Тип потока ОНЛАЙНSeek to live, currently behind liveОНЛАЙНОставшееся время -2:32 1xСкорость воспроизведения2x1.75x1.5x1.25x1x, выбрано0.75x0.5xГлавыГлавыОписанияОтключить описания, выбраноСубтитрынастройки субтитров, откроется диалог настройки субтитровСубтитры выкл., выбраноЗвуковая дорожкаPicture-in-PictureПолноэкранный режимThis is a modal window.Начало диалоговго окна. Кнопка Escape закроет или отменит окноТекстColorБелыйЧерныйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйФонColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачностьПолупрозрачныйПрозрачныйОкноColorЧерныйБелыйКрасныйЗеленыйСинийЖелтыйПурпурныйГолубойTransparencyПрозрачныйПолупрозрачныйПрозрачностьРазмер шрифта50%75%100%125%150%175%200%300%400%Стиль края текстаНичегоПоднятыйПониженныйОдинаковыйТеньШрифтПропорциональный без засечекМоноширинный без засечекПропорциональный с засечкамиМоноширинный с засечкамиСлучайныйПисьменныйМалые прописныеСбросить сбросить все найстройки по умолчаниюГотовоЗакрыть модальное окноКонец диалогового окна.
Всем привет! Наконец-то мы добрались до первой практики. Этот семинар преследует сразу несколько целей. Во-первых, хотелось бы вам напомнить, как работать с pytorch и как описывать простые нейросети с помощью этой библиотеки. Вторая цель — это продемонстрировать, как можно реализовать классический алгоритм с помощью pytorch. В этом семинаре мы будем работать с классическим датасетом для тематической классификации, "20 новостных групп", который состоит из примерно 20 тысяч сообщений электронной почты, распределенных по 20 категориям. Мы познакомимся с тем, как преобразовывать исходный текст в токены (делать токенизацию), затем мы разберёмся, как строить словарь, как можно взвешивать, как реализуется модель мешка слов или разреженная векторная модель текста, затем мы реализуем логистическую регрессию на pytorch, обучим её, оценим её качество. А затем мы возьмём библиотеку scikit-learn (алгоритмы векторизации текстов из неё, а также реализацию логистической регрессии), обучим этот вариант модели и сравним с нашим вариантом, чтобы проверить, правильно ли мы всё сделали. Ну что ж, поехали! Давайте сначала импортируем библиотеки, которые нам понадобятся в этом семинаре. Я предпочитаю делать все импорты в одной ячейке ноутбука. Нам понадобиться scikit-learn, numpy и matplotlib, также нам понадобится, собственно, pytorch, а ещё, специально для этого курса, мы разработали маленькую библиотечку, содержащую все необходимые примитивы для того, чтобы пройти все задания в этом курсе. Ну, и наконец — для того, чтобы запуски нашего ноутбука приводили из раза в раз к одному и тому же результату, мы должны зафиксировать инициализацию генераторов случайных чисел. Однако, если вы обучаете нейросети на видеокарте, даже зафиксировав все сиды вы не добьётесь полной повторяемости.[1,2,3] Это связанно с тем, как именно работает видеокарта. На высоком уровне мы с этим ничего не можем сделать.
[1] https://pytorch.org/docs/stable/notes/randomness.html
[2] https://www.twosigma.com/insights/article/a-workaround-for-non-determinism-in-tensorflow
[3] https://developer.download.nvidia.com/video/gputechconf/gtc/2019/presentation/s9911-determinism-in-deep-learning.pdf
К сожалению, у нас пока нет статистики ответов на данный вопрос,
но мы работаем над этим.