Программа учебных курсов

1. Виртуализация и создание рабочих окружений

Иногда, того компьютера который есть недостаточно. Хочется получить доступ к другому, который можно будет назвать development-machine. Или для того, чтобы изучить новую технологию, вроде docker, требуется операционная система Linux. Или хочется попробовать использовать библиотеку, но не забивать ей жёсткий диск своего компьютера. А что если требуется не один дополнительный компьютер, а несколько сразу, чтобы попробовать кластерную версию какого-то сервиса вроде Hadoop/HBase.

Для того, чтобы справиться с описанными задачами не покупая новый компьютер можно использовать виртуализацию прямо на личном компьютере. Виртуальная машина потребует выделить ей определённое количество оперативной памяти и часть ресурсов процессора. Если компьютер мощный, на нём можно разворачивать более 10 виртуальных машин одновременно. Для того, чтобы более эффективно работать с большим количеством виртуальных машин были созданы облака. Но принципы функционирования виртуальных машин похожи. Если у вас компьютер Mac с процессором линейки M, то виртуализацию на нём мы запустить не сможем, но во время туториала вы сможете работать вместе с другими студентами.

Требования к участникам курса:

В данном учебном курсе вы:

  • Создадите локальные виртуальные машины с Linux Ubuntu.
  • Научитесь настраивать разделяемые директории, общий буфер обмена.
  • Копировать, сохранять и обмениваться виртуальными машинами.
  • Получите базовые знания для установки и работы в Linux Ubuntu.
  • Установите Anaconda в Linux. Только те кто успеет :)

2.Современные средства разработки ПО

На примере системы GitLab в курсе будут изучаться современные инструменты и технологии разработки программного обеспечения: система контроля версий git, автоматизация тестирования и развертывания приложений, а также подходы к организации процесса разработки программного обеспечения (ПО).

В результате освоения данного учебного курса вы:
•    Познакомитесь с системой управления проектами GitLab.
•    Получите базовые навыки работы с системой контроля версий Git.
•    Научитесь использовать инструменты Continuous Integration/Continuous Delivery (CI/CD).

Рекомендуется предварительно ознакомиться с основами работы в командной строке Unix: https://swcarpentry.github.io/shell-novice/index.html

Материалы курса: https://gitlab-hlit.jinr.ru/tutorial-modern-software-development-tools/materials


3. Машинное обучение в прикладных задачах, решаемых в ЛИТ ОИЯИ. 

В рамках курса будет рассматриваться использование PyTorch для решения задач классификации изображений. Будут разобраны основные понятия от подготовки данных до получения результатов. Мы попробуем решить задачу классификации на изображениях, собранных на месте. Дополнительно – научимся решать задачу детекции с применением YOLO_v7. При возможности – протестируем zero-shot модель детекции объектов, которая не требует обучения.

Требования к участникам курса:

  • наличие ноутбука;
  • базовые знания языка Python;
  • Google аккаунт.

В данном учебном курсе вы научитесь:

  • готовить данные для использования их в обучении модели;
  • отображать данные для обучения;
  • использовать различные хорошо зарекомендовавшие себя нейросетевые архитектуры;
  • работать со слоями моделей;
  • реализовывать процесс обучения сети и вывод параметров обучения;
  • классифицировать изображения с использованием обученной сети
  • рассмотрим различные варианты решения задачи детекции объектов.

4. Инструментарий на основе Python-библиотек и экосистемы Jupyter для решения научных и прикладных задач. 

Целью курса является освоение основных вычислительных методов и инструментов для удобной организации проведения расчетов и научной визуализации на языке программирования Python. Актуальность изучения, связана с большой востребованностью программных модулей, которые предоставляются группе исследователей или научному сообществу, не только проводить расчеты, визуализировать результаты исследования, сопровождать их необходимыми формулами и пояснениями, но и последовательно воспроизводить все этапы расчетов: наглядно видеть уравнения, строить все промежуточные графики и отображать необходимые промежуточные расчеты. Методика разработки программных модулей будет показана на примере исследования эффекта Джозефсона, построения вольт-амперных характеристик и задачи по изучению динамики намагниченности в джозефсоновском ϕ0-переходе. Курс будет проходить в экосистеме ML/DL/HPC, являющейся частью гетерогенной платформы HybriLIT (Лаборатория информационных технологий им. М.Г. Мещерякова ОИЯИ, г. Дубна).

Требования к участникам курса:

  • наличие ноутбука;
  • базовые знания языка Python;

В данном учебном курсе вы научитесь:

  • освоите работу в среде Jupyter Notebook;
  • освоите работу с математическими библиотеками библиотеками Python для анализа данных и их визуализации;
  • получите практический навык моделирования физических явлений.

Материалы курса: http://studhub.jinr.ru:8080/books/intro.html