是什么导致张量流导入如此慢?

Hon*_*ear 10 python import performance tensorflow

我使用张量流已经有一段时间了。最近,我的脚本运行速度非常慢(> 80 秒),而之前(< 1 秒)。我将问题范围缩小到import tensorflow,仅此一项就花费了所有时间(所有其他库和操作都运行 << 1 秒)。

我可能有一个跟踪,但我不知道如何处理它:当我在 80 秒导入期间键盘中断 (Strg+C) 执行时,通常会出现以下情况:

Traceback (most recent call last):
  File "/.../py_env/tf_unet/lib/python3.5/site.py", line 703, in <module>
    main()
  File "/.../py_env/tf_unet/lib/python3.5/site.py", line 694, in main
    execsitecustomize()
  File "/.../py_env/tf_unet/lib/python3.5/site.py", line 548, in execsitecustomize
    import sitecustomize
  File "/usr/lib/python3.5/sitecustomize.py", line 3, in <module>
    import apport_python_hook
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 896, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 1139, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1113, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1225, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1264, in _fill_cache
KeyboardInterrupt
Run Code Online (Sandbox Code Playgroud)

这是否意味着“填充缓存”( _fill_cache) 是错误的?有人有这方面的经验吗?我能以某种方式解决这个问题吗?


到目前为止我尝试过的:

import tensorflow我只分解了我需要的模块( from tensorflow import train/ python_io/ compat),没有任何改进。

我发现其他人在此处此处相应的 SO 问题中抱怨import tensorflow速度太快,但在 < 10 秒的范围内并引用特定模块(或)。所以从那里可以学到的东西不多。我也正在使用它显然解决了那里描述的问题。tf.contribtf.learntensorflow 1.4.0

仅供参考,我使用这段小代码来确定速度:

from timeit import default_timer as timer
print('import tensorflow')
start = timer()
import tensorflow
end = timer()
print('Elapsed time: ' + str(end - start))
Run Code Online (Sandbox Code Playgroud)

mik*_*ola 7

这可能不是导致这种情况的唯一原因,但根据我的经验,这肯定发挥了作用。由于我的 TF 虚拟环境位于网络驱动器上,因此我导入 Tensorflow 的速度非常慢。将虚拟环境移至本地硬盘在这方面有很大帮助。

您可以尝试做一些适用于您的环境的类似操作。