Практикум на ЭВМ (317)/2017-2018
Материал из MachineLearning.
- Обязательный курс для студентов каф. ММП 3 курса, 5-6 семестр
- Зачёт с оценкой
- Преподаватели: Д.А. Кропотов, Артём Попов и другие
- Занятия проходят в ауд. 524 по вторникам, начало в 16:20
Анонимные отзывы по курсу можно оставлять здесь: ссылка на гугл-форму
Чат курса в telegram: инвайт
Репозиторий со всеми материалами: ссылка на репозиторий
Правила сдачи практикума в осеннем семестре 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 |
Разбор отчётов по практическому заданию. Обработка текстов. |
Выступления студентов на семинаре
Выступление должно сопровождаться презентацией, подготовленной в LaTeX с помощью пакета beamer. При согласовании с преподавателем разрешается делать презентацию в Jupyter notebook или просто использовать Jupyter notebook вместо презентации. Приблизительный регламент выступления — 10 минут. После выступления необходимо залить свою презентацию в репозиторий курса.
Каждый студент должен выбрать одну тему из списка ниже либо предложить свою тему.
№ п/п | Тема | ФИО студента | Материалы |
---|---|---|---|
1 | Система контроля версий Git | Солоткий Михаил | |
2 | Основные отличия Python2 и Python3 | ||
3 | Средства консервации объектов в Python (json, pickle и другие) | ||
4 | Библиотеки для распараллеливания и ускорения вычислений в 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 для обучения метрики |
Требования к отчёту по большим практическим заданиям
Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX.
Отчёт должен давать проверяющему ответы на следующие вопросы:
- К какому курсу относится задание?
- Какое задание выполнено?
- Кем выполнено задание?
- В чём заключалось задание?
- Что было сделано? Что не было сделано?
- Даны ли правильные ответы на все теоретические вопросы задания?
- Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
- Выполнена ли творческая часть задания?
- Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
- Какой литературой пользовался студент?
Требования к программному коду
- Код должен в целом соответствовать PEP8 (eng или rus )
- В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, автоматически оценивается в 0 баллов.
- Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению
- Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
- Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
- Код, содержащий плагиат, автоматически оценивается в 0 баллов