tensorflow encontró ImportError: No se pudo encontrar la resolución del error 'cudart64_100.dll'

Al instalar tensorflow, usando import tensorflow, hubo un error que indicaba que no se podía encontrar el archivo dll. Consulté muchos blogs y soluciones de flujo de pila, y descubrí que solo el número de versión no coincidía, pero no especifiqué qué versión es adecuada. correcto, así que escriba esta guía para evitar hoyos a mano. Gracias nuevamente a Brother Function por su orientación y ayuda.
El entorno del autor:

python 版本3.6
tensorflow版本1.14
ImportError: Could not find 'cudart64_100.dll'

Respuesta corta:

  1. Analice detenidamente el tipo y la causa del error

  2. Descubra su propia versión de tensorflow y CUDA

  3. Utilice la versión correspondiente para resolver el problema, complete la adaptación de cuda y tf, la adaptación de cudnn y cuda, la adaptación de protobuf y tf

1. Razones del tipo de error

El problema es que no se puede encontrar el módulo del archivo dll del sistema cuda, y le indica que debe descargar CUDA10.0, luego primero verifique si el archivo existe en la ruta de cuda : acceda a cuda a
través de la C:\Program Files\NVIDIA GPU Computing Toolkit\CUDAruta, y busque el cudart64_100.dllmódulo en su directorio bin.
Si lo hay, compruebe si se agregó la variable de entorno; si no, puede ser un problema de coincidencia entre la versión cuda y la versión tensorflow

2. Descubra su tensorflow y la versión de CUDA

Ingrese al entorno de la línea de comandos, primero python --versionconfirme que su versión de python es 3.6
y luego pip listverifique la versión de tensorflow instalada. La versión del autor es 1.14.
Al nvcc --versionverificar la versión de cuda, la versión anterior de cuda del autor es V9.0.176;

Encuentre la información de la versión correspondiente en el sitio web oficial de Tesnsorflow de la siguiente manera:
Información de la versión correspondiente
Puede ver que cuando la versión de Tensorflow> = 1.13, la versión de CUDA debe ser 10.0 y el número de versión de cudnn debe ser mayor que 7.4.1 ;
aquí elegí para desinstalar la versión de cuda para aplicar la versión de tensorflow
Introduzca directamente la C:\Program Files\NVIDIA GPU Computing Toolkit\CUDAruta para eliminar la carpeta y elimine la variable de entorno.
Encontré un enlace de descarga del servidor creado por estudiantes de secundaria. La velocidad de descarga aquí será más rápida:
enlace de descarga relacionado con tensorflow

3. Coincide con la versión correspondiente de cuda de cudnn correspondiente

Después de instalar la versión cuda, abrí jupyter nuevamente import tensorflowy descubrí que no fue exitoso, y apareció 'cudnn64_7.dll'un error que no se pudo encontrar :

ImportError: Could not find 'cudnn64_7.dll'

Este mensaje indica que falta el archivo dll del módulo cudnn. Según el documento de tensorflow, correspondiente a la versión 1.13 o superior de tensorflow, cudnn debe ser una versión> 7.4.1, descargar la versión cudnn y la estructura de directorios de cudnn es el siguiente:
Inserte la descripción de la imagen aquí
coloque los archivos en el directorio cudnn correspondientemente en el directorio cuda

Cuatro. Coincide con el protobuf correspondiente versión tf correspondiente

En este punto, no debería haber ningún problema, seguí ejecutando import tensorflow, MMP, no funcionó sin problemas, apareció un mensaje de 'descriptor'error:

 ImportError: cannot import name 'descriptor'

Resumen de problemas de instalación de tf en stackflow

Buscando en stackflow, encontré que el motivo del error es que las versiones de protobuf y tf no se corresponden, porque hay una dependencia entre tf y pro, así que primero desinstalo pro, luego desinstalo tf y finalmente reinstalo tf, tf corregirá automáticamente La dependencia pro está instalada.
Hubo un pequeño episodio en el medio. El autor usó el entorno virtual py de virtualenv, así que después de instalar la versión, todavía habrá 'descriptor'errores, así que lo probé en el entorno py nativo y descubrí que tf se puede importar. Entonces, la razón es que es posible que el sistema no pueda encontrar el paquete del sitio en el entorno virtual py. Establezca el directorio bajo py-bin del entorno virtual como una variable de entorno para llamarlo normalmente.
El resultado final se importa con éxito:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_29027865/article/details/93236034
Recomendado
Clasificación