2017-08-28 15 views
0

私はMachine-Visionプロジェクトを客観的なC言語で作成しました。それを完成させるために、私のマシンMy_model.mlmodelを最新のcoreMLライブラリでインポートする必要があります。 (切り捨てMy_model.mlmodelはPythonのcoremltoolsで作成されました) 私はそれをインスタンス化しようとしていますが、何も動かないので、このチュートリアルやチュートリアルを見つけることができませんでした。もちろん、純粋なSwiftプロジェクトに自分のモデルをインポートしても動作します。 Swiftクラスをプロジェクトに追加して、このようにしたいと思っていましたが、ここでもXcodeはモデルをObjective-Cによって生成されたモデル用インターフェイスに変換し、モデルはSwiftクラスには表示されません。ObjectMLのMachine Learning ModelをCoreMLと組み合わせて使用​​する方法

以下の図は、XcodeがObjective-Cクラスとして.mlmodelを自動的にインポートすることを示しています。

Xcode imports mlmodel as Objective-C class

私がモデルにベクトルを入れて応答を取得する必要があります。

私を助けてください。私はこのプロジェクトを完了するまでに数行を積み重ねています。 Objective-Cの中でMy_model.mlmodelを使う方法 Swiftのような簡単な方法がありますか?

ありがとうございます。たぶん

+0

linear_modelの横にある小さな矢印(「Objective-C generated interface for model」)をクリックすると、このObj-Cコードの外観が表示されます。 –

+0

しました。私はこのオプションを引き出そうとしましたが、何か間違っています。モデルは自分のコードにも到達しますが、データの出し入れ方法を理解することはできません。コードに入れば、コンパイラは警告を発します。 "expression result unused" –

+0

多分Objective-Cでの例がありますか?私はリンゴのドキュメンテーションのウェブサイトにあるすべての可能な組み合わせでモデルをインスタンス化しようとしました。 Swiftのバージョンははるかに簡単ですが、プロジェクトが大きすぎてSwiftに変換できません。私は私のプロジェクトの中でSwiftコードを使ってやろうとしましたが、XcodeはObjective-Cにモデルを自動的に変換しますので、私は正方形に戻ります。 –

答えて

0

、OBJ-cはあなたを助ける上で、このプロジェクト:私のプロジェクトで https://github.com/freedomtan/SimpleInceptionV3-ObjC/tree/continuous-mobilenet/SimpleInceptionV3-ObjC

を私は

#import "my_model.h" 

@property (nonatomic, strong) my_model *model; 

- (void)configureModel { 
    NSURL *modelUrl = [[NSBundle mainBundle] URLForResource:@"my_model" withExtension:@"mlmodelc"]; 
    NSError *error; 
    self.model = [[my_model alloc] initWithContentsOfURL:modelUrl error:&error]; 
    if (error) { 
     NSLog(@"cover search error: model not configure"); 
    } 
} 

なぜ "mlmodelc" に関するいくつかの説明を私のモデルを初期化するために、このメソッドを使用します。 https://blog.zedge.net/developers-blog/hotswapping-machine-learning-models-in-coreml-for-iphone

関連する問題