Практикум на ЭВМ (317)/2020 (осень)
Материал из MachineLearning.
(→Материалы занятий) |
(→Материалы занятий) |
||
(10 промежуточных версий не показаны.) | |||
Строка 107: | Строка 107: | ||
|12 октября | |12 октября | ||
|Занятие 6 | |Занятие 6 | ||
- | | | + | | Подготовка коротких выступлений. |
Обработка исключений. Мененджеры контекста. | Обработка исключений. Мененджеры контекста. | ||
| | | | ||
Строка 117: | Строка 117: | ||
|Занятие 7 | |Занятие 7 | ||
| Итераторы и генераторы. | | Итераторы и генераторы. | ||
- | | | + | | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/07_iterators/Итераторы%20и%20генераторы.pdf слайды] |
| [https://youtu.be/vUFAJrIPvcE видео] | | [https://youtu.be/vUFAJrIPvcE видео] | ||
- | | | + | | Контест 4: итераторы и генераторы (anytask) |
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
|- <!-- Новое занятие --> | |- <!-- Новое занятие --> | ||
|26 октября | |26 октября | ||
|Занятие 8 | |Занятие 8 | ||
- | | | + | | Обсуждение второго практического задания (LogReg). |
- | | | + | Введение в обработку текстов. |
- | | | + | | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/08_linear_and_text/Обработка%20текство%20в%20Python.pdf слайды] |
- | | | + | |
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/08_linear_and_text/Линейные%20модели%20для%20классификации.pdf конспект к заданию] | ||
+ | | [https://youtu.be/I4xD65Rq9XM видео] | ||
+ | | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/Tasks/Task2/task2.pdf Практическое задание №2] | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
|- <!-- Новое занятие --> | |- <!-- Новое занятие --> | ||
|2 ноября | |2 ноября | ||
|Занятие 9 | |Занятие 9 | ||
- | | | + | | Декораторы. |
- | + | | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/09_decorators/decorators.pdf слайды] | |
- | | | + | | [https://youtu.be/M2e0VREL1oU видео] |
- | + | ||
| | | | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
Строка 141: | Строка 143: | ||
|9 ноября | |9 ноября | ||
|Занятие 10 | |Занятие 10 | ||
- | | ML-инфраструктура (часть 1) | + | | ML-инфраструктура (часть 1) (ssh, sftp, tmux, Google Cloud, Git) |
- | | | + | | [https://github.com/nakhodnov17/ProgrammingEnvironment материалы занятия] |
- | | | + | | [https://youtu.be/ycJ5zEHvYh4 видео] |
| | | | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
Строка 149: | Строка 151: | ||
|16 ноября | |16 ноября | ||
|Занятие 11 | |Занятие 11 | ||
- | | ML-инфраструктура (часть 2) | + | | ML-инфраструктура (часть 2) (Docker) |
- | | | + | | [https://github.com/nakhodnov17/ProgrammingEnvironment материалы занятия] |
- | | | + | | [https://youtu.be/QiUyp-EYbP8 видео] |
| | | | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
Строка 157: | Строка 159: | ||
|23 ноября | |23 ноября | ||
|Занятие 12 | |Занятие 12 | ||
- | | | + | | ML-инфраструктура (часть 3) (Docker, Flask) |
- | + | | [https://github.com/nakhodnov17/ProgrammingEnvironment материалы занятия] | |
- | | | + | | [https://youtu.be/K1yNQn4dbyE видео] |
- | + | ||
| | | | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
+ | |||
|- <!-- Новое занятие --> | |- <!-- Новое занятие --> | ||
|30 ноября | |30 ноября | ||
|Занятие 13 | |Занятие 13 | ||
- | | | + | | Обсуждение третьего практического занятия. |
| | | | ||
+ | | [https://www.youtube.com/watch?v=R5ib8CKLw7c&list=PLVF5PzSHILHRAmJXJvv6_PFzfHf-Zc09Z&index=13 видео] | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |7 декабря | ||
+ | |Занятие 14 | ||
+ | | Разработка ML проектов. | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |14 декабря | ||
+ | |Занятие 15 | ||
+ | | Микросервисная архитектура. | ||
| | | | ||
+ | | [https://www.youtube.com/watch?v=8jE5tHeRnqk видео] | ||
| | | | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
+ | |||
|} | |} | ||
Текущая версия
- Обязательный курс для студентов каф. ММП 3 курса, 5 семестр
- Зачёт с оценкой
- Преподаватели: Артём Попов, Д.А. Кропотов, Евгений Бобров, Максим Находнов, Чернышёв Александр
- Занятия проходят онлайн по понедельникам, начало в 16:20. Первое занятие 7 сентября.
Анонимные отзывы по курсу можно оставлять здесь: ссылка на гугл-форму
Репозиторий со всеми материалами: ссылка
Короткая ссылка на страницу: ссылка
Видеозаписи занятий: ссылка.
Для доступа к системе сдачи заданий anytask, свяжитесь с одним из преподавателей.
Содержание |
Объявления
Пока нет.
Правила сдачи практикума
1. В рамках семестра предполагается три больших практических задания и пять домашних заданий. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.
2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Последнее практическое задание так же будет включать в себя реализацию работающей ML-системы. Срок выполнения каждого задания — 2 недели. Задания, сданные после этого срока, принимаются со штрафом. За каждый день штраф — 1 балл. Практическое задание считается зачтённым, если по нему выполнены и засчитаны все три этапа работы.
3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку.
4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы.
5. Предварительные критерии итоговой оценки:
- отлично — 170 баллов, 3 практических задания зачтены
- хорошо — 125 баллов, 2 практических задания зачтены
- удовлетворительно — 85 баллов, 1 практическое задание зачтено
Материалы занятий
Дата | Номер | Тема | Материалы | Видео | Д/З |
---|---|---|---|---|---|
7 сентября | Занятие 1 |
Организационные вопросы. Введение в Python. |
Ознакомиться с PEP8: Контест 1: Введение в Python (anytask) | ||
14 сентября | Занятие 2 | Библиотека numpy. Векторизация вычислений. | ноутбук | видео | Изучить материалы Indexing и Broadcasting
Контест 2: numpy (anytask) |
21 сентября | Занятие 3 | Организация кода в Python.
Функции, модули, классы. | слайды | видео | Контест 3: классы (anytask) |
28 сентября | Занятие 4 | Обсуждение первого практического задания (KNN).
Введение в обработку изображений. Визуализация в Python. | слайды | видео | Практическое задание №1 |
5 октября | Занятие 5 | Подготовка текстовых отчётов. Система TeX. | слайды | видео | |
12 октября | Занятие 6 | Подготовка коротких выступлений.
Обработка исключений. Мененджеры контекста. | |||
19 октября | Занятие 7 | Итераторы и генераторы. | слайды | видео | Контест 4: итераторы и генераторы (anytask) |
26 октября | Занятие 8 | Обсуждение второго практического задания (LogReg).
Введение в обработку текстов. | слайды | видео | Практическое задание №2 |
2 ноября | Занятие 9 | Декораторы. | слайды | видео | |
9 ноября | Занятие 10 | ML-инфраструктура (часть 1) (ssh, sftp, tmux, Google Cloud, Git) | материалы занятия | видео | |
16 ноября | Занятие 11 | ML-инфраструктура (часть 2) (Docker) | материалы занятия | видео | |
23 ноября | Занятие 12 | ML-инфраструктура (часть 3) (Docker, Flask) | материалы занятия | видео | |
30 ноября | Занятие 13 | Обсуждение третьего практического занятия. | видео | ||
7 декабря | Занятие 14 | Разработка ML проектов. | |||
14 декабря | Занятие 15 | Микросервисная архитектура. | видео |
Требования к отчёту по практическим заданиям
Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX. Студенты, хорошо выполнившие отчёты по прошлым заданиям, получают возможность сдавать отчёты в формате HTML или PDF, подготовленные с помощью jupyter notebook.
Отчёт должен давать проверяющему ответы на следующие вопросы:
- К какому курсу относится задание?
- Какое задание выполнено?
- Кем выполнено задание?
- В чём заключалось задание?
- Что было сделано? Что не было сделано?
- Даны ли правильные ответы на все теоретические вопросы задания?
- Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
- Выполнена ли творческая часть задания?
- Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
- Какой литературой пользовался студент?
Некоторые элементы хорошего отчёта:
- Объём отчёта: 5--20 страниц;
- Текст отчёта не повторяет полной формулировки задания;
- Структура отчёта соответствует пунктам задания;
- Используются векторные шрифты;
- Графики оформлены надлежащим образом;
- Шкала для графиков выбрана правильно;
- На разных графиках результаты для одинаковых методов отображаются одним и тем же цветом;
- Между расположением графиков и местами их упоминания в тексте относительно небольшое расстояние (на той же или на соседней странице);
- На страницах не должно быть много пустого места;
- В большинстве случаев графики/таблицы/псевдокоды алгоритмов не должны занимать большей части одной страницы отчёта;
- Все числа в тексте/таблицах указаны с необходимым числом значащих цифр;
- В большинстве случае в отчёте не должно быть никакого кода;
- Для всех экспериментов описан выбранный дизайн экспериментов, а также сделаны выводы из полученных результатов;
Требования к программному коду
- Код должен в целом соответствовать PEP8 (eng или rus )
- В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, может дополнительно штрафоваться.
- Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению.
- Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
- Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
- Код, содержащий плагиат, автоматически оценивается в 0 баллов
Страницы прошлых лет
2018-2019 (осень) , 2018-2019 (весна)