Objective-C
にAppleのCoreML
という非常に簡単な例を作成するのに問題があります。私はすでにかなり単純に機能するようになりましたpython
を使用してモデルファイルを作成しました:Object-Cでcoremlを実行しています
coreml_model_svm = coremltools.models.MLModel("svm.mlmodel")
test_x = [1.0 for x in range(160)]
predictions_coreml_svm = coreml_model_svm.predict({"input":test_x})
私はObjective-C
に上記の3本のラインを再現したいと思います。私のデータはMLMultiArray
でなければならず、モデルはMLModel
にロードする必要があります。私は構文についていくつかの情報を見つけようとしていますが、ドキュメンテーションの仕組みが分からず、すべての例がSwiftにあります。これまでのところ私のコードです。 MLMultiArray
にコメントすると、MLModel
を初期化するためのキャッチされない例外が発生します。 MLMultiArray
にコメントしていないときはno known class method for selector 'initWithShape:dataType:error'
となる。
#import <Foundation/Foundation.h>
#import <CoreML/CoreML.h>
//clang -framework Foundation coremltest.m -o coremltest
int main (int argc, const char * argv[])
{
NSLog(@"start");
NSArray * shape = [[NSArray alloc] init];
MLMultiArrayDataType dataType = MLMultiArrayDataTypeDouble;
NSError * error = nil;
MLMultiArray * input = [MLMultiArray initWithShape:(NSArray*) shape
dataType:(MLMultiArrayDataType) dataType
error:(NSError **) error];
MLModel * mymodel = [[MLModel init] initWithContentsOfFile:@"svm.mlmodel"];
return 0;
}
私はこれに助けていただきありがとうございます。
なぜObjective-Cを使いたいのか不思議です。上記のコードは有効なObj-Cではありません。これはあなたがその言語に堪能ではないと信じさせてくれます。それが事実なら、なぜそれを使うのですか?どのような場合でも、コードは次のようになります。 'MLMultiArray * input = [MLMultiArray initWithShape:@ [@ 10、@ 10] dataType:MLMultiArrayDataTypeDoubleエラー:&error];' MLModel * model = [[MLModel alloc] initWithContentsOfFile :@ "name"]; ' –