O módulo de importação do tensorflow é lento no tensorflow 2


8

Relacionado: O módulo de contribuição Import TensorFlow é lento no TensorFlow 1.2.1 também: O que pode fazer com que a importação do TensorFlow seja tão lenta?

Estou usando um ssd e importando TensorFlow. Tenho 4 ghz 8 núcleos pc com 16 gb de ram (Processador AMD FX (tm) -8350 Processador de oito núcleos, 4000 Mhz, 4 núcleos, 8 processadores lógicos). O TensorFlow leva de 10 a 12 segundos para importar.

Existe alguma maneira de importar seletivamente partes do TensorFlow?

Um disco RAM ajudaria?

Há mais trabalho sendo feito em coisas como esta ou: Devagar para importar o tensorflow.contrib com o Python 3 porque o inspect.stack é lento # 11829 ?

Edit: Python 3.6.8 :: Anaconda, Inc. na versão 8.1. Dos caixa, cygwin bash são lentos em 12 segundos. Vs código bash / power shell é mais rápido em 8 segundos. Importando em um arquivo .py como: importor tensorflow como tf. Não tenho certeza do que são ambientes.

Edição 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

Edit 3: Usando o código abaixo, recebo 9-10 segundos em um prompt de comando:

(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__)

Editar 4: viragem do Windows Degender, recebo 8-9 segundos em vez de 9-10 segundos.


Para minha máquina Linux, a importação inicial é sempre lenta, mas qualquer importação sucessiva (por exemplo, em diferentes instâncias da CLI do Python) é imediata. O comportamento semelhante também é observado do seu lado?
Rahul Bharadwaj 20/03

1
eu tenho windoze. veja a edição 3.
Ray Tayek

Você pode tentar desativar o Windows Defender e qualquer outro antivírus e benchmark novamente? Além disso, você está usando o Windows susbsistem for linux (WSL)?
BlackBear 26/03

win 8.1 - afaik, eu não estou usando nenhum subsistema windows.
Ray Tayek 26/03

Respostas:


0

Quero começar dizendo que estou usando um quad core de 3 Ghz e não demorou quase dez segundos para importar o TensorFlow em Python. Você poderia elaborar em qual ambiente está tendo problemas para importá-lo (por exemplo, Windows / Mac / Linux no terminal / console / prompt de comando / Anaconda etc.)? Você não especificou como está tentando importar o Tensorflow, mas considerando que o marcou com python-3.x, suponho que você esteja importando o Tensorflow com o Python. Tenho certeza de que essa não será uma resposta popular, mas talvez considere usar o Tensorflow com uma linguagem compilada como c ++. É sabido que linguagens interpretadas como Python são consideravelmente mais lentas que linguagens compiladas e se a velocidade é primordial, parece óbvio usar o TensorFlow em sua língua nativa.


por favor, veja minhas edições.
Raio Tayek
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.