В этом руководстве мы рассмотрим, как запускать модели PyTorch на плате PYNQ-Z1, универсальной платформе на основе FPGA. Независимо от того, являетесь ли вы новичком в разработке PyTorch или FPGA, это пошаговое руководство поможет вам начать развертывание моделей PyTorch на реальном оборудовании.
Предпосылки:
- Плата PYNQ-Z1
- Компьютер с возможностью SSH
- Базовые знания PyTorch и FPGA.
Шаг 1. Настройте плату PYNQ-Z1:
Прежде чем мы углубимся в запуск моделей PyTorch, давайте убедимся, что ваша настройка проста и подключена. Выполните следующие действия, чтобы подготовить плату PYNQ-Z1:
- Сетевое подключение. Убедитесь, что ваш ноутбук подключен к Интернету, а плата PYNQ-Z1 подключена к той же сети через маршрутизатор.
- Доступ через SSH. Откройте терминал Windows на своем ноутбуке. Введите следующую команду, чтобы установить SSH-соединение с вашей платой PYNQ-Z1.
ssh xilinx@pynq
Если будет предложено ввести пароль, это указывает на успешное соединение между вашей платой PYNQ и сетью.
После настройки и подключения вашей платы PYNQ-Z1 вы готовы исследовать захватывающий мир запуска моделей PyTorch на оборудовании FPGA. Давайте продолжим следующие шаги в нашем путешествии.
Создайте виртуальную среду:
- После входа в систему с установленным venv и подключенной платой PYNQ-Z1 вам необходимо создать виртуальную среду, и там должны быть установлены все необходимые зависимости:
python3 -m venv venv source venv/bin/activate
Установка зависимостей в виртуальной среде:
Чтобы упростить процесс, я взял на себя тяжелую работу, собрав и организовав все необходимые зависимости для запуска модели PyTorch на FPGA. Выполните следующие простые шаги, чтобы получить все необходимое:
- Установленные зависимости: я старательно установил все необходимые зависимости в виртуальной среде Python. Это гарантирует, что ваша среда останется чистой и изолированной, предотвращая любые конфликты.
- Файл требований: я скомпилировал все зависимости в удобный файл
requirements.txt
. Этот файл содержит список пакетов вместе с их версиями, которые необходимы для нашей установки PyTorch-FPGA. - Простая установка. Чтобы облегчить вам жизнь, вы можете установить все зависимости с помощью одной команды. Просто выполните следующую команду в своей виртуальной среде:
pip install -r requirements.txt
Запустив вышеупомянутую команду, она автоматически устанавливает все необходимые пакеты, гарантируя, что ваша плата PYNQ-Z1 оснащена всем необходимым для беспрепятственного запуска моделей PyTorch на FPGA.
Выполнив эти шаги, вы получите полностью подготовленную среду со всеми готовыми к работе зависимостями. Теперь давайте погрузимся в самое интересное — запуск вашей модели PyTorch на плате PYNQ-Z1 FPGA!
Перенесите свою модель на доску:
Прежде чем мы сможем запустить нашу модель PyTorch, давайте перенесем необходимые файлы на плату PYNQ-Z1:
- Используя WinSCP или аналогичный инструмент, перенесите свою модель PyTorch и файл обнаружения (например, model.pt,Detect.py) в домашний каталог платы.
- Теперь, когда у нас настроена плата PYNQ-Z1 и установлены все зависимости, пришло время протестировать вашу модель PyTorch с помощью сценария detect.py. Этот скрипт позволяет нам оценить производительность вашей модели и увидеть ее результаты в действии.
- Если у вас есть возможность найти файл detect.py, вы также можете написать собственный файл вывода для оценки обученной модели PyTorch.
- Перейдите в каталог вашего проекта. Откройте терминал и перейдите в каталог, в котором находится ваш проект PyTorch. Здесь должен находиться ваш скрипт detect.py.
- Теперь в терминале запустите скрипт вывода.
- Перейдите в каталог, содержащий ваш скрипт detect.py.
- Запустите скрипт с помощью следующей команды.
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, вы сможете продолжить изучение методов оптимизации и экспериментировать с более сложными моделями. Приятного кодирования!