J'ai un tableau de 40 tableaux avec 12 caractéristiques doubles, donc le type est [[double]]. Actuellement, j'envoie ces données à l'API Google Cloud ML pour obtenir une prédiction associée.Comment initialiser un MLMultiArray dans CoreML
Depuis Apple a récemment présenté CoreML et coremltools, je me suis converti mon modèle de keras à .mlmodel pour éviter des milliers d'appels api Google Cloud et une inférence directement sur mon iPhone:
coreml_model = coremltools.converters.keras.convert(new_Model, input_names=['accelerations'],
output_names=['scores'])
coreml_model.save('PredictionModel.mlmodel')
Après avoir ajouté le modèle à mon Projet Xcode, il ressemble à:
Je ne sais pas d'où viennent ces autres entrées et sorties. Pour obtenir une prédiction, j'ai besoin de convertir mon tableau de tableaux de 12 doubles en MLMultiArray, mais je ne sais pas comment faire. Quelqu'un at-il fait face à un problème similaire? Voici mon approche inachevée actuelle:
_predictionModel = PredictionModel()
guard let mlMultiArray = try? MLMultiArray(dataPointer: <#T##UnsafeMutableRawPointer#>, shape: <#T##[NSNumber]#>, dataType: <#T##MLMultiArrayDataType#>, strides: <#T##[NSNumber]#>, deallocator: <#T##((UnsafeMutableRawPointer) -> Void)?##((UnsafeMutableRawPointer) -> Void)?##(UnsafeMutableRawPointer) -> Void#>) else {
fatalError("Unexpected runtime error.")
}
guard let predictionOutput = try? _predictionModel.prediction(accelerations: mlMultiArray, lstm_1_h_in: nil, lstm_1_c_in: nil, lstm_2_h_in: nil, lstm_2_c_in: nil) else {
fatalError("Unexpected runtime error.")
}
La documentation connexe se trouvent here.
Je vais avoir le même problème, mais je ne sais pas comment commencer, mes données d'entrée est une image. Donc, il sera très utile si quelqu'un comment le faire. – drasick
peut-être que [exemple] (https://github.com/yulingtianxia/Core-ML-Sample/blob/master/CoreMLSample/ViewController.swift) pourrait vous aider? – Lausbert