I can successfully train an ActionClassifier using CreateML. However, I get crashes when I attempt to do the same asynchronously.
The model parameters and training data sources are the same in both cases:
let modelParameters = MLActionClassifier.ModelParameters(validation: validationDataSet,batchSize: 5, maximumIterations: 10, predictionWindowSize: 120, targetFrameRate: 30)
let trainingDataSource = MLActionClassifier.DataSource.directoryWithVideosAndAnnotation(at: myStudyParticipantURLFinal, annotationFile: documentURLFinal, videoColumn: "file", labelColumn: "category", startTimeColumn: "startTime", endTimeColumn: "endTime")
the only thing I add to attempt asyncrounous training is sessionParameters:
let sessionDirectory = URL(fileURLWithPath: "(NSHomeDirectory())/test")
// Session parameters can be provided to `train` method.
let sessionParameters = MLTrainingSessionParameters(
sessionDirectory: sessionDirectory,
reportInterval: 10,
checkpointInterval: 100,
iterations: 10
)
To the final method:
let trainJob = try MLActionClassifier.train(trainingData: trainingDataSource, parameters: modelParameters, sessionParameters: sessionParameters)
The job crashes saying it cannot find plist files. I notice that only one plist file is written: meta.plist
It seems there should also be a parameters.plist written, but it is not there.