Практикум на ЭВМ (317)/2017-2018
Материал из MachineLearning.
 (→Выступления студентов на семинаре)  | 
				|||
| (9 промежуточных версий не показаны.) | |||
| Строка 8: | Строка 8: | ||
Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму]  | Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму]  | ||
| - | |||
Репозиторий со всеми материалами: [https://github.com/arti32lehtonen/mmp_prac_2017 ссылка на репозиторий]  | Репозиторий со всеми материалами: [https://github.com/arti32lehtonen/mmp_prac_2017 ссылка на репозиторий]  | ||
| Строка 182: | Строка 181: | ||
|21 ноября  | |21 ноября  | ||
|Занятие 12  | |Занятие 12  | ||
| + | |  | ||
| + | Выступления студентов.  | ||
| + | |  | ||
| + | |  | ||
| + | <!-- Конец занятия -->  | ||
| + | |- <!-- Новое занятие -->  | ||
| + | |28 ноября  | ||
| + | |Занятие 13  | ||
| + | |  | ||
| + | Обсуждение третьего практического задания.   | ||
| + | |||
| + | Задачи условной оптимизации.   | ||
| + | |||
| + | Метод субградиентного спуска. Метод PEGASOS.  | ||
| + | |  | ||
| + | | Готовиться к выступлению  | ||
| + | [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/Tasks/task3/task3.pdf практическое задание 3]  | ||
| + | |||
| + | [https://github.com/arti32lehtonen/mmp_prac_2017/tree/master/Tasks/task3/prototypes прототипы]  | ||
| + | <!-- Конец занятия -->  | ||
| + | <!-- Конец занятия -->  | ||
| + | |- <!-- Новое занятие -->  | ||
| + | |5 декабря  | ||
| + | |Занятие 14  | ||
|  | |  | ||
Выступления студентов.  | Выступления студентов.  | ||
| Строка 206: | Строка 229: | ||
 | align="center"|4 || Библиотека multiprocessing для распараллеливания и ускорения вычислений в Python || Цыпин Артем || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Tsypin_Multiprocessing.pdf слайды]  |  | align="center"|4 || Библиотека multiprocessing для распараллеливания и ускорения вычислений в Python || Цыпин Артем || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Tsypin_Multiprocessing.pdf слайды]  | ||
 |-  |  |-  | ||
| - |  | align="center"|5 || Библиотека для автоматического дифференцирования и вычислений на GPU TensorFlow || Руднев Виктор ||  | + |  | align="center"|5 || Библиотека для автоматического дифференцирования и вычислений на GPU TensorFlow || Руднев Виктор || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Rudnev_Tensorflow.pdf слайды]  | 
 |-  |  |-  | ||
| - |  | align="center"|6 || Библиотека для автоматического дифференцирования и вычислений на GPU PyTorch || Яворская Мария ||   | + |  | align="center"|6 || Библиотека для автоматического дифференцирования и вычислений на GPU PyTorch || Яворская Мария || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Iavorskaia_pytorch.pdf слайды]  | 
 |-  |  |-  | ||
 | align="center"|7 || Магические команды Jupyter Notebook (отладка, профилирование) || Филимонов Владислав ||  [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Filimonov_Magic_Command.pdf слайды]  |  | align="center"|7 || Магические команды Jupyter Notebook (отладка, профилирование) || Филимонов Владислав ||  [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Filimonov_Magic_Command.pdf слайды]  | ||
| Строка 226: | Строка 249: | ||
 | align="center"|14 || Метод NCA для обучения метрики || Сомов Иван || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Somov_NCA.pdf слайды]  |  | align="center"|14 || Метод NCA для обучения метрики || Сомов Иван || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Somov_NCA.pdf слайды]  | ||
 |-  |  |-  | ||
| + |  | align="center"|15 || Одноклассовый SVM и его применения || Медведев Алексей || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Medvedev_A_OSVM.pdf слайды]  | ||
 |-  |  |-  | ||
| - | + |  | align="center"|16 || Система вёрстки XeTeX  ||  Медведев Дмитрий || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Medvedev_D_xetex.pdf слайды]  | |
| - | + | ||
| - |  | align="center"|16   | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
 |-  |  |-  | ||
| - |  | align="center"|  | + |  | align="center"|17 || Библиотека для визуализации в Python (выбрать одну, не matplotlib) || Сагайдак Олег || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Sagaydak_seaborn.pdf слайды]  | 
 |-  |  |-  | ||
| - |  | align="center"|  | + |  | align="center"|18 || Интерпретатор языка Python PyPy || Дженаков Дмитрий || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Dzhenakov_PyPy.pdf слайды]  | 
 |-  |  |-  | ||
 |}  |  |}  | ||
Текущая версия
- Обязательный курс для студентов каф. ММП 3 курса, 5-6 семестр
 - Зачёт с оценкой
 - Преподаватели: Д.А. Кропотов, Артём Попов и другие
 - Занятия проходят в ауд. 524 по вторникам, начало в 16:20
 
Анонимные отзывы по курсу можно оставлять здесь: ссылка на гугл-форму
Репозиторий со всеми материалами: ссылка на репозиторий
Правила сдачи практикума в осеннем семестре 2017/2018
1. В рамках семестра предполагается три больших практических задания и четыре домашних задания. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.
2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — 2 недели. За каждый день просрочки назначается штраф 1 балл. Задание, сданное через две недели после срока сдачи, оценивается в 0 баллов.
3. За каждое домашнее задание можно получить до 20-ти баллов. Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после срока сдачи, оцениваются в 0 баллов.
4. Также в рамках семестра каждый студент делает небольшое выступление по теме курса. За выступление можно получить до 10-ти баллов.
5. Критерии итоговой оценки:
- отлично — 190 баллов, все практические и домашние задания зачтены
 - хорошо — 145 баллов, все практические задания зачтены
 - удовлетворительно — 95 баллов, все практические задания зачтены
 
6. Критерий <<зачтённости>> задания объявляется вместе с заданием.
Материалы занятий (осень)
| Дата | Номер | Тема | Материалы | Д/З | 
|---|---|---|---|---|
| 5 сентября | Занятие 1 | 
 Организационные вопросы. Введение в Python.  | 
 Ознакомиться c PEP8  | |
| 12 сентября | Занятие 2 | 
 Структуры данных (продолжение). Библиотека Numpy.  | ||
| 19 сентября | Занятие 3 | 
 Функции, модули, классы. ООП в Python.  | ||
| 26 сентября | Занятие 4 | 
 Разбор первого домашнего задания. Тестирование. Основы визуализации.  | ||
| 3 октября | Занятие 5 | 
 Обсуждение первого практического задания. Основы обработки изображений. Разбор второго домашнего задания.  | ||
| 10 октября | Занятие 6 | 
 Подготовка текстовых отчётов. Система TeX.  | ||
| 17 октября | Занятие 7 | 
 Итераторы. Генераторы.  | ||
| 24 октября | Занятие 8 | 
 Декораторы.  | ||
| 31 октября | Занятие 9 | 
 Разбор отчётов по практическому заданию. Обработка текстов.  | ||
| 7 ноября | Занятие 10 | 
 Подготовка коротких выступлений. Пакет beamer для презентаций. Продвинутый TeX.  | 
 Готовиться к выступлению  | |
| 14 ноября | Занятие 11 | 
 Выступления студентов.  | 
 Готовиться к выступлению  | |
| 21 ноября | Занятие 12 | 
 Выступления студентов.  | ||
| 28 ноября | Занятие 13 | 
 Обсуждение третьего практического задания. Задачи условной оптимизации. Метод субградиентного спуска. Метод PEGASOS.  | Готовиться к выступлению | |
| 5 декабря | Занятие 14 | 
 Выступления студентов.  | 
Выступления студентов на семинаре
Выступление должно сопровождаться презентацией, подготовленной в LaTeX с помощью пакета beamer. При согласовании с преподавателем разрешается делать презентацию в Jupyter notebook или просто использовать Jupyter notebook вместо презентации. Приблизительный регламент выступления — 10 минут. После выступления необходимо залить свою презентацию в репозиторий курса.
Каждый студент должен выбрать одну тему из списка ниже либо предложить свою тему.
| № п/п | Тема | ФИО студента | Материалы | 
|---|---|---|---|
| 1 | Система контроля версий Git | Солоткий Михаил | слайды | 
| 2 | Основные отличия Python2 и Python3 | Шестакова Анна | слайды | 
| 3 | Средства консервации объектов в Python (json, pickle и другие) | Всеволод Полетаев | слайды | 
| 4 | Библиотека multiprocessing для распараллеливания и ускорения вычислений в Python | Цыпин Артем | слайды | 
| 5 | Библиотека для автоматического дифференцирования и вычислений на GPU TensorFlow | Руднев Виктор | слайды | 
| 6 | Библиотека для автоматического дифференцирования и вычислений на GPU PyTorch | Яворская Мария | слайды | 
| 7 | Магические команды Jupyter Notebook (отладка, профилирование) | Филимонов Владислав | слайды | 
| 8 | Полезные расширения Jupyter Notebook (Jupyter notebook extensions) | Шамшиев Мамат | слайды | 
| 9 | Разметка markdown и создание текстовых отчётов в формате pdf с помощью Jupyter Notebook | Шаталов Николай | слайды | 
| 10 | Создание презентаций с помощью Jupyter Notebook | Пономарева Любовь | слайды | 
| 11 | Проксимальный градиентный метод для обучения моделей с L1-регуляризацией | Фоминская Галина | слайды | 
| 12 | Разложение Холецкого и его применения | Драгунов Никита | слайды | 
| 13 | Стандартные матричные разложения: LDL, LU и QR. Примеры использования. | Скачков Николай | слайды | 
| 14 | Метод NCA для обучения метрики | Сомов Иван | слайды | 
| 15 | Одноклассовый SVM и его применения | Медведев Алексей | слайды | 
| 16 | Система вёрстки XeTeX | Медведев Дмитрий | слайды | 
| 17 | Библиотека для визуализации в Python (выбрать одну, не matplotlib) | Сагайдак Олег | слайды | 
| 18 | Интерпретатор языка Python PyPy | Дженаков Дмитрий | слайды | 
Требования к отчёту по большим практическим заданиям
Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX.
Отчёт должен давать проверяющему ответы на следующие вопросы:
- К какому курсу относится задание?
 - Какое задание выполнено?
 - Кем выполнено задание?
 - В чём заключалось задание?
 - Что было сделано? Что не было сделано?
 - Даны ли правильные ответы на все теоретические вопросы задания?
 - Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
 - Выполнена ли творческая часть задания?
 - Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
 - Какой литературой пользовался студент?
 
Требования к программному коду
- Код должен в целом соответствовать PEP8 (eng или rus )
 - В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, автоматически оценивается в 0 баллов.
 - Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению
 - Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
 - Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
 - Код, содержащий плагиат, автоматически оценивается в 0 баллов
 

