SSD.pytorch
Воспроизвести SSD с помощью pytorch и провести обнаружение пешеходов на собственном наборе данных.
В образе docker уже установлены pytorch и различные зависимости, что избавляет от трудностей с установкой среды (настоятельно рекомендую использовать docker!).
SSD-код взят из следующих источников:
Были внесены дифференцированные изменения в соответствии с требованиями. Результаты можно получить, следуя инструкциям по использованию.
Установите docker и nvidia-docker на сервере.
Установка docker описана на сайте https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1.
Инструкция по установке nvidia-docker приведена на странице https://github.com/NVIDIA/nvidia-docker.
Руководство по работе с docker доступно на сайте http://www.runoob.com/docker/docker-command-manual.html.
Загрузите образ docker.
Выполните команду: `docker pull qinzhenyi1314/pytorch:1.1.0-cuda10.0-cudnn7.5-py3-vnc-jpd-ph`.
Скачайте код проекта.
Введите команду: `git clone https://gitee.com/qinzhenyi1314/ssd.pytorch.git`.
Запустите образ.
Выполните команду:
`docker run --runtime=nvidia -it --rm --shm-size=3072m -w /data -p 6868:22 -p 5901:5901 -v /home/js180/qzy/deeplearning/:/data qinzhenyi1314/pytorch:1.1.0-cuda10.0-cudnn7.5-py3-vnc-jpd-ph`.
Параметр `-v` используется для монтирования пути сервера в контейнер.
`/home/test/qzy/deeplearning/` — путь на сервере, где хранится код.
`/data` — путь внутри контейнера.
Скачайте набор данных.
Исходные наборы данных VOC2007 и VOC2012 содержат 20+1 класс (включая фон), но для обнаружения пешеходов требуется только 1+1 класс.
Корпоративный набор данных не может быть предоставлен, но предоставляется небольшой набор данных для проверки.
Ссылка: https://pan.baidu.com/s/1-luJwOIhJhLWRHICoJItcw, код доступа: 42mh.
Поместите данные в папку data/VOCdevkit.
Формат соответствует файлу data/VOCdevkit/readme.txt.
Загрузите предварительно обученную модель.
Ссылки: https://pan.baidu.com/s/1t4uG3YjCy2uIKFG3IZXQKA, код доступа: 5qhg.
Основные модели:
* vgg16_reducedfc.pth — используется для обучения, исходная модель VGG16, обученная на ImageNet.
* ssd300_VOC_120000.pth — используется для тестирования, собственная модель, обучена на 50 000 обучающих изображений и 120 000 итераций, достигая mAP 0,7936, оптимизация продолжается!
Откройте рабочий стол VNC в контейнере и подключитесь удалённо.
В образе введите команду `vncserver :1`, обратите внимание на пробел.
На компьютере откройте клиент VNC и введите IP-адрес вашего сервера (например, 192.168.5.180) в поле VNCServer.
Используйте имя пользователя для входа, теперь у вас есть рабочий стол!
Вот ссылка на бесплатный сервер VNC: https://pan.baidu.com/s/1PLaUuy5mMY6npiWkbMk53g, код доступа: 9fyz.
Откройте pycharm.
Перейдите в каталог `/home/qzy/pycharm-community-2019.1.1/bin/` и запустите команду `bash ./pycharm.sh`.
Это откроет pycharm, затем выберите загрузку нашего проекта SSD.
Запустите тестирование.
Выполните команду `python test.py`.
После запуска будут выбраны три изображения, на которых будут нарисованы рамки обнаружения и сохранены в папке test. Вы можете изменить параметры в соответствии со своими потребностями.
Запустите обучение.
Выполните команду `python train.py`.
После выполнения будет загружена предварительно обученная модель vgg16_reducedfc.pth, и на основе весов будет создана соответствующая модель обучения xxx.pth.
Некоторые гиперпараметры можно настроить самостоятельно для просмотра результатов.
Запустите оценку.
Выполните команду `python eval.py`.
После завершения в папке eval будет создан файл eval.txt, содержащий информацию о достоверности всех результатов обнаружения.
Затем перейдите в папку eval и выполните команду `eval_pro.py`, чтобы создать файлы map и pr в текущем каталоге.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )