解决‘Failed to import pydot. You must `pip install pydot` and install graphviz‘

运行绘图代码:

tf.keras.utils.plot_model(resnet50)

报错:
('Failed to import pydot. You must pip install pydot and install graphviz (https://graphviz.gitlab.io/download/), ', ‘for pydotprint to work.’)

错误尝试1:
pip install pydot
pip install graphviz
安装graphviz-install-2.44.1-win64并添加到用户环境中的path中。
依旧报错…

错误尝试2:
pip install pydot_ng
pip install graphviz
安装graphviz-install-2.44.1-win64并添加到用户环境中的path中。

…错误尝试N次得到的最终方案:不知道怎么一番操作怎么就成了(一下午抓耳挠腮差点放弃)

(1)下载graphviz-install-2.44.1-win64并添加到系统环境中的path中。
解决‘Failed to import pydot. You must `pip install pydot` and install graphviz‘_第1张图片

(2)pip install pydotplus
在这里插入图片描述
(注:不用pip install pydot,因为pydot已经停止开发了)

(3)conda install graphviz
在这里插入图片描述
(百度了N中攻略,中间有人说不能用pip安装graphviz,之后我就一直使用conda安装)

(4)找到vis_utils.py把pydot 全部替换成pydotplus
在anaconda文件夹下的Lib/set-packages/keras文件中的vis_utils.py中把所有的pydot替换成pydotplus(根据每个人的文件夹情况找vis_utils.py,比如我的就在D:\anaconda\anaconda_setup\envs\tensorflow\Lib\site-packages\keras\utils文件夹下)(实在找不到可以在电脑中搜索vis_utils.py文件)。
解决‘Failed to import pydot. You must `pip install pydot` and install graphviz‘_第2张图片
到这里我的文件依旧是报错的,我原以为是我绘制模型的代码的问题,之前的代码为:

tf.keras.utils.plot_model(resnet50)

还是报错,于是我更改了代码(其实以上这样写是对的,只是当时中途有别的问题没有解决好):

from tensorflow.keras.utils import  plot_model
plot_model(resnet50, to_file='model.png', show_shapes=True, show_layer_names=True)

(我也不知道为啥改成from tf.keras.utils import plot_model就是错的,可能我学艺不精没有理解其中道理)

(5)这部有点关键!代码到这里报错:InvocationException: Program terminated with status: 1. stderr follows: Format: “png” not recognized. Use one of:

注意这个 Use one of: 后面什么都没有,最后百度到的解决方法是在管理员权限下的 powershell 中执行 dot -c

之后结果终于绘制成功!妈呀!我可太开心了!
解决‘Failed to import pydot. You must `pip install pydot` and install graphviz‘_第3张图片

注意:记录一个小tip

在不停地根据百度结果执行的过程中,我的jupyter突然罢工,显示内核连接错误,出现服务连接问题:到后台服务的连接没能建立, 我们会继续尝试重连, 请检出网络连接…无论我重启jupyter还是重启电脑都没用,差点重装jupyter,但是根据一个方法执行,居然可以成功了,遇到同样问题的小伙伴可以试一试:
应该是ipykernel 的版本与当前环境不匹配的问题
(1)首先cmd + r 打开命令行,pip install --upgrade 库名
(2)我先更新了 pip install --upgrade ipykernel
(3)然后更新了 pip install --upgrade ipython

记得更新完之后重启一下jupyter notebook或者刷新一下页面。如果还是不行,那可能是其他问题。

你可能感兴趣的:(人工智能tips,keras,python,人工智能)