我正在尝试.mlmodel使用以下代码将 h5 keras 模型转换为文件类型:from keras.models import load_modelimport kerasfrom keras.applications.mobilenet import MobileNetfrom keras.layers import DepthwiseConv2D# convert the model to coreml formatprint("[INFO] converting model")from keras.utils.generic_utils import CustomObjectScopewith CustomObjectScope({'relu6': keras.applications.mobilenet.relu6,'DepthwiseConv2D': keras.applications.mobilenet.DepthwiseConv2D}): model = load_model('/Users/nikhil.c/aslModel.h5', custom_objects={ 'relu6': MobileNet})coreml_model = coremltools.converters.keras.convert("/Users/nikhil.c /aslModel.h5", input_names="image", image_input_names="image", image_scale=1/255.0, class_labels= ["hello", "hi", "you"], is_bgr=True)# save the model to diskcoremltools.utils.save_spec(coreml_model, 'aslModel.mlmodel')在使用之前,我最初收到此错误CustomObjectScope:ImportError: cannot import name 'relu6'我通过修复它CustomObjectScope,但现在我收到错误:AttributeError: module 'keras.applications.mobilenet' has no attribute 'relu6'. 我通常不会在堆栈溢出中发帖,所以如果您需要更多信息,请告诉我。
1 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
您拥有的代码适用于较旧的 Keras 版本,我检查的最新 Keras (2.2.2) 已经集成了 ReLU 和 DepthWiseConv2D keras.layers,因此您只需要导入它即可使用 MobileNet:
import keras
from keras.applications import MobileNet
MobileNetV2更新版本的 MobileNet也在同一个包中。
添加回答
举报
0/150
提交
取消