EITC/AI/DLPP Deep Learning with Python и PyTorch - это европейская программа ИТ-сертификации по основам программирования глубокого обучения на Python с библиотекой машинного обучения PyTorch.
Учебная программа EITC/AI/DLPP Deep Learning с Python и PyTorch фокусируется на практических навыках глубокого обучения Python, программировании с библиотекой PyTorch, организованной в рамках следующей структуры, охватывающей исчерпывающий видеодидактический контент в качестве справочного материала для этой сертификации EITC.
Глубокое обучение (также известное как глубокое структурированное обучение) является частью более широкого семейства методов машинного обучения, основанных на искусственных нейронных сетях с репрезентативным обучением. Обучение может быть контролируемым, частично контролируемым или неконтролируемым. Архитектуры глубокого обучения, такие как глубокие нейронные сети, сети глубоких убеждений, рекуррентные нейронные сети и сверточные нейронные сети, применяются в таких областях, как компьютерное зрение, машинное зрение, распознавание речи, обработка естественного языка, распознавание звука, фильтрация социальных сетей, машинный перевод, биоинформатика. , разработка лекарств, анализ медицинских изображений, проверка материалов и программы настольных игр, в которых они дали результаты, сопоставимые, а в некоторых случаях и превосходящие возможности экспертов.
Python - это интерпретируемый язык программирования общего назначения высокого уровня. Философия дизайна Python делает упор на удобочитаемости кода с заметным использованием значительных пробелов. Его языковые конструкции и объектно-ориентированный подход призваны помочь программистам писать ясный, логичный код для небольших и крупномасштабных проектов. Python часто описывается как язык с «включенными батареями» из-за его обширной стандартной библиотеки. Python обычно используется в проектах искусственного интеллекта и проектах машинного обучения с помощью таких библиотек, как TensorFlow, Keras, Pytorch и Scikit-learn.
Python имеет динамическую типизацию (выполнение во время выполнения многих общих программных действий, которые статические языки программирования выполняют во время компиляции) и сборщик мусора (с автоматическим управлением памятью). Он поддерживает несколько парадигм программирования, включая структурированное (в частности, процедурное), объектно-ориентированное и функциональное программирование. Он был создан в конце 1980-х годов и впервые выпущен в 1991 году Гвидо ван Россумом в качестве преемника языка программирования ABC. Python 2.0, выпущенный в 2000 году, представил новые функции, такие как понимание списков и систему сбора мусора с подсчетом ссылок, и был прекращен с версией 2.7 в 2020 году. Python 3.0, выпущенный в 2008 году, был основным пересмотром языка, который является не полностью обратно совместим, и большая часть кода Python 2 не запускается без изменений на Python 3. С окончанием срока службы Python 2 (и pip, прекратившим поддержку в 2021 году), поддерживаются только Python 3.6.x и более поздние версии, а более старые версии все еще поддержка, например, Windows 7 (и старые установщики не ограничиваются 64-битной Windows).
Интерпретаторы Python поддерживаются для основных операционных систем и доступны еще для нескольких (а в прошлом поддерживали гораздо больше). Мировое сообщество программистов разрабатывает и поддерживает CPython, бесплатную эталонную реализацию с открытым исходным кодом. Некоммерческая организация Python Software Foundation управляет ресурсами для разработки Python и CPython и направляет их.
По состоянию на январь 2021 года Python занимает третье место в рейтинге самых популярных языков программирования TIOBE после C и Java, ранее занимая второе место и получая награду за наибольшую популярность в 2020 году. Он был выбран языком программирования года в 2007 и 2010 годах. , и 2018.
Эмпирическое исследование показало, что языки сценариев, такие как Python, более продуктивны, чем обычные языки, такие как C и Java, для задач программирования, связанных с манипуляциями со строками и поиском в словаре, и определило, что потребление памяти часто было «лучше, чем у Java, а не намного хуже, чем C или C ++ ». К крупным организациям, использующим Python, относятся, например, Википедия, Google, Yahoo !, ЦЕРН, НАСА, Facebook, Amazon, Instagram.
Помимо приложений искусственного интеллекта, Python как язык сценариев с модульной архитектурой, простым синтаксисом и инструментами обработки текста часто используется для обработки естественного языка.
PyTorch - это библиотека машинного обучения с открытым исходным кодом на основе библиотеки Torch, используемая для таких приложений, как компьютерное зрение и обработка естественного языка, в первую очередь разработанная исследовательской лабораторией Facebook AI Research (FAIR). Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под модифицированной лицензией BSD. Хотя интерфейс Python более совершенен и является основным направлением разработки, PyTorch также имеет интерфейс C ++. На основе PyTorch построен ряд программ для глубокого обучения, включая Tesla Autopilot, Uber's Pyro, HuggingFace's Transformers, PyTorch Lightning и Catalyst.
- Тензорные вычисления (например, NumPy) с сильным ускорением с помощью графических процессоров (GPU)
- Глубокие нейронные сети, построенные на ленточной системе автоматической (вычислительной) дифференциации
Facebook использует как PyTorch, так и сверточную архитектуру для быстрого встраивания функций (Caffe2), но модели, определенные этими двумя фреймворками, были взаимно несовместимы. Проект Open Neural Network Exchange (ONNX) был создан Facebook и Microsoft в сентябре 2017 года для преобразования моделей между фреймворками. Caffe2 был объединен с PyTorch в конце марта 2018 года.
PyTorch определяет класс под названием Tensor (torch.Tensor) для хранения и работы с однородными многомерными прямоугольными массивами чисел. Тензоры PyTorch похожи на массивы NumPy, но также могут работать на графическом процессоре Nvidia с поддержкой CUDA. PyTorch поддерживает различные подтипы тензоров.
Для Pytorch есть несколько важных модулей. К ним относятся:
- Модуль Autograd: PyTorch использует метод, называемый автоматическим дифференцированием. Регистратор записывает, какие операции были выполнены, а затем воспроизводит их в обратном порядке для вычисления градиентов. Этот метод особенно эффективен при построении нейронных сетей для экономии времени в одну эпоху за счет вычисления дифференцирования параметров на прямом проходе.
- Модуль Optim: torch.optim - это модуль, реализующий различные алгоритмы оптимизации, используемые для построения нейронных сетей. Большинство часто используемых методов уже поддерживаются, поэтому нет необходимости создавать их с нуля.
- Модуль nn: PyTorch autograd позволяет легко определять вычислительные графы и принимать градиенты, но исходный autograd может быть слишком низкоуровневым для определения сложных нейронных сетей. Здесь может помочь модуль nn.
Чтобы более подробно ознакомиться с учебным планом сертификации, вы можете расширить и проанализировать таблицу ниже.
Учебная программа EITC/AI/DLPP Deep Learning with Python и PyTorch Certification Curriculum ссылается на дидактические материалы с открытым доступом в виде видео Харрисона Кинсли. Учебный процесс разбит на пошаговую структуру (программы -> уроки -> темы), охватывающую соответствующие разделы учебного плана. Также предоставляются неограниченные консультации с экспертами в предметной области.
Подробнее о процедуре сертификации см. Как это работает.
Загрузите полные подготовительные материалы для автономного самообучения для программы глубокого обучения EITC/AI/DLPP с помощью Python и PyTorch в файле PDF.
Подготовительные материалы EITC/AI/DLPP – стандартная версия
Подготовительные материалы EITC/AI/DLPP – расширенная версия с контрольными вопросами