Sab*_*ina 5 python keras tensorflow
我正在尝试使用 Keras 包在 Python 中制作深度学习模型的绘图/图形,但不幸的是它不断给我一个错误,这不是很有用。
我在 Linux 上使用 Python 3.5.2、Anaconda 4.2.0、Keras 2.1.6 运行 python,我使用 tensorflow-gpu 1.7.0 后端。
这是错误消息:
keras.utils.plot_model(unet, to_file='model.png', show_shapes=False, show_layer_names=True, rankdir='TB')
['dot', '-Tps', '/tmp/tmphesl1j0c'] return code: 127
stdout, stderr:
b''
b'dot: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory\n'
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-9-60bb0e3b97bd> in <module>()
----> 1 keras.utils.plot_model(unet, to_file='model.png', show_shapes=False, show_layer_names=True, rankdir='TB')
/.../anaconda3-4.2.0/lib/python3.5/site-packages/keras/utils/vis_utils.py in plot_model(model, to_file, show_shapes, show_layer_names, rankdir)
132 'LR' creates a horizontal plot.
133 """
--> 134 dot = model_to_dot(model, show_shapes, show_layer_names, rankdir)
135 _, extension = os.path.splitext(to_file)
136 if not extension:
/.../anaconda3-4.2.0/lib/python3.5/site-packages/keras/utils/vis_utils.py in model_to_dot(model, show_shapes, show_layer_names, rankdir)
53 from ..models import Sequential
54
---> 55 _check_pydot()
56 dot = pydot.Dot()
57 dot.set('rankdir', rankdir)
/.../anaconda3-4.2.0/lib/python3.5/site-packages/keras/utils/vis_utils.py in _check_pydot()
24 # Attempt to create an image of a blank graph
25 # to check the pydot/graphviz installation.
---> 26 pydot.Dot.create(pydot.Dot())
27 except OSError:
28 raise OSError(
/.../anaconda3-4.2.0/lib/python3.5/site-packages/pydot.py in create(self, prog, format, encoding)
1882 out=stdout_data,
1883 err=stderr_data))
-> 1884 assert p.returncode == 0, p.returncode
1885 return stdout_data
AssertionError: 127
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我解决此错误,我将不胜感激。
注意:pydot和graphviz都安装了
小智 8
对我来说,解决方案是像这样导入:
from keras.utils.vis_utils import plot_model
Run Code Online (Sandbox Code Playgroud)
对我来说,解决方案是:
conda install pydotplus(据说pydot-ng无法与tensorflow-gpu一起安装)。尝试:
# pydot-ng 是 pydot 的一个分支,维护得更好。
将 pydot_ng 导入为 pydot
除了导入错误:
# pydotplus是pydot的改进版本
尝试:
将 pydotplus 导入为 pydot
除了导入错误:
# 如果有必要,可以使用 pydot。
尝试:
导入pydot
除了导入错误:
pydot = 无
其中一份文件上面写着import pyplot。改变之后,它对我有用。
f4.*_*f4. -1
评论说
24 # Attempt to create an image of a blank graph
25 # to check the pydot/graphviz installation.
Run Code Online (Sandbox Code Playgroud)
所以我想你需要安装 graphviz 和 pydot
假设您使用的是 ubuntu 或类似系统:
sudo apt install graphviz
Run Code Online (Sandbox Code Playgroud)
在你的 anaconda 环境中:
pip install pydot
Run Code Online (Sandbox Code Playgroud)