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

本文详细解析了在iOS开发中使用CoreML框架时遇到的模型加载失败问题,提供了正确的模型初始化方法,确保应用程序能够成功识别并加载自定义的机器学习模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考这篇文章 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值