iOS CoreMLモデル変換ツールcoremltools(3)
7551 ワード
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')
>>> metrics = coremltools.utils.evaluate_classifier(spec, 'data_and_predictions.csv', 'target')
>>> print metrics
{"samples": 10, num_errors: 0}
>>> metrics = coremltools.utils.evaluate_regressor(spec, 'data_and_predictions.csv', 'target')
>>> print metrics
{"samples": 10, "rmse": 0.0, max_error: 0.0}
>>> 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)
>>> spec = coremltools.utils.load_spec('HousePricer.mlmodel')
# In-place rename of spec
>>> coremltools.utils.rename_feature(spec, 'old_feature', 'new_feature_name')
>>> coremltools.utils.save_spec(spec, 'HousePricer.mlmodel')