我正在尝试使用RandomForestClassifier
将MNIST数据集的coremltools
模型转换为CoreML模型。
我使用fetch_mldata
中的sklearn.datasets
来导入数据;我的样本(数据)存储在Numpy数组X
中,标签(目标)存储在Numpy数组Y
中。
我的模型生成如下:
from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier()
rfc.fit(X, Y)
然后我尝试转换模型:
import coremltools
model = coremltools.converters.sklearn.convert(rfc)
然后,CoreML模型输入如下所示:
input {
name: "input"
type {
multiArrayType {
shape: 784
dataType: DOUBLE
}
}
}
问题是multiArrayType
。在iOS中处理像素缓冲区要容易得多,因此各种来源都指向这种语法(但是,它们使用的是Caffe而不是sklearn):
model = coremltools.converters.sklearn.convert(rfc, image_input_names='data')
但是,这给了我一条错误消息:
TypeError: convert() got an unexpected keyword argument 'image_input_names'
我试图找到这些参数的文档,但我只找到了一些使用Caffe的例子,他们似乎没有得到这个错误。