Hello - enjoying my time with FastAI, and working toward testing the FastAI image recognition model in iOS App. In order to efficiently run with ease in iOS, these models need to be converted to CoreML model. I have done this in the past with coremltools
with Keras.
here is my code which produces the error
learn = torch.load("./models/fastai_learner.pt")
traced_land_model = torch.jit.trace(learn, x)
type(traced_land_model)
# torch.jit._trace.TopLevelTracedModule
import coremltools as ct
# Using image_input in the inputs parameter:
# Convert to Core ML using the Unified Conversion API.
model = ct.convert(
traced_land_model,
inputs=[ct.TensorType(shape=x.shape)]
)
# here is stack trace
Converting Frontend ==> MIL Ops: 6%|â–Ś | 14/246 [00:00<00:00, 2571.84 ops/s]
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/tmp/ipykernel_65689/210732969.py in <module>
6 #inputs=[ct.TensorType(shape=example_input.shape)]
7 traced_land_model,
----> 8 inputs=[ct.TensorType(shape=x.shape)]
9 )
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/_converters_entry.py in convert(model, source, inputs, outputs, classifier_config, minimum_deployment_target, convert_to, compute_precision, skip_model_load, compute_units, useCPUOnly, package_dir, debug)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/converter.py in mil_convert(model, convert_from, convert_to, compute_units, **kwargs)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/converter.py in _mil_convert(model, convert_from, convert_to, registry, modelClass, compute_units, **kwargs)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/converter.py in mil_convert_to_proto(model, convert_from, convert_to, converter_registry, **kwargs)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/converter.py in __call__(self, *args, **kwargs)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/frontend/torch/load.py in load(model_spec, debug, **kwargs)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/frontend/torch/load.py in _perform_torch_convert(converter, debug)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/frontend/torch/load.py in _perform_torch_convert(converter, debug)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/frontend/torch/converter.py in convert(self)
/anaconda/envs/fastai2/lib/python3.7/site-packages/coremltools/converters/mil/frontend/torch/ops.py in convert_nodes(context, graph)
RuntimeError: PyTorch convert function for op 'alias' not implemented.
In the coremltools
docs, it should a workable way to convert, but doesn’t appear to be working with FastAI. PyTorch Conversion. Any insight appreciated.