3

我正在尝试使用 ImageAI 的模型训练来训练 AI 模型。

这是代码:

 from imageai.Prediction.Custom import ModelTraining
 model_trainer = ModelTraining()
 model_trainer.setModelTypeAsResNet()
 model_trainer.setDataDirectory("idenprof")
 model_trainer.trainModel(num_objects=2, num_experiments=3, enhance_data=True, 
 batch_size=32, show_network_summary=True)

这是我在运行时遇到的错误:

Traceback (most recent call last):
  File ".../FirstTraining.py", line 1, in <module>
    from imageai.Prediction.Custom import ModelTraining
  File ".../lib/python2.7/site-packages/imageai/Prediction/Custom/__init__.py", line 4, in <module>
    from ..DenseNet.densenet import DenseNetImageNet121
  File ".../PycharmProjects/bonez/venv/lib/python2.7/site-packages/imageai/Prediction/DenseNet/densenet.py", line 21, in <module>
    from tensorflow.python.keras.utils import convert_all_kernels_in_model
ImportError: cannot import name convert_all_kernels_in_model

我已经搜索了所有内容,但找不到相同的问题或解决问题的方法。我安装了以下依赖项:Tensorflow、OpenCV、Keras 和 ImageAI。

4

1 回答 1

6

更新:事实证明 ImageAI 还不支持 Tensorflow 2。以下 tensorflow 版本不会发生此问题:pip install tensorflow==1.15.2


我遇到了同样的问题,并通过在 ImageAI 库中替换所有tensorflow.python.keras导入来解决它。tensorflow.keras在此之后,from imageai.Prediction.Custom import ModelTraining导入工作正常。

如果您想关注,ImageAI 中有一个未解决的问题:https ://github.com/OlafenwaMoses/ImageAI/issues/494

于 2020-03-01T22:25:14.087 回答