Proceso de solución:
提示:这里简述项目相关背景:
Cuando se usa keras-yolov3 con el entorno virtual Python3.7 (tensorflow-gpu)
para ejecutar predict.py, se produce un error y el mensaje es el siguiente:
-
ImportError: libcublas.so.10.0: no se puede abrir el archivo de objeto compartido: ningún archivo o directorio
indica que cuda no es compatible con la versión de tensorflow. Mejore tensorflow a la versión 2.0 o superior (mi versión en ese momento era keras=2.6.0; flujo tensor = 2.6.0) - Después de ejecutar, el mensaje de error es el siguiente:
ModuleNotFoundError: ningún módulo llamado
'keras.layers.advanced_activations'
Consulte la solución de este internauta: 12345
Primero baje la versión de tensorflow a 2.2.0 y luego baje la versión de keras 2.9.0 a 2.1.0 ; el mensaje de error es el siguiente:
AttributeError: tensorflow sin módulo "get_default_session"
Entonces la modificación es la siguiente (en yolo.py):
Después de agregar import tensorflow as tf # 20230224
, cambie la oración a continuación (la razón por la que no se cambia directamente para importar tensorflow.compat.v1 como tf es que algunos internautas dijeron que causará otros errores)
self.sess = tf.compat. v1.keras.backend.get_session() #self.sess = K.get_session()
- Después de ejecutar, aparece otro error (en tensorflow_backend.py):
AttributeError: el módulo 'tensorflow' no tiene el atributo 'get_default_graph'
AttributeError: el módulo 'tensorflow' no tiene el atributo 'marcador de posición'
Está completamente resuelto aquí, de la siguiente manera:
Internauta de referencia : 45678
Importar tensorflow como tf
se cambia a las dos oraciones siguientes:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
提示: 成功运行后Python3.7(tensorflow-gpu)下的相关软件 Keras-2.1.0 python3.7.9 tensorflow-2.2.0没用tensorflow-gpu: