【问题标题】:ImportError: Failed to import `pydot`ImportError:无法导入`pydot`
【发布时间】:2019-11-05 08:38:24
【问题描述】:

看起来您的帖子主要是代码;请添加更多细节。我正在尝试训练模型,但出现此错误“无法导入 pydot。请安装 pydot。例如使用 pip install pydot。”我已经安装了 pydot 和 graphviz,

from keras.utils import print_summary
print_summary(model, line_length=None, positions=None, print_fn=None)

# add some visualization
from IPython.display import SVG
from keras.utils.vis_utils import model_to_dot
SVG(model_to_dot(model).create(prog='dot', format='svg'))



# train the network
print("training network...")
sys.stdout.flush()
#class_mode ='categorical', # 2D one-hot encoded labels
H = model.fit_generator(aug.flow(Xtrain, trainY, batch_size=BS), \
    validation_data=(Xval, valY), \
    steps_per_epoch=len(trainX) // BS, \
    epochs=EPOCHS, verbose=1)

# save the model to disk
print("Saving model to disk")
sys.stdout.flush()
model.save("/tmp/mymodel")


# set the matplotlib backend so figures can be saved in the background
# plot the training loss and accuracy
print("Generating plots...")
sys.stdout.flush()
matplotlib.use("Agg")
matplotlib.pyplot.style.use("ggplot")
matplotlib.pyplot.figure()
N = EPOCHS
matplotlib.pyplot.plot(np.arange(0, N), H.history["loss"], label="train_loss")
matplotlib.pyplot.plot(np.arange(0, N), H.history["val_loss"], label="val_loss")
matplotlib.pyplot.plot(np.arange(0, N), H.history["acc"], label="train_acc")
matplotlib.pyplot.plot(np.arange(0, N), H.history["val_acc"], label="val_acc")
matplotlib.pyplot.title("Training Loss and Accuracy on diabetic retinopathy detection")
matplotlib.pyplot.xlabel("Epoch #")
matplotlib.pyplot.ylabel("Loss/Accuracy")
matplotlib.pyplot.legend(loc="lower left")
matplotlib.pyplot.savefig("plot.png") 


【问题讨论】:

  • 请说明您是如何设置环境的。 Anaconda,Python 虚拟环境,这些都不是?您的问题开头还有一些不应该存在的文字,请删除它。
  • 是的,我已经将 Anaconda 与 Spyder 编辑器一起使用,并且我创建了一个名为 tensor flow 的环境并下载了所有必需的模块
  • 您是如何安装所需模块的?仅仅下载它们并不能解决问题。你如何运行你的应用程序?请尽可能详细地描述这一点(您输入的确切命令),因为它非常重要。这个错误可能有很多原因。显然你得到了一个警告,你的问题主要是代码。为什么要包含此特定代码?它根本不使用pydot,而您的错误是关于pydot...请参阅How do I ask a good question?minimal reproducible example 以改进您的问题。
  • 你好@wafa!我写了这个问题的答案,如果有用的话,请考虑投票和/或将其标记为您的问题的答案:)
  • 确保您使用的是正确的虚拟环境。如果您确定是,请检查 PYTHONPATH 是否正确。另外 - Spyder 可能有一个单独的 PYTHONPATH 设置,与 anaconda shell 不同。

标签: python graphviz pydot


【解决方案1】:

我认为您使用的是 python 3。

在这种情况下,请确保您使用 pip3 安装了 python 3 的依赖项,而不是 python 2(使用 pip)。

pip3 install pydot

【讨论】:

  • 根据 OP 使用的打印语句结构是有意义的。
猜你喜欢
  • 2016-05-12
  • 2019-08-20
  • 2018-05-16
  • 2020-06-10
  • 2013-05-17
  • 2016-08-04
  • 2020-01-26
  • 2018-02-22
  • 2022-01-15
相关资源
最近更新 更多