VNCoreMLModel 初始化报 [NSURL initFileURLWithPath:]: nil string parameter

参考这篇文章 http://www.demodashi.com/demo/11715.html

主要是因为 VNCoreMLModel init 的时候 model文件没有找到,如下代码所示:

 MyCustomImageClassifier *model = [[MyCustomImageClassifier alloc] init] ;
        _coreMLModel = [VNCoreMLModel modelForMLModel:model.model error:nil] ;

最好使用- (nullable instancetype)initWithContentsOfURL:(NSURL *)url error:(NSError * _Nullable __autoreleasing * _Nullable)error;进行初始化,如下所示:

 NSString* assetPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"MyCustomImageClassifier" ofType:@"mlmodelc"] ;
        if(assetPath != nil){
            MyCustomImageClassifier *model = [[MyCustomImageClassifier alloc] initWithContentsOfURL:[NSURL fileURLWithPath:assetPath] error:nil] ;
            _coreMLModel = [VNCoreMLModel modelForMLModel:model.model error:nil] ;
        }else{
            NSLog(@"%@","MyCustomImageClassifier模型文件没有找到");
        }

参考文章

http://www.demodashi.com/demo/11715.html

你可能感兴趣的:(软件测试,ios)