Resumen de errores de compilación de Maskrcnn para la versión de pytorch en ubuntu18.04
- 1 configuración del entorno anconda
- 2 errores y soluciones
-
- 2.1 La versión de CUDA detectada (11.2) no coincide con la versión que se utilizó para compilar PyTorch (10.2)
- Error 2.2: error de instalación heredada × Error encontrado al intentar instalar el paquete.╰─> apex
- 2.3 ModuleNotFoundError: ningún módulo llamado 'xxx'
- 2.4 el módulo 'torch._six' no tiene el atributo 'PY37'
- 2.5 no puede importar el nombre '_download_url_to_file' desde 'torch.utils.model_zoo
- Error 2.6: OpenCV (4.7.0): -1: error: (-5: argumento incorrecto) en función 'putText
- 2.7 Ningún módulo llamado 'cityscapesscripts'
Después de trabajar en ello todo el día, finalmente ajusté la instancia oficial de maskrcnn. Cuda11.2 me engañó. No te acerques a 11.2, serás desafortunado.
1 configuración del entorno anconda
- ubuntu 18.04
- anconda+cuda10.1+cudnn10.1
- pitón3.7
conda create -n maskrcnn python=3.7
conda activate maskrcnn
conda install ipython pip
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
Para todo lo demás, consulte el
https://github.com/facebookresearch/maskrcnn-benchmark/blob/main/INSTALL.md oficial.
2 errores y soluciones
2.1 La versión de CUDA detectada (11.2) no coincide con la versión que se utilizó para compilar PyTorch (10.2)
python setup.py build develop
Errores encontrados durante la operación.
Esencialmente, se debe a que cuda instalado en el sistema es la versión 11.2, y pytorch en el entorno de conda está asociado con cudatoolkit = 10.2, por lo que debe corresponder al instalar (me engañaron aquí durante mucho tiempo, cuda11.2 no puede
encontrar el pytorch correspondiente. Después de instalarlo finalmente, todavía se informaron muchos errores y tuve que instalar cuda10.1 nuevamente para cambiar entre varias versiones)
Error 2.2: error de instalación heredada × Error encontrado al intentar instalar el paquete.╰─> apex
Error al instalar apex
pip3 install -v --no-cache-dir ./
Sin embargo, después de hacer esto, apareció un nuevo error
: AttributeError: el módulo 'torch.distributed' no tiene el atributo '_all_gather_base'
Consulte https://blog.csdn.net/qq_44741914/article/details/128087328
en github para descargar la versión 22.04dev y no habrá ningún problema.
2.3 ModuleNotFoundError: ningún módulo llamado 'xxx'
Primero verifique si se ha instalado en el entorno conda actual. Si está instalado, todavía no se encuentra en el cuaderno jupyter. Verifique si el kernel es correcto. Si solo hay un python3, use el siguiente comando para instalar y
reiniciar
conda install nb_conda
2.4 el módulo 'torch._six' no tiene el atributo 'PY37'
Busque la ruta /home/slender/anaconda3/pkgs/pytorch-1.13.1-py3.7_cpu_0/lib/python3.7/site-packages/torch/_six.py según la versión de pytorch instalada
Revisar:
import math
import sys
inf = math.inf
nan = math.nan
string_classes = (str, bytes)
PY37 = sys.version_info[0] == 3 and sys.version_info[1] >= 7
2.5 no puede importar el nombre '_download_url_to_file' desde 'torch.utils.model_zoo
Debido a que la versión que instalé solo tiene download_url_to_file, cambié _download_url_to_file donde se informó el error a download_url_to_file
Error 2.6: OpenCV (4.7.0): -1: error: (-5: argumento incorrecto) en función 'putText
Este es un problema causado por la versión opencv-python, descargue una versión correspondiente a Python e instálela usted mismo.
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/
pip uninstall opencv-python
pip install opencv_python-3.4.7.28-cp37-cp37m-manylinux1_x86_64.whl
2.7 Ningún módulo llamado 'cityscapesscripts'
pip install cityscapesscripts
Resultados finales