Если вы хотите использовать расширения PyTorch на C++:
деформируемое свёрточное ядро: dcn для EDVR (Для torchvision>=0.9.0 мы используем официальное torchvision.ops.deform_conv2d
вместо этого)
персонализированные операторы StyleGAN: upfirdn2d и fused_act для StyleGAN2
вам также потребуется:
Вы можете выбрать одну из этих опций в зависимости от ваших нужд.| Опция | Преимущества | Недостатки | Случаи | Переменная окружения |
| :--- | :--- | :--- | :--- |:--- |
| Скомпилировать расширения PyTorch на C++ во время установки | Быстрее загружает скомпилированные расширения во время выполнения | Может требовать более строгих условий среды, и вы можете столкнуться с неприятностями | Если вам нужно обучаться/инферировать эти модели много раз, это сэкономит ваше время | Установите BASICSR_EXT=True
во время установки |
| Загрузить расширения PyTorch на C++ в режиме "just-in-time" (JIT) | Требует меньше условий, может вызывать меньше проблем | Каждый раз при запуске модели требуется несколько минут для загрузки расширений заново | Если вы просто хотите выполнять простую инференцию, это удобнее | Установите BASICSR_JIT=True
во время выполнения (не установки) |Для тех, кто хочет компилировать расширения PyTorch на C++ во время установки, помните:
Обратите внимание, что:
BASICSR_JIT
имеет более высокий приоритет, то есть даже если вы успешно скомпилировали расширения PyTorch C++ во время установки, они всё равно будут загружаться в режиме Just-In-Time (JIT), если вы установите BASICSR_JIT=True
в ваших запускающих командах.BASICSR_JIT
во время установки. Команды установки находятся в разделе Параметры установки.BASICSR_JIT=True
перед вашими запускающими командами. Например, BASICSR_JIT=True python inference/inference_stylegan2.py
. Если вам не нужны эти расширения PyTorch C++, просто пропустите этот шаг. Нет необходимости устанавливать переменные окружения BASICSR_EXT
или BASICSR_JIT
.Существует два варианта установки BASICSR в зависимости от ваших потребностей.
pip install basicsr
Если вы хотите использовать расширения C++ в режиме JIT без компиляции во время установки (подробнее см. здесь):
pip install basicsr
Если вы хотите скомпилировать расширения C++ во время установки, укажите переменную окружения BASICSR_EXT=True
:
BASICSR_EXT=True pip install basicsr
Компиляция может завершиться ошибкой без вывода сообщений об ошибках. Если вы столкнулись с ошибками выполнения, такими как ImportError: cannot import name 'deform_conv_ext' | 'fused_act_ext' | 'upfirdn2d_ext'
, вы можете проверить процесс компиляции повторной установкой. Следующая команда выведет подробный журнал:
BASICSR_EXT=True pip install basicsr -vvv
Вы также можете указать пути CUDA:
CUDA_HOME=/usr/local/cuda \
CUDNN_INCLUDE_DIR=/usr/local/cuda \
CUDNN_LIB_DIR=/usr/local/cuda \
BASICSR_EXT=True pip install basicsr
Клонируйте репозиторий
git clone https://github.com/xinntao/BasicSR.git
Установите зависимые пакеты
cd BasicSR
pip install -r requirements.txt
Установите BasicSR
Пожалуйста, запустите следующие команды в корневой директории BasicSR для установки BasicSR:
- Если вам не нужны расширения C++ (подробнее см. здесь):
```bash
python setup.py develop
```
Если вы хотите использовать расширения C++ в режиме JIT без компиляции во время установки (подробнее см. здесь):
python setup.py develop
``` - Если вы хотите **скомпилировать расширения C++ во время установки**, пожалуйста, установите переменную окружения `BASICSR_EXT=True`:
```bash
BASICSR_EXT=True python setup.py develop
Вы также можете указать пути CUDA:
CUDA_HOME=/usr/local/cuda \
CUDNN_INCLUDE_DIR=/usr/local/cuda \
CUDNN_LIB_DIR=/usr/local/cuda \
BASICSR_EXT=True python setup.py develop
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )