Relacionado: El módulo de importación TensorFlow contrib es lento en TensorFlow 1.2.1 también: ¿Qué puede hacer que la importación de TensorFlow sea tan lenta?
Estoy usando un ssd e importando TensorFlow. Tengo una PC de 4 ghz de 8 núcleos con 16 gb de ram (Procesador AMD FX (tm) -8350 Eight-Core Processor, 4000 Mhz, 4 Core (s), 8 Procesador (es) lógico (s). TensorFlow tarda entre 10 y 12 segundos en importarse.
¿Hay alguna forma de importar selectivamente partes de TensorFlow?
¿Ayudaría un disco RAM?
¿Se está haciendo más trabajo en cosas como esta o: Lento para importar tensorflow.contrib con Python 3 porque inspect.stack es lento # 11829 ?
Editar: Python 3.6.8 :: Anaconda, Inc. en Windows 8.1. Dos cuadro, cygwin bash son lentos a los 12 segundos. El código Vs bash / power shell es más rápido a los 8 segundos. Importando en un archivo .py como: import tensorflow as tf. No estoy seguro de qué entornos son.
Edición 2:
PS D:\ray\dev\ml\ss1> conda info --envs
# conda environments:
#
base * D:\Anaconda3
first D:\Anaconda3\envs\first
d:\Anaconda3
first d:\Anaconda3\envs\first
Edición 3: Usando el siguiente código, obtengo 9-10 segundos en un símbolo del sistema:
(tf2) D:\ray\dev\ml\ss1>python timeimport.py
import tensorflow: 1 units, 9.796 seconds. 0.1 units/second.
version: 2.0.0
(tf2) D:\ray\dev\ml\ss1>python timeimport.py
import tensorflow: 1 units, 9.448 seconds. 0.11 units/second.
version: 2.0.0
(tf2) D:\ray\dev\ml\ss1>python timeimport.py
import tensorflow: 1 units, 9.421 seconds. 0.11 units/second.
version: 2.0.0
from __future__ import absolute_import, division, print_function, unicode_literals
from contextlib import contextmanager
from timeit import default_timer as timer
@contextmanager
def timing(description: str,units=1,title="",before="") -> None:
if before!="":
print(before,flush=True)
start = timer()
yield
dt = timer() - start
frequency=0 if units is None else (units/dt)
if units is None:
if title is None: print(f"{description}: {dt} seconds.",flush=True)
else: print(f"{title} {description}: {dt} seconds.",flush=True)
else:
#"{0:.2f}".format(a)
dt=round(dt,3)
frequency=round(frequency,2)
print(f"{title} {description}: {str(units)} units, {dt} seconds. {str(frequency)} units/second.",flush=True)
return dt
with timing("import tensorflow",1):
import tensorflow as tf
print("version:",tf.__version__)
Edición 4: apagando el degender de Windows, obtengo 8-9 segundos en lugar de 9-10 segundos.
fuente
Respuestas:
Quiero comenzar diciendo que estoy usando un quad core de 3 Ghz y no me lleva cerca de diez segundos importar TensorFlow en Python. ¿Podría explicar en qué entorno tiene problemas para importarlo (es decir, Windows / Mac / Linux en terminal / consola / símbolo del sistema / Anaconda, etc.)? No especificó cómo está tratando de importar Tensorflow, pero considerando que lo etiquetó con python-3.x, supongo que está importando Tensorflow con Python. Estoy seguro de que esta no será una respuesta popular, pero tal vez considere usar Tensorflow con un lenguaje compilado como c ++. Es bien sabido que los lenguajes interpretados, como Python, son considerablemente más lentos que los compilados y, si la velocidad es primordial, parecería obvio utilizar TensorFlow en su idioma nativo.
fuente