运行绘图代码:
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中。
(1)下载graphviz-install-2.44.1-win64并添加到系统环境中的path中。
(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文件)。
到这里我的文件依旧是报错的,我原以为是我绘制模型的代码的问题,之前的代码为:
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
在不停地根据百度结果执行的过程中,我的jupyter突然罢工,显示内核连接错误,出现服务连接问题:到后台服务的连接没能建立, 我们会继续尝试重连, 请检出网络连接…无论我重启jupyter还是重启电脑都没用,差点重装jupyter,但是根据一个方法执行,居然可以成功了,遇到同样问题的小伙伴可以试一试:
应该是ipykernel 的版本与当前环境不匹配的问题
(1)首先cmd + r 打开命令行,pip install --upgrade 库名
(2)我先更新了 pip install --upgrade ipykernel
(3)然后更新了 pip install --upgrade ipython
记得更新完之后重启一下jupyter notebook或者刷新一下页面。如果还是不行,那可能是其他问题。