什么可能导致张量流导入如此缓慢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么可能导致张量流导入如此缓慢?相关的知识,希望对你有一定的参考价值。

我已经使用tensorflow很长一段时间了。最近我的脚本运行速度非常慢(> 80秒),早期(<1秒)。我把这个问题缩小到了import tensorflow,这个问题一直在进行(所有其他的libs和ops都在运行<< 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

这是否意味着,“填充缓存”(_fill_cache)是错误的?谁有这方面的体验?我能以某种方式修复此问题吗?


到目前为止我尝试过的:

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

我发现其他人抱怨长import tensorflow速度hereherecorresponding SO question,但在<10秒的范围内,并指的是具体模块(tf.contribtf.learn)。所以从那里学到的东西并不多。我也在使用tensorflow 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))
答案

这可能不是造成这种情况的唯一原因,但根据我的经验肯定会发挥作用。由于我在网络驱动器上安装了TF虚拟环境,导入Tensorflow时出现了严重的缓慢。在这方面,将虚拟环境移动到本地硬盘驱动器有很大帮助。

您可以尝试在您的环境中执行类似的操作。

以上是关于什么可能导致张量流导入如此缓慢?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定导致库导入缓慢的原因?

如何降级张量流,可能有多个版本?

翻译 为什么我的数据库应用程序如此缓慢?

导入 input_data MNIST 张量流不工作

为啥从 Redshift 读取到 Spark 如此缓慢?

如何解决权重矩阵维度较大的张量流梯度问题?