我在
Xcode 9 Beta上使用CoreML和
Swift 4.0.
如果在Project导航器中选择文件VGG16.mlmodel,则会出现错误:解码此文档时出现问题CoreML
此外,在代码中我得到错误使用未解析的标识符’VGG16’和使用未声明的类型’VGG16′
VGG16.mlmodel从这里下载https://developer.apple.com/machine-learning/
可能是什么问题呢?
PS的模型Places205-GoogLeNet,ResNet50和Inception v3一切正常.
根据要求,我会将我的评论充实为答案.
原文链接:https://www.f2er.com/swift/319418.html其他人已经提到了这一点,但你很可能有一个损坏的下载或模型本身已经破坏.首先,我强烈建议不要在移动设备上使用VGG16型号或相关型号,因为它们的尺寸很大(VGG16为500 MB).只要加载模型,你就会耗尽iPhone 6上的内存,你的应用程序大小将是巨大的,并且在加载这些权重时你将有一个很长的初始化时间.
我建议使用类似SqueezeNet变体的东西,它很小(~5 MB),在ImageNet上训练时可以更准确,并且不像Inception系列那样计算成本高. Apple提到在其中一个Core ML WWDC会话中使用其中一个.
将模型添加到Xcode项目时,请确保它实际上已在目标中注册. Xcode的当前测试版偶尔会忘记将其添加到目标中,因此请突出显示模型并检入文件检查器以确保它是应用程序目标的一部分.如果模型不在您的目标中,Xcode将不会为其自动生成Swift标头.