Практикум на ЭВМ (317)/2017-2018

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

(Различия между версиями)
Перейти к: навигация, поиск
(Материалы занятий (осень))
Текущая версия (20:11, 15 февраля 2019) (править) (отменить)
 
(11 промежуточных версий не показаны.)
Строка 8: Строка 8:
Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму]
Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму]
-
Чат курса в telegram: [https://t.me/joinchat/B2UcOULcOYFQNRjEl18CtQ инвайт]
 
Репозиторий со всеми материалами: [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
|
|
Выступления студентов.
Выступления студентов.
Строка 200: Строка 223:
| align="center"|1 || Система контроля версий Git || Солоткий Михаил || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Solotky_Git.pdf слайды]
| align="center"|1 || Система контроля версий Git || Солоткий Михаил || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Solotky_Git.pdf слайды]
|-
|-
-
| align="center"|2 || Основные отличия Python2 и Python3 || Шестакова Анна||
+
| align="center"|2 || Основные отличия Python2 и Python3 || Шестакова Анна|| [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Shestakova_Distinctions_between_Python2_and_3.pdf слайды]
|-
|-
-
| align="center"|3 || Средства консервации объектов в Python (json, pickle и другие) || Всеволод Полетаев ||
+
| align="center"|3 || Средства консервации объектов в Python (json, pickle и другие) || Всеволод Полетаев || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Poletaev_Serialization.pdf слайды]
|-
|-
-
| align="center"|4 || Библиотеки для распараллеливания и ускорения вычислений в Python (выбрать одну) || Цыпин Артем ||
+
| 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 слайды]
Строка 220: Строка 243:
| align="center"|11 || Проксимальный градиентный метод для обучения моделей с L1-регуляризацией || Фоминская Галина || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/fominskaya_proximal.pdf слайды]
| align="center"|11 || Проксимальный градиентный метод для обучения моделей с L1-регуляризацией || Фоминская Галина || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/fominskaya_proximal.pdf слайды]
|-
|-
-
| align="center"|12 || Разложение Холецкого и его применения || Драгунов Никита ||
+
| align="center"|12 || Разложение Холецкого и его применения || Драгунов Никита || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Dragunov_Cholesky.pdf слайды]
 +
|-
 +
| align="center"|13 || Стандартные матричные разложения: LDL, LU и QR. Примеры использования. || Скачков Николай || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Skachkov_decompositions.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"|13 || Стандартные матричные разложения: LDL, LU и QR. Примеры использования. || Скачков Николай ||
+
| align="center"|17 || Библиотека для визуализации в Python (выбрать одну, не matplotlib) || Сагайдак Олег || [https://github.com/arti32lehtonen/mmp_prac_2017/blob/master/student_reports/Sagaydak_seaborn.pdf слайды]
|-
|-
-
| align="center"|14 || Метод NCA для обучения метрики || Сомов Иван ||
+
| 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.

jupyter-notebook

слайды

Ознакомиться c PEP8

домашнее задание 1

12 сентября Занятие 2

Структуры данных (продолжение). Библиотека Numpy.

jupyter-notebook(python)

jupyter-notebook(numpy)

домашнее задание 2

19 сентября Занятие 3

Функции, модули, классы. ООП в Python.

слайды

домашнее задание 3

26 сентября Занятие 4

Разбор первого домашнего задания.

Тестирование. Основы визуализации.

слайды(тестирование)

jupyter-notebook(matplotlib)

3 октября Занятие 5

Обсуждение первого практического задания.

Основы обработки изображений.

Разбор второго домашнего задания.

слайды(изображения)

практическое задание 1

страничка соревнования

10 октября Занятие 6

Подготовка текстовых отчётов. Система TeX.

слайды
Книга по системе LaTeX
LaTeX в примерах

17 октября Занятие 7

Итераторы. Генераторы.

слайды

24 октября Занятие 8

Декораторы.

слайды

ноутбук с примерами

лекция CSC

статья самоучителя

домашнее задание 4

страница соревнования

31 октября Занятие 9

Разбор отчётов по практическому заданию.

Обработка текстов.

слайды (отчёты)

слайды (тексты)

7 ноября Занятие 10

Подготовка коротких выступлений.

Пакет beamer для презентаций. Продвинутый TeX.

слайды (выступление)

слайды (тех)

исходники слайдов

Готовиться к выступлению

практическое задание 2

14 ноября Занятие 11

Выступления студентов.

Готовиться к выступлению

21 ноября Занятие 12

Выступления студентов.

28 ноября Занятие 13

Обсуждение третьего практического задания.

Задачи условной оптимизации.

Метод субградиентного спуска. Метод PEGASOS.

Готовиться к выступлению

практическое задание 3

прототипы

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 баллов

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

2016-2017

2015-2016

2014-2015

2013-2014

2012-2013

2011-2012

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