Skip to content

Instantly share code, notes, and snippets.

@ayushoriginal
Created June 24, 2019 07:29
Show Gist options
  • Save ayushoriginal/de03d9263ec8e64d6c09c7d765309037 to your computer and use it in GitHub Desktop.
Save ayushoriginal/de03d9263ec8e64d6c09c7d765309037 to your computer and use it in GitHub Desktop.
Model Convert
# Let the keras model be 'model'
# OPTION 1: Convert Keras model to ONNX and convert ONNX model to CoreML model
import onnxmltools
onnx_model = onnxmltools.convert_keras(model) #Keras to ONNX
from onnx_coreml import convert
mlmodel = convert(onnx_model) # ONNX to CoreML
mlmodel.save('hate_coreml_model.mlmodel')
# OPTION 2: Convert keras model directly to CoreML model
import coremltools
coreml_model = coremltools.converters.keras.convert(model)
'''
STDOUT:
0 : embedding_4_input, <keras.engine.input_layer.InputLayer object at 0x7fccf5667978>
1 : embedding_4, <keras.layers.embeddings.Embedding object at 0x7fccf53175f8>
2 : embedding_4_permute_conv1d_10, <keras.layers.core.Permute object at 0x7fcc75acd390>
3 : conv1d_10, <keras.layers.convolutional.Conv1D object at 0x7fccf52b2208>
4 : conv1d_10__activation__, <keras.layers.core.Activation object at 0x7fcc75acd2b0>
5 : conv1d_11, <keras.layers.convolutional.Conv1D object at 0x7fccf49fc198>
6 : conv1d_11__activation__, <keras.layers.core.Activation object at 0x7fcc75accc50>
7 : conv1d_12, <keras.layers.convolutional.Conv1D object at 0x7fccf4abb2b0>
8 : conv1d_12__activation__, <keras.layers.core.Activation object at 0x7fcc75acc710>
9 : max_pooling1d_4, <keras.layers.pooling.MaxPooling1D object at 0x7fccf5653780>
10 : max_pooling1d_4_permute_flatten_4, <keras.layers.core.Permute object at 0x7fccf4dffc88>
11 : flatten_4, <keras.layers.core.Flatten object at 0x7fccf4f02da0>
12 : dense_4, <keras.layers.core.Dense object at 0x7fccf49e77b8>
13 : dense_4__activation__, <keras.layers.core.Activation object at 0x7fcc75acc6d8>
'''
mlmodel.save('hate_coreml_model.mlmodel')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment