Tensorflow-GPU2.4.0, problemas en uso

1. La GPU NVIDIA se especifica al ejecutar el código, pero la GPU NVIDIA no tiene fluctuaciones de frecuencia de memoria, pero la CPU está completamente cargada

Para este problema, primero verifique si la GPU funciona normalmente después de instalar la versión de Tensorflow-GPU, ejecute el siguiente código para verificar

  • importar tensorflow como tf 
    import os 
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 
    print(tf.test.is_gpu_disponible())

Se muestra como VERDADERO , lo que significa que la GPU NVIDIA funciona con normalidad

Se muestra como FALSO , lo que significa que la GPU NVIDIA no se está ejecutando

Solución para FALSO:

Ejecute las siguientes comprobaciones de código:

  • importar tensorflow como tf 
    tf.test.is_gpu_disponible()

 Después de ejecutar, verá que faltan algunas DLL y no se pueden encontrar. Aquí tomamos cusolver64_10 en la figura como ejemplo.


Si no se encuentra, debemos volver al directorio bin en el directorio de instalación de CUDA, que contiene las DLL correspondientes.

Por ejemplo, para un archivo llamado  cusolver64_xx , copie este archivo por separado y luego cambie el nombre a  cusolver64_10 

Vuelva a colocarlo en el directorio bin, vuelva a ejecutar el código de detección, si muestra VERDADERO, significa que la GPU NVIDIA se está ejecutando normalmente

Como se muestra en la figura anterior, copie el archivo renombrado nuevamente en el directorio bin

Después de confirmar que la GPU funciona normalmente, especifique la GPU en nuestro código y agregue el siguiente código:

  • import os 
    os.environ["CUDA_VISIBLE_DEVICES"] = " 0 "

'0' significa nuestra GPU Nvidia. En el diagrama de detección anterior, también podemos ver que los dispositivos gpu visibles: 0

Si no se especifica , es decir, todas las GPU se usan por defecto y la CPU funcionará a plena carga; si la especificación es incorrecta , la GPU no funcionará de la misma manera.

Por supuesto, en la ventana de CMD, también podemos ejecutar comandos de Nvidia, consultar información de GPU e ingresar el comando: nvidia-smi


 2. Al ejecutar el código, se produce un error numpy.core._exceptions.MemoryError

como muestra la imagen

 Solución:

1. Aumentar la memoria virtual: aumentar la memoria virtual en el disco donde se encuentra el entorno virtual de Tensorflow

Panel de control - Sistema y seguridad - Sistema - Configuración de rendimiento - Avanzado - Cambios en la memoria virtual - Tensorflow en la unidad D

pista:

No se pueden asignar 9,31 GiB para una matriz con forma (25000, 100000) y tipo de datos float32 

El tamaño de la memoria virtual que configuramos es suficiente para 10 G. Si es de 18,9 Gib, le daremos suficiente memoria virtual para 20 G.

2. Reducir el valor de batch_size

   Debido a que el tamaño del lote es demasiado grande y se excede la memoria, reducimos manualmente el valor del tamaño del lote en el código y lo ejecutamos nuevamente.

Supongo que te gusta

Origin blog.csdn.net/weixin_53062121/article/details/123441670
Recomendado
Clasificación