EITC/AI/DLPP Deep Learning with Python і PyTorch - це європейська програма ІТ-сертифікації з основ програмування глибокого навчання на Python за допомогою бібліотеки машинного навчання PyTorch.
Навчальна програма поглибленого навчання EITC/AI/DLPP з 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 (і піп, що припинив підтримку в 2021 році), підтримується лише Python 3.6.x та пізніші версії, при цьому старіші версії все ще підтримка, наприклад, Windows 7 (і старих інсталяторів, не обмежених 64-розрядною Windows).
Інтерпретатори Python підтримуються для основних операційних систем і доступні ще для кількох (а раніше підтримувались для багатьох інших). Світове співтовариство програмістів розробляє та підтримує CPython, безкоштовну та відкриту реалізацію посилань. Некомерційна організація, Фонд програмного забезпечення Python, управляє та направляє ресурси для розробки Python та CPython.
Станом на січень 2021 р. Python посідає третє місце в індексі найпопулярніших мов програмування TIOBE, посідаючи C та Java, попередньо посівши друге місце та нагороду за найбільший приріст популярності на 2020 рік. Його було вибрано Мовою програмування року у 2007, 2010 , та 2018 рік.
Емпіричне дослідження показало, що мови сценаріїв, такі як Python, є більш продуктивними, ніж звичайні мови, такі як C та Java, для проблем програмування, що включають маніпулювання рядками та пошук у словнику, і встановило, що споживання пам'яті часто було "кращим, ніж Java, а не набагато гірше, ніж С або С ++ ”. До великих організацій, які використовують Python, належать ia Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Окрім програм штучного інтелекту, Python, як мова сценаріїв з модульною архітектурою, простим синтаксисом та розширеними інструментами обробки тексту, часто використовується для обробки природної мови.
PyTorch - це бібліотека машинного навчання з відкритим кодом, заснована на бібліотеці Torch, яка використовується для таких програм, як комп’ютерний зір та обробка природних мов, в основному розроблена дослідницькою лабораторією AI Facebook (FAIR). Це безкоштовне програмне забезпечення з відкритим кодом, випущене за ліцензією Modified BSD. Незважаючи на те, що інтерфейс Python є більш відшліфованим і головним напрямком розвитку, PyTorch також має інтерфейс C ++. На вершині PyTorch побудовано ряд програм Deep Learning, включаючи автопілот Tesla, Pyro від Uber, трансформери HuggingFace, PyTorch Lightning та Catalyst.
- Тензорні обчислення (як NumPy) з сильним прискоренням за допомогою графічних процесорів (GPU)
- Глибокі нейронні мережі, побудовані на основі стрічкової автоматичної (обчислювальної) системи диференціації
Facebook працює як з PyTorch, так і з згортковою архітектурою для швидкого вбудовування функцій (Caffe2), але моделі, визначені двома фреймворками, були несумісними. Проект Open Neural Network Exchange (ONNX) був створений Facebook і Microsoft у вересні 2017 року для перетворення моделей між фреймворками. Наприкінці березня 2 року Caffe2018 було об’єднано з PyTorch.
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 є посилання на дидактичні матеріали відкритого доступу у відеоформаті Гаррісона Кінслі. Навчальний процес поділений на покрокову структуру (програми -> уроки -> теми), що охоплює відповідні частини навчального плану. Також надаються необмежені консультації з експертами в галузі.
Детальніше про процедуру сертифікації див Як це працює?.
Завантажте повні підготовчі матеріали для офлайн-самонавчання для програми EITC/AI/DLPP Deep Learning with Python і PyTorch у файлі PDF
Підготовчі матеріали EITC/AI/DLPP – стандартна версія
Підготовчі матеріали EITC/AI/DLPP – розширена версія з контрольними запитаннями