tensorflow 2でtensorflowモジュールのインポートが遅い


8

関連: TensorFlow contribモジュールのインポートがTensorFlow 1.2.1で遅いまた、TensorFlowのインポートが非常に遅くなる原因は何ですか?

私はssdを使用してTensorFlowをインポートしています。16 GHzのRAMを備えた4 GHz 8コアPC(プロセッサAMD FX(TM)-8350 8コアプロセッサ、4000 MHz、4コア、8論理プロセッサ)を使用しています。TensorFlowのインポートには10​​〜12秒かかります。

TensorFlowの一部を選択的にインポートする方法はありますか?

RAMディスクは役に立ちますか?

:任意のより多くの仕事は、このようなものかにそこで行われているのPython 3での輸入tensorflow.contribに遅いinspect.stackがあるので遅く#11829

編集:Python 3.6.8 :: windoze 8.1上のAnaconda、Inc. Dosボックス、cygwin bashが12秒と遅い。コードbash /電源シェルとの比較は8秒で最速です。.pyファイルでのインポート:tensorflowをtfとしてインポートします。環境がわからない。

編集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

編集3:以下のコードを使用して、コマンドプロンプトに9〜10秒表示されます。

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

編集4:ウィンドウデジェンダーをオンにすると、9-10秒ではなく8-9秒になります。


私のLinuxマシンでは、初回のインポートは常に遅くなりますが、後続のインポート(つまり、異なるPython CLIインスタンス間)は即時に行われます。あなたの側でも同様の行動が見られますか?
Rahul Bharadwaj

1
私は吹き替えがあります。編集3.参照してください
レイTayek

Windows Defenderとその他のウイルス対策とベンチマークを無効にしてみてください。また、LinuxのWindows susbsistem(WSL)を使用していますか?
BlackBear

勝利8.1-私はどのWindowsサブシステムも使用していません。
Ray Tayek

回答:


0

まず、3 Ghzのクアッドコアを使用していて、TensorFlowをPythonにインポートするのに10秒近くかかることはないということから始めたいと思います。インポート時に問題が発生している環境について詳しく教えてください(例:Windows / Mac / Linuxのターミナル/コンソール/コマンドプロンプト/ Anacondaなど)。Tensorflowをインポートする方法を指定していませんが、python-3.xでタグ付けしたことを考慮して、TensorflowをPythonでインポートしていると想定しています。これは一般的な答えではないと確信していますが、c ++などのコンパイル済み言語でTensorflowを使用することを検討してください。Pythonなどのインタープリター型言語はコンパイル済み言語よりもかなり遅いことはよく知られています。速度が最優先である場合、ネイティブ言語でTensorFlowを使用するのは明らかなようです。


私の編集を見てください。
Ray Tayek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.