Я обучил кастомную модель YOLOv4. Затем я преобразовал веса в .h5, используя:
https://github.com/david8862/keras-YOLOv3-model-set/tree/master/tools/model_converter
После этого я попытался преобразовать .h5 в coreml:
# Custom activation function
from keras.layers import Activation
from keras import backend as K
from keras.utils.generic_utils import get_custom_objects
def mish(x):
return x * K.tanh(K.softplus(x))
get_custom_objects().update({'mish': Activation(mish)})
from keras.models import load_model
from keras.utils import CustomObjectScope
from keras.initializers import glorot_uniform
with CustomObjectScope({'GlorotUniform': glorot_uniform()}):
model = load_model('yolov4_custom.h5', compile=False)
mlModel = coremltools.converters.keras.convert(model,
input_names='image',
image_input_names='image',
input_name_shape_dict={'image': [None, 416, 416, 3]})
При вызове ..keras.convert (....) я получаю сообщение об ошибке:
TypeError: слой Keras типа ‹class 'tensorflow.python.keras.engine.functional.Functional'› не поддерживается.