для Keras 2.2.4 и Tensorflow 1.12.0 Я нашел решение.
Сохранение весов и архитектуры модели, например:
model_json = model.to_json()
open('architecture.json', 'w').write(model_json)
model.save_weights('weights.h5', overwrite=True)
И для преобразования модели в CoreML .mlmodel Iиспользование:
import coremltools
from keras.layers import DepthwiseConv2D, ReLU
from pathlib import Path
from keras.models import model_from_json
from tensorflow.python.keras.utils.generic_utils import CustomObjectScope
model_architecture = './Networks/architecture.json'
model_weights = './Networks/weights.h5'
model_structure = Path(model_architecture).read_text()
with CustomObjectScope({'relu6': ReLU ,'DepthwiseConv2D': DepthwiseConv2D}):
model = model_from_json(model_structure)
model.load_weights(model_weights)
output_labels = ['0', '1', '2', '3', '4', '5', '6']
coreml_model = coremltools.converters.keras.convert(
model, input_names=['image'], output_names=['output'],
class_labels=output_labels, image_input_names='image')
coreml_model.save('ModelX.mlmodel')