Cómo arreglar "ERROR: Rueda de construcción fallida para el error pytorch3d" en Colab?

Estoy tratando de usar una máquina muy buena aprendiendo Colab. https://colab.research.google.com/drive/1eQLZrNYRZMo9zdnGccE0hFswGiinO-Z?usp=sharing Corriendo sus pasos como es, sigo recibiendo ERROR: Failed building wheel for pytorch3d.

Después de mucho Googling, he intentado por ejemplo reemplazar la línea de instalación con

!pip install 'git+https://github.com/facebookresearch/pytorch3d.git@stable'

y también

!pip install pytorch3d

El primero no funciona. Este último plantea otra cuestión:

"ImportError: /usr/local/lib/python3.6/dist-packages/pytorch3d/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZNK2at6Tensor7is_cudaEv"

También intenté hacerlo. !pip install torch==1.6.0 que causa

Traceback (most recent call last):
  File "./meshrcnn/demo/demo.py", line 11, in 
    from detectron2.data import MetadataCatalog
  File "/usr/local/lib/python3.6/dist-packages/detectron2/data/__init__.py", line 4, in 
    from .build import (
  File "/usr/local/lib/python3.6/dist-packages/detectron2/data/build.py", line 14, in 
    from detectron2.structures import BoxMode
  File "/usr/local/lib/python3.6/dist-packages/detectron2/structures/__init__.py", line 6, in 
    from .keypoints import Keypoints, heatmaps_to_keypoints
  File "/usr/local/lib/python3.6/dist-packages/detectron2/structures/keypoints.py", line 6, in 
    from detectron2.layers import interpolate
  File "/usr/local/lib/python3.6/dist-packages/detectron2/layers/__init__.py", line 3, in 
    from .deform_conv import DeformConv, ModulatedDeformConv
  File "/usr/local/lib/python3.6/dist-packages/detectron2/layers/deform_conv.py", line 10, in 
    from detectron2 import _C
ImportError: /usr/local/lib/python3.6/dist-packages/detectron2/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe28TypeMeta21_typeMetaDataInstanceISt7complexIdEEEPKNS_6detail12TypeMetaDataEv

Hecho. !pip install mmcv-full===1.2.1 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html para intentar arreglar eso y el error persiste.

¿Alguien tiene ideas para cómo hacer que el ambiente Colab funcione?

Pregunta hecha hace 3 años, 4 meses, 26 días - Por bytebarde61c


4 Respuestas:

  • Tengo el mismo error y encontré tu puesto. Intenté instalar el maestro actual (con:

    !pip install 'git+https://github.com/facebookresearch/pytorch3d.git'
    

    y después de descargar y compilar pytorch3D=0.4.0 realmente funcionó correctamente. Creo que lo que solucionó el problema fue descargando y compilando pytorch3d, de modo que se vinculó correctamente con cuda: si descarga una rueda precompilada probablemente obtendrá ese error de símbolo no definido.

    Sólo otro cambio que hice: tuve que quitar un demo=True de la llamada a group_keypoints() en la celda de cálculo del rectángulo (dijo que el parámetro era desconocido)

    Respondida el Dec 21, 2020 a las 03:56 - por logiclinguist

    Votos positivos: 0 | Votos negativos: 0

  • Encontré el mismo problema para Google Colab. Entonces lo resolví de https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md

    En esta zona, puede ver la solución necesaria para su máquina actual. Si enfrentas un problema con Google Colab puedes probar este código. En general, desde el interior de IPython, o en Google Colab o un cuaderno de Jupyter, se puede instalar con

    import sys
    import torch
    pyt_version_str=torch.__version__.split("+")[0].replace(".", "")
    version_str="".join([
        f"py3{sys.version_info.minor}_cu",
        torch.version.cuda.replace(".",""),
        f"_pyt{pyt_version_str}"
    ])
    !pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html
    

    Debe reiniciar su entorno de tiempo de ejecución después de instalar esto. En mi caso, funcionó perfectamente en Google Colab con instancia GPU.

    Respondida el Dec 21, 2020 a las 04:04 - por progprophet

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando parece estar relacionado con la instalación de paquetes y sus dependencias en Colab. Aquí hay algunos pasos que puedes seguir para intentar resolver el problema:

    • Actualiza las dependencias: Asegúrate de que todas las dependencias de los paquetes que estás intentando instalar estén actualizadas. Puedes hacer esto ejecutando `!pip install --upgrade setuptools` y luego intentar instalar nuevamente el paquete `pytorch3d`.
    • Instalación manual: En lugar de instalar directamente desde PyPI, intenta clonar el repositorio de pytorch3d directamente desde GitHub y luego instalarlo desde el código fuente. Puedes hacer esto ejecutando los siguientes comandos:
    
       !git clone https://github.com/facebookresearch/pytorch3d.git
       %cd pytorch3d
       !python setup.py install
       
    • Instalación de versiones específicas: En algunos casos, puede que ciertas versiones de paquetes sean incompatibles entre sí. Intenta instalar versiones específicas de los paquetes que estás utilizando. Por ejemplo, puedes probar a instalar una versión específica de PyTorch ejecutando `!pip install torch==1.6.0` antes de instalar pytorch3d.
    • Verifica las dependencias de Detectron2: Parece que también estás teniendo problemas con las dependencias de Detectron2. Asegúrate de que las versiones de las bibliotecas utilizadas por Detectron2 sean compatibles con las que estás instalando. Intenta instalar las versiones correctas de las dependencias de Detectron2.

    Espero que estas sugerencias te ayuden a solucionar el problema. ¡Buena suerte!

    Respondida el Dec 22, 2020 a las 03:58 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Pasos para solucionar el error "ERROR: Rueda de construcción fallida para pytorch3d":

    • Actualiza PyTorch: Asegúrate de que tienes la última versión de PyTorch instalada. Puedes hacerlo ejecutando:

    
       !pip install torch torchvision torchaudio --upgrade
       

    • Instala PyTorch3D desde la fuente: Intenta instalar PyTorch3D directamente desde el código fuente. Esto puede llevar más tiempo, pero a menudo resuelve problemas de compatibilidad:
    <pre><code>
     !git clone https://github.com/facebookresearch/pytorch3d.git
     !cd pytorch3d
     !python setup.py install
     </code></pre>
    
    • Verifica la versión de CUDA: Asegúrate de que la versión de CUDA en tu entorno Colab coincida con la versión de PyTorch que estás utilizando. Para verificar la versión de CUDA, ejecuta:
    <pre><code>
    !nvcc --version
    </code></pre>
    
    Para la versión actual de PyTorch 1.13.1, deberías tener CUDA 11.3 o posterior.
    
    • Actualiza detectron2: Actualiza la biblioteca detectron2 a la última versión ejecutando:
    <pre><code>
    !pip install detectron2 --upgrade
    </code></pre>
    
    • Instala mmcv-full: Instala mmcv-full usando el comando proporcionado:
    <pre><code>
    !pip install mmcv-full===1.2.1 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html
    </code></pre>
    
    • Reinicia el tiempo de ejecución de Colab: Después de realizar los cambios, reinicia el tiempo de ejecución de Colab haciendo clic en el botón "Reiniciar tiempo de ejecución" en la barra de herramientas superior.

    Consejos adicionales:

    Asegúrate de que tienes suficiente memoria GPU disponible. Intenta deshabilitar la aceleración de GPU en el menú "Runtime" -> "Cambiar tipo de tiempo de ejecución" -> "Deshabilitar aceleración de GPU".

    • Si el problema persiste, puedes proporcionar los registros completos del error para obtener más información.

    Espero que estos pasos te ayuden a resolver el error "ERROR: Rueda de construcción fallida para pytorch3d".

    Respondida el Dec 22, 2020 a las 04:07 - por Gemini

    Votos positivos: 0 | Votos negativos: 0