Hello,

see
https://www.mbs-plugins.com/archive/2019-12-17/Train_machine_learning_models_/monkeybreadsoftware_blog_filemaker
 
<https://www.mbs-plugins.com/archive/2019-12-17/Train_machine_learning_models_/monkeybreadsoftware_blog_filemaker>


For next MBS FileMaker Plugin we add a new CoreML functions to update the model 
on device. If you have an updatable model for CoreML, the Apple framework to 
use machine learning on Mac and iOS devices (including iPad), then you can now 
use our CoreML.Update function to pass new training data to the plugin and we 
update the model.

You can load a model with CoreML.OpenModel and you get the description with 
CoreML.Description, you now see there a new entry 
trainingInputDescriptionsByName in the JSON. e.g.

  "trainingInputDescriptionsByName" : {
    "drawing" : {
      "optional" : false,
      "type" : "Image",
      "imageConstraint" : {
        "pixelsWide" : 28,
        "pixelFormatTypeName" : "OneComponent8",
        "pixelFormatType" : 1278226488,
        "pixelFormatTypeDescription" : "8 bit one component, black is zero",
        "pixelsHigh" : 28
      },
      "name" : "drawing"
    },
    "label" : {
      "optional" : false,
      "type" : "String",
      "name" : "label"
    }
  }

This shows you there is a drawing parameter for the picture with 28 by 28 pixel 
resolution in grayscale. The other parameter is the label with the correct 
output for this image. In a sample call to CoreML.Updatewe pass input and 
output paths for the model files and pass the training data as JSON:

MBS( "CoreML.Update"; 
    "/Users/cs/Desktop/UpdatableDrawingClassifier.mlmodelc"; 
    "/Users/cs/Desktop/UpdatableDrawingClassifier2.mlmodelc"; 
    "[{\"drawing\": \"/Users/cs/Desktop/mbslogo.png\", \"label\": \"MBS\"}]" )

In the JSON we expect an array of objects. Each object contains the pairs of 
input and output parameters. Values are passed as numbers, text or objects. For 
images we decided to allow you to pass the image file as native file path and 
then the plugin adjust images as needed.

You can build solutions which come with a pre-calculated machine learning 
model, which is then adjusted on device (e.g. iPad) while the user takes new 
data and provides correct answers. On the server you can take a basic model to 
recognize some data and then adjust with all the records you have in your 
database.

If you are interested to use this functions, please try the 9.6pr3 release or 
newer. This functionality is available on MacOS 10.15 or iOS 13. Calculation 
happens on device using GPU if available.

See also Presentation about a Core ML database for image detection. 

Sincerely
Christian

-- 
Read our blog about news on our plugins:

http://www.mbsplugins.de/ <http://www.mbsplugins.de/>


_______________________________________________
[email protected] mailing list
%(list_address)s
https://ml-cgn05.ispgateway.de/mailman/listinfo/mbsfmplugin_monkeybreadsoftware.info

Reply via email to