В этом руководстве мы рассмотрим, как запускать модели PyTorch на плате PYNQ-Z1, универсальной платформе на основе FPGA. Независимо от того, являетесь ли вы новичком в разработке PyTorch или FPGA, это пошаговое руководство поможет вам начать развертывание моделей PyTorch на реальном оборудовании.

Предпосылки:

  1. Плата PYNQ-Z1
  2. Компьютер с возможностью SSH
  3. Базовые знания PyTorch и FPGA.

Шаг 1. Настройте плату PYNQ-Z1:

Прежде чем мы углубимся в запуск моделей PyTorch, давайте убедимся, что ваша настройка проста и подключена. Выполните следующие действия, чтобы подготовить плату PYNQ-Z1:

  1. Сетевое подключение. Убедитесь, что ваш ноутбук подключен к Интернету, а плата PYNQ-Z1 подключена к той же сети через маршрутизатор.
  2. Доступ через SSH. Откройте терминал Windows на своем ноутбуке. Введите следующую команду, чтобы установить SSH-соединение с вашей платой PYNQ-Z1.
ssh xilinx@pynq

Если будет предложено ввести пароль, это указывает на успешное соединение между вашей платой PYNQ и сетью.

После настройки и подключения вашей платы PYNQ-Z1 вы готовы исследовать захватывающий мир запуска моделей PyTorch на оборудовании FPGA. Давайте продолжим следующие шаги в нашем путешествии.

Создайте виртуальную среду:

  1. После входа в систему с установленным venv и подключенной платой PYNQ-Z1 вам необходимо создать виртуальную среду, и там должны быть установлены все необходимые зависимости:
python3 -m venv venv
source venv/bin/activate

Установка зависимостей в виртуальной среде:

Чтобы упростить процесс, я взял на себя тяжелую работу, собрав и организовав все необходимые зависимости для запуска модели PyTorch на FPGA. Выполните следующие простые шаги, чтобы получить все необходимое:

  1. Установленные зависимости: я старательно установил все необходимые зависимости в виртуальной среде Python. Это гарантирует, что ваша среда останется чистой и изолированной, предотвращая любые конфликты.
  2. Файл требований: я скомпилировал все зависимости в удобный файл requirements.txt. Этот файл содержит список пакетов вместе с их версиями, которые необходимы для нашей установки PyTorch-FPGA.
  3. Простая установка. Чтобы облегчить вам жизнь, вы можете установить все зависимости с помощью одной команды. Просто выполните следующую команду в своей виртуальной среде:
pip install -r requirements.txt

Запустив вышеупомянутую команду, она автоматически устанавливает все необходимые пакеты, гарантируя, что ваша плата PYNQ-Z1 оснащена всем необходимым для беспрепятственного запуска моделей PyTorch на FPGA.

Выполнив эти шаги, вы получите полностью подготовленную среду со всеми готовыми к работе зависимостями. Теперь давайте погрузимся в самое интересное — запуск вашей модели PyTorch на плате PYNQ-Z1 FPGA!

Перенесите свою модель на доску:

Прежде чем мы сможем запустить нашу модель PyTorch, давайте перенесем необходимые файлы на плату PYNQ-Z1:

  1. Используя WinSCP или аналогичный инструмент, перенесите свою модель PyTorch и файл обнаружения (например, model.pt,Detect.py) в домашний каталог платы.
  2. Теперь, когда у нас настроена плата PYNQ-Z1 и установлены все зависимости, пришло время протестировать вашу модель PyTorch с помощью сценария detect.py. Этот скрипт позволяет нам оценить производительность вашей модели и увидеть ее результаты в действии.
  3. Если у вас есть возможность найти файл detect.py, вы также можете написать собственный файл вывода для оценки обученной модели PyTorch.
  4. Перейдите в каталог вашего проекта. Откройте терминал и перейдите в каталог, в котором находится ваш проект PyTorch. Здесь должен находиться ваш скрипт detect.py.
  5. Теперь в терминале запустите скрипт вывода.
  6. Перейдите в каталог, содержащий ваш скрипт detect.py.
  7. Запустите скрипт с помощью следующей команды.
python detect.py # if you want to evaluate a model using detect.py file
python inference.py # if you want to evaluate a model using inference.py file

Заключение:

Поздравляем! Вы успешно развернули модель PyTorch на плате PYNQ-Z1. В этом руководстве описаны основные шаги: от настройки доски до запуска сценария вывода. Выполнив эти шаги, вы получили фундаментальное понимание того, как запускать модели PyTorch на оборудовании FPGA. По мере того, как вы освоитесь с разработкой PyTorch и FPGA, вы сможете продолжить изучение методов оптимизации и экспериментировать с более сложными моделями. Приятного кодирования!