iOS CoreML 模型转换工具coremltools(三)

来源:互联网 发布:最可靠的单片机 编辑:程序博客网 时间:2024/05/16 02:36

Utilities

coremltools.models.utils.evaluate_classifier(model,data,target='target',verbose=False)

评估 CoreML 分类器模型同时 同原始的模型做比较 (用于测试转换后的正确性).

Parameters:

filename: [str | MLModel]

模型文件或者 MLModel.

data: [str | Dataframe]

评估模型的测试数据 (dataframe 或者 csv文件路径).

target: str

目标列名称

verbose: bool

设置为 true 可以输出更多信息.

参考

evaluate_regressor,evaluate_classifier_with_probabilities

例:

>>> metrics =  coremltools.utils.evaluate_classifier(spec, 'data_and_predictions.csv', 'target')>>> print metrics{"samples": 10, num_errors: 0}
coremltools.models.utils.evaluate_classifier_with_probabilities(model,data,probabilities='probabilities',verbose=False)

评估 CoreML 分类器模型.

Parameters:

filename: [str | Model]

模型文件或者 MLModel.

data: [str | Dataframe]

评估模型的测试数据 (dataframe 或者 csv文件路径).

probabilities: str

目标列名称

verbose: bool

设置为 true 可以输出更多信息.

coremltools.models.utils.evaluate_regressor(model,data,target='target',verbose=False)

评估 CoreML 回归模型同时 同原始的模型做比较 (用于测试转换后的正确性)

Parameters:

filename: [str | MLModel]

模型文件或者 MLModel.

data: [str | Dataframe]

评估模型的测试数据 (dataframe 或者 csv文件路径).

target: str

目标列名称.

verbose: bool

设置为 true 可以输出更多信息.

参考

evaluate_classifier

例:

>>> metrics =  coremltools.utils.evaluate_regressor(spec, 'data_and_predictions.csv', 'target')>>> print metrics{"samples": 10, "rmse": 0.0, max_error: 0.0}
coremltools.models.utils.evaluate_transformer(model,input_data,reference_output,verbose=False)

Evaluate a transformer specification for testing.

Parameters:

spec: [str | MLModel]

模型文件或者 MLModel.

input_data: list[dict]

评估模型的测试数据.

reference_output: list[dict]

模型的预期结果.

verbose: bool

设置为 true 可以输出更多信息.

参考

evaluate_regressor,evaluate_classifier

例:

>>> input_data = [{'input_1': 1, 'input_2': 2}, {'input_1': 3, 'input_2': 3}]>>> expected_output = [{'input_1': 2.5, 'input_2': 2.0}, {'input_1': 1.3, 'input_2': 2.3}]>>> metrics = coremltools.utils.evaluate_transformer(scaler_spec, input_data, expected_output)
coremltools.models.utils.load_spec(filename)

从文件中加载protobuf 模型规范

Parameters:

filename: str

能够加载到protobuf文件的磁盘位置 (合法的文件路径) .

Returns:

model_spec: Model_pb

模型的Protobuf 表示

See also

save_spec

Examples

>>> spec = coremltools.utils.load_spec('HousePricer.mlmodel')
coremltools.models.utils.rename_feature(spec,current_name,new_name,rename_inputs=True, rename_outputs=True)

重命名规范中的特征名.

Parameters:

spec: Model_pb

包含将要将要命名的特征的规范.

current_name: str

当前特征名称. 如果特征不存在, 此次调用不做任何操作.

new_name: str

修改后的特征名称.

rename_inputs: bool

只修改输入中的特征 (忽略输出特征)

rename_outputs: bool

只修改输出中的特征 (忽略输入特征)

例:

# In-place rename of spec>>> coremltools.utils.rename_feature(spec, 'old_feature', 'new_feature_name')
coremltools.models.utils.save_spec(spec,filename)

将 protobuf 模型说明保存到文件.

Parameters:

spec: Model_pb

Protobuf 模型

filename: str

保存路径.

参考

load_spec

例:

>>> coremltools.utils.save_spec(spec, 'HousePricer.mlmodel')
原创粉丝点击