我已经使用 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 , here在 corresponding SO question ,但在 < 10 秒的范围内并引用特定模块( tf.contrib
或 tf.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/