ImportError: невозможно импортировать имя convert_all_kernels_in_model
Я пытаюсь использовать обучение модели 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.
1 ответ
Обновление: оказывается,ImageAI еще не поддерживает Tensorflow 2. Эта проблема не возникает со следующей версией tensorflow:pip install tensorflow==1.15.2
У меня была такая же проблема, и я решил ее, заменив все tensorflow.python.keras
импорт с tensorflow.keras
в библиотеке ImageAI. После этого,from imageai.Prediction.Custom import ModelTraining
импорт работает нормально.
Если вы хотите следовать, в ImageAI есть открытая проблема: https://github.com/OlafenwaMoses/ImageAI/issues/494