Практикум на ЭВМ (317)/2020 (осень)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м
Текущая версия (00:34, 15 декабря 2020) (править) (отменить)
(Материалы занятий)
 
(23 промежуточные версии не показаны)
Строка 2: Строка 2:
* Зачёт с оценкой
* Зачёт с оценкой
* Преподаватели: [[Участник:Arti_lehtonen| Артём Попов]], [[Участник:Kropotov|Д.А. Кропотов]], Евгений Бобров, Максим Находнов, Чернышёв Александр
* Преподаватели: [[Участник:Arti_lehtonen| Артём Попов]], [[Участник:Kropotov|Д.А. Кропотов]], Евгений Бобров, Максим Находнов, Чернышёв Александр
-
* Занятия проходят онлайн по понедельникам, начало в 16:20. Первое занятие 7 сентября.
+
* Занятия проходят [https://zoom.us/j/95914572037?pwd=dFpjOWxPVjc4eUdOdFRDK3ZDYVJkZz09 онлайн] по понедельникам, начало в 16:20. Первое занятие 7 сентября.
Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму]
Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму]
Строка 8: Строка 8:
Репозиторий со всеми материалами: [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020 ссылка]
Репозиторий со всеми материалами: [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020 ссылка]
-
Коротка ссылка на страницу: [https://clck.ru/Fdfc4 ссылка]
+
Короткая ссылка на страницу: [https://clck.ru/Fdfc4 ссылка]
 +
 
 +
Видеозаписи занятий: [https://www.youtube.com/playlist?list=PLVF5PzSHILHRAmJXJvv6_PFzfHf-Zc09Z ссылка].
Для доступа к системе сдачи заданий anytask, свяжитесь с одним из преподавателей.
Для доступа к системе сдачи заданий anytask, свяжитесь с одним из преподавателей.
Строка 16: Строка 18:
= Правила сдачи практикума =
= Правила сдачи практикума =
-
TBA
+
 
 +
1. В рамках семестра предполагается три больших практических задания и пять домашних заданий. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.
 +
 
 +
2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Последнее практическое задание так же будет включать в себя реализацию работающей ML-системы. Срок выполнения каждого задания — 2 недели. Задания, сданные после этого срока, принимаются со штрафом. За каждый день штраф — 1 балл. Практическое задание считается зачтённым, если по нему выполнены и засчитаны все три этапа работы.
 +
 
 +
3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку.
 +
 
 +
4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы.
 +
 
 +
5. Предварительные критерии итоговой оценки:
 +
 
 +
* отлично — 170 баллов, 3 практических задания зачтены
 +
 
 +
* хорошо — 125 баллов, 2 практических задания зачтены
 +
 
 +
* удовлетворительно — 85 баллов, 1 практическое задание зачтено
= Материалы занятий =
= Материалы занятий =
-
TBA
+
{|class = "standard"
 +
! Дата !! Номер !! Тема !! Материалы !! Видео !! Д/З
 +
|- <!-- Новое занятие -->
 +
|7 сентября
 +
|Занятие 1
 +
|
 +
Организационные вопросы.
 +
 
 +
Введение в Python.
 +
|
 +
[https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/01_python_intro/main.pdf презентация (организация)]
 +
 
 +
[https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/01_python_intro/intro_python.ipynb ноутбук (python)]
 +
|
 +
[https://www.youtube.com/watch?v=Go3JfsLmcT8&list=PLVF5PzSHILHRAmJXJvv6_PFzfHf-Zc09Z&index=2&t=0s организация]
 +
 
 +
[https://www.youtube.com/watch?v=ID1tJ2U6nx4&list=PLVF5PzSHILHRAmJXJvv6_PFzfHf-Zc09Z&index=3&t=0s введение в python]
 +
|
 +
Ознакомиться с PEP8:
 +
 
 +
[https://www.python.org/dev/peps/pep-0008/ оригинал]
 +
[https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html перевод]
 +
 
 +
Контест 1: Введение в Python (anytask)
 +
 
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|14 сентября
 +
|Занятие 2
 +
| Библиотека numpy. Векторизация вычислений.
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/02_numpy/intro_to_numpy.ipynb ноутбук]
 +
| [https://youtu.be/tuHqAuxtwb4 видео]
 +
| Изучить материалы [https://numpy.org/doc/stable/reference/arrays.indexing.html Indexing] и [https://numpy.org/doc/stable/user/basics.broadcasting.html Broadcasting]
 +
 
 +
Контест 2: numpy (anytask)
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|21 сентября
 +
|Занятие 3
 +
| Организация кода в Python.
 +
 
 +
Функции, модули, классы.
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/03_code_structure/function_modules_classes.pdf слайды]
 +
| [https://youtu.be/fJfhlsftGZM видео]
 +
| Контест 3: классы (anytask)
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|28 сентября
 +
|Занятие 4
 +
| Обсуждение первого практического задания (KNN).
 +
 
 +
Введение в обработку изображений.
 +
 
 +
Визуализация в Python.
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/04_knn_images/Основы%20обработки%20изображений.pdf слайды]
 +
 
 +
[https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/04_knn_images/Практические%20аспекты%20использования%20метода%20ближайших%20соседей.pdf конспект к заданию]
 +
| [https://youtu.be/mk2SIqNy5dA видео]
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/Tasks/task1.pdf Практическое задание №1]
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|5 октября
 +
|Занятие 5
 +
| Подготовка текстовых отчётов. Система TeX.
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/05_tex_reports/%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D1%85%20%D0%BE%D1%82%D1%87%D1%91%D1%82%D0%BE%D0%B2%20%D0%B2%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5%20TeX.pdf слайды]
 +
| [https://www.youtube.com/watch?v=rOBS3uHYSW8 видео]
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|12 октября
 +
|Занятие 6
 +
| Подготовка коротких выступлений.
 +
Обработка исключений. Мененджеры контекста.
 +
|
 +
|
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|19 октября
 +
|Занятие 7
 +
| Итераторы и генераторы.
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/07_iterators/Итераторы%20и%20генераторы.pdf слайды]
 +
| [https://youtu.be/vUFAJrIPvcE видео]
 +
| Контест 4: итераторы и генераторы (anytask)
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|26 октября
 +
|Занятие 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 ноября
 +
|Занятие 9
 +
| Декораторы.
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_fall_2020/blob/master/09_decorators/decorators.pdf слайды]
 +
| [https://youtu.be/M2e0VREL1oU видео]
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|9 ноября
 +
|Занятие 10
 +
| ML-инфраструктура (часть 1) (ssh, sftp, tmux, Google Cloud, Git)
 +
| [https://github.com/nakhodnov17/ProgrammingEnvironment материалы занятия]
 +
| [https://youtu.be/ycJ5zEHvYh4 видео]
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|16 ноября
 +
|Занятие 11
 +
| ML-инфраструктура (часть 2) (Docker)
 +
| [https://github.com/nakhodnov17/ProgrammingEnvironment материалы занятия]
 +
| [https://youtu.be/QiUyp-EYbP8 видео]
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|23 ноября
 +
|Занятие 12
 +
| ML-инфраструктура (часть 3) (Docker, Flask)
 +
| [https://github.com/nakhodnov17/ProgrammingEnvironment материалы занятия]
 +
| [https://youtu.be/K1yNQn4dbyE видео]
 +
|
 +
<!-- Конец занятия -->
 +
 
 +
|- <!-- Новое занятие -->
 +
|30 ноября
 +
|Занятие 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.

презентация (организация)

ноутбук (python)

организация

введение в 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 баллов

Страницы прошлых лет

2019-2020 (осень)

2018-2019 (осень) , 2018-2019 (весна)

2017-2018 (осень) , 2017-2018 (весна)

2016-2017

2015-2016

2014-2015

2013-2014

2012-2013

2011-2012

Личные инструменты