Если вы энтузиаст машинного обучения и хотите начать свое путешествие в мир искусственного интеллекта и машинного обучения, то, скорее всего, вы прошли несколько курсов на Coursera или во время учебы. Но все эти курсы более-менее теоретические и не учат, как использовать разные библиотеки машинного обучения для построения собственного пайплайна.

Этот пост проведет вас через ваш первый проект в области машинного обучения или глубокого обучения.

Существует множество библиотек с открытым исходным кодом для создания модели машинного обучения для Python, но я познакомлю вас с наиболее полезными из них:

  1. pytorch: https://pytorch.org/
  2. тензорный поток: https://www.tensorflow.org/
  3. scikit учиться: https://scikit-learn.org/stable/
  4. Нумпи: https://numpy.org/

«Мне не нужно знать все. Мне просто нужно знать, где его найти, когда он мне понадобится».

Чтобы создать свой первый конвейер машинного обучения, вам не нужно знать все в деталях. Просто представление о потоке поможет. Есть в основном только 3 процесса, которые вы должны синхронизировать друг с другом, чтобы создать рабочую лошадку для вашей задачи. Библиотека будет использоваться для предварительной обработки данных, обучения некоторой модели машинного обучения и использования обученной модели для прогнозирования новых данных. Вот и все! Вам не нужно вдаваться в подробности какого-либо из процессов, а просто пройтись по ним целиком.

Ниже приведена документация по библиотеке молнии pytorch.



Есть в основном два модуля, которые предлагает библиотека.

  1. Модуль молнии:
  • Вычисления (инициализация): это называется конструктором и позволяет классу инициализировать атрибуты этого класса.
  • Цикл обучения (training_step): этот метод создает цикл обучения. На самом деле это модель, и мы можем вызвать здесь множество хорошо определенных моделей, которые импортируются/загружаются в конструкторе как переменная. Это полезно, когда нам нужны разные модели для разных вариантов использования.
  • Цикл проверки (validation_step): этот метод представляет собой тот же цикл, что и в цикле обучения, который исключает обратное отслеживание модели.
  • Тестовый цикл (test_step): этот метод также работает так же, как цикл проверки, но имеет некоторые отличия, о которых мы поговорим позже.
  • Оптимизаторы (configure_optimizers): этот метод работает над определением конфигураций алгоритма и имеет возможность сходиться к решению локального минимума/оптимума с разной скоростью в соответствии с разными критериями. Это на самом деле очень глубоко в математике и не касается людей, которые просто хотят создать работающий конвейер.
  • train_dataloader/val_dataloader/test_dataloader: этот метод предназначен для загрузки данных перед каждым этапом обучения для обучения/проверки/тестирования.

2. Тренер:

Это самый простой модуль, который можно использовать. Вам просто нужно указать количество классов, и все остальные аргументы будут по умолчанию.

Теперь мы можем записать данные в модель. Это делается путем вызова аргумента fit в модуле тренера.

Вы увидите, как начнется обучение.

После завершения этапа обучения вы увидите, что библиотека создала несколько папок и сохранила гиперпараметры в файле для этапа вывода. Этот шаг является третьим шагом, который мы назвали прогнозированием новых данных.

Мы рассмотрим вывод в другой статье. До тех пор я буду улучшать свою статью со временем и делать ее более информативной и находчивой.