0

enter image description hereI am using Xamarin IOS, I need to change the 'multipler' value of this CoreML MLModel as instructed here

'A model with a 0.50 multiplier is recommended for mobile.' https://github.com/tensorflow/tfjs-models/tree/master/posenet

the model I'm currently using has a 0.75 multipler (too slow), I have been trying to convert and amend this property on the model however, the property doesn't exist in Xamarin IOS, the model simply has a GetPrediction method that's it!

For Javascript it seems you are able to set the properties as you wish, like below however all I need is Posenet as an .MLModel file with a multipler of 0.5.

//This code below isn't possible using Xamarin IOS, the only property the model has is a bool 'RunOnGPUAndCpu' and a method 'GetPrediction'

  const net = await posenet.load({
  architecture: 'MobileNetV1',
  outputStride: 16,
  inputResolution: { width: 640, height: 480 },
  multiplier: 0.75
  }); 

Ive attempted to convert a Tensorflow model with no luck!

  • I don't see this property listed in the Apple Docs for MLModel – Jason May 05 '21 at 14:57
  • I've added an image it shows were I got my model from on Apples Models page, they do a model for both 1.0 and 0.75 but there isn't one for 0.5, which directly contradicts 'A model with a 0.50 multiplier is recommended for mobile.' https://github.com/tensorflow/tfjs-models/tree/master/posenet Whom they reference on the same page! – Tyrone Linton May 05 '21 at 15:07

1 Answers1

0

That multiplier isn't something you can apply to an existing model. Instead, it is used to define the architecture of the model, which is then trained. If you can't find a model with a 0.5 multiplier, you will have to train it yourself.

Matthijs Hollemans
  • 7,706
  • 2
  • 16
  • 23