Acabo de instalar tensorflow v2.3 en anaconda python. Traté de probar la instalación usando el comando python a continuación;
$ python -c "import tensorflow as tf; x = [[2.]]; print('tensorflow version', tf.__version__); print('hello, {}'.format(tf.matmul(x, x)))"
Recibí el siguiente mensaje;
2020-12-15 07:59:12.411952: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
hello, [[4.]]
Por el mensaje, parece que la instalación se instaló correctamente. pero que hace This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations: AVX AVX2
significa exactamente?
¿Estoy usando una versión de tensorflow con algunas características limitadas? ¿Algún efecto secundario?
Estoy usando Windows 10.
Una parte importante de Tensorflow es que se supone que es rápido. Con una instalación adecuada, funciona con CPU, GPU o TPU. Parte de ir rápido significa que usa un código diferente dependiendo de su hardware. Algunas CPU admiten operaciones que otras CPU no admiten, como la suma vectorizada (agregar varias variables a la vez). Tensorflow simplemente te dice que la versión que has instalado puede usar las operaciones AVX y AVX2 y está configurada para hacerlo de manera predeterminada en ciertas situaciones (por ejemplo, dentro de una matriz de multiplicación hacia adelante o hacia atrás), lo que puede acelerar las cosas. Esto no es un error, solo le dice que puede y aprovechará su CPU para obtener esa velocidad adicional.
Nota: AVX significa Extensiones vectoriales avanzadas.
-
Gracias. Parece que esto es algo bueno. No es una advertencia por la que preocuparse. En realidad, si es algo bueno, no hay necesidad de generar un mensaje para informar a los usuarios. Algunos de nosotros podemos preocuparnos.
– usuario3848207
17 de diciembre de 2020 a las 0:36
-
Sí, también tuve esta queja exacta cuando lo intenté por primera vez. Ninguna noticia es una buena noticia en mi mundo.
– mCodificación
21 de diciembre de 2020 a las 19:20
-
¿Hay alguna forma de ocultar este mensaje sin ocultar posibles errores en el resto del código?
– El Hombre Cuántico
26 de febrero de 2021 a las 10:25
-
@TheQuantumMan
import os; os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'
ver: stackoverflow.com/a/42121886/2547724– Riebeckita
24 de febrero a las 21:56
-
Solo para estar seguro, ¿ya está optimizado? ¿O necesito habilitarlo activamente de alguna manera?
– André Goulart
4 de marzo a las 1:40
El mensaje
This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)
to use the following CPU instructions in performance-critical operations: AVX AVX2
significa que en lugares donde el rendimiento es importante (por ejemplo, la multiplicación de matrices en redes neuronales profundas), se utilizarán ciertas instrucciones de compilación optimizadas. La instalación parece ser exitosa.
los Repositorio oneDNN GitHub dice:
oneAPI Deep Neural Network Library (oneDNN) es una biblioteca de rendimiento multiplataforma de código abierto de componentes básicos para aplicaciones de aprendizaje profundo. La biblioteca está optimizada para procesadores de arquitectura Intel, gráficos de procesador Intel y gráficos basados en arquitectura Xe. oneDNN tiene soporte experimental para las siguientes arquitecturas:
- Brazo* Arquitectura de 64 bits (AArch64)
- GPU NVIDIA*
- OpenPOWER* Energía ISA (PPC64)
- IBMz* (s390x)
-
¿Hay alguna forma de ocultar este mensaje sin ocultar posibles errores en el resto del código?
– El Hombre Cuántico
26 de febrero de 2021 a las 10:25
-
@TheQuantumMan: creo que stackoverflow.com/a/42121886/5666087 responde a su pregunta
– jkr
26 de febrero de 2021 a las 14:07
-
Pensé que no estaba usando oneAPI. Entonces, si uno usa NVIDIA GPU, ¿entonces se garantiza que se usará oneAPI?
– VimNing
16 de mayo a las 14:21
Leszek Kosinkiewicz
Compilé la biblioteca Tensorflow varias veces y si tienes algo como lo siguiente:
kosinkie_l@Fedora ~/project/build $ python -c "import tensorflow as tf; x = [[2.]]; print('tensorflow version', tf.__version__); print('hello, {}'.format(tf.matmul(x, x)))"
2022-08-09 15:31:03.414926: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
tensorflow version 2.10.0-rc0
hello, Tensor("MatMul:0", shape=(1, 1), dtype=float32)
kosinkie_l@Fedora ~/project/build $
esto significa que la CPU puede usar, pero la biblioteca Tensorflow no usa estos.
Los mensajes pueden confundirse, así que elegí el código fuente (tensorflow/core/platform/cpu_feature_guard.cc:193) y hay lo siguiente:
131 #ifndef __AVX__
132 CheckIfFeatureUnused(CPUFeature::AVX, "AVX", missing_instructions);
133 #endif // __AVX__
134 #ifndef __AVX2__
135 CheckIfFeatureUnused(CPUFeature::AVX2, "AVX2", missing_instructions);
136 #endif // __AVX2__
...
192 if (!missing_instructions.empty()) {
193 LOG(INFO) << "This TensorFlow binary is optimized with "
194 << "oneAPI Deep Neural Network Library (oneDNN) "
195 << "to use the following CPU instructions in performance-"
196 << "critical operations: " << missing_instructions << std::endl
197 << "To enable them in other operations, rebuild TensorFlow "
198 << "with the appropriate compiler flags.";
199 }
El método “CheckIfFeatureUnused(CPUFeature::AVX, “AVX”,mising_instructions)” comprueba si la CPU puede ejecutar AVX y coloca el “AVX” en la colección de faltante_instrucciones, lo que se imprime.
Debe crear un nuevo entorno o intentar instalar tensorflow en gpu en el entorno base actual, para eso use los siguientes comandos …
creando un nuevo entorno: conda create –name py36 python==3.6.13 o cualquier versión más reciente
instalando tensorflow en CPU: conda install tensorflow conda install keras
instalando tensorflow en GPU: conda install tensorflow-gpu conda install tensorflow-estimator==2.1.0 o cualquier versión más reciente
Espero que te sirva, gracias…
cuando usaba “detallado=0” en Model.fit() ocurrió, luego lo eliminé y se resolvió
-
Su respuesta podría mejorarse con información de apoyo adicional. Edite para agregar más detalles, como citas o documentación, para que otros puedan confirmar que su respuesta es correcta. Puede encontrar más información sobre cómo escribir buenas respuestas en el centro de ayuda.
– Comunidad
Bot14 de enero a las 21:52
Tomerikoo
Hice los siguientes comandos para instalar keras y tensorflow en UPC y GPU:
conda create --name py36 python==3.6.13
conda install tensorflow
conda install keras
conda install tensorflow-gpu
conda install tensorflow-estimator==2.1.0
-
Su respuesta podría mejorarse con información de apoyo adicional. Edite para agregar más detalles, como citas o documentación, para que otros puedan confirmar que su respuesta es correcta. Puede encontrar más información sobre cómo escribir buenas respuestas en el centro de ayuda.
– Comunidad
Bot14 de enero a las 21:52
La instalación fue ciertamente exitosa.
– guagay_wk
15 de diciembre de 2020 a las 0:10