python - 什么会导致 tensorflow 导入这么慢?

标签 python performance tensorflow import

我已经使用 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

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

到目前为止我已经尝试过:

我崩溃了import tensorflow仅用于我需要的模块( from tensorflow import train/python_io/compat ),没有任何改进。

我发现其他人提示长import tensorflow速度 here , herecorresponding 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 时遇到了严重的缓慢。将虚拟环境移动到本地硬盘驱动器在这方面有很大帮助。

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

关于python - 什么会导致 tensorflow 导入这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053434/

相关文章:

python - 在 Python 中使用多处理池

识别列表或数组中的数字是否更接近 0 或 1 的 Python 函数

python - 虚拟环境错误的python版本

python - tensorflow 属性错误: 'NoneType' object has no attribute 'keys'

python - 如何断开update_last_login?

php - 在mysql数据库中保存一段时间的最佳方法?

performance - Elasticsearch 索引策略创建最佳实践/性能

python - 为给定的单词集创建 id 的简单 [pythonic] 方法

python - Tensorflow 中的反向传播(通过时间)代码

tensorflow - 像在 Keras 中一样显示 Tensorflow 模型摘要