---
title: "モデルラッパー"
slug: "model-wrappers"
abstract: ""
---
# モデルラッパー

Cortex Processing Engineの文脈において、モデルラッパーとはSitecore.Processing.Engine.ML.Abstractions.IModelの実装です。モデルラッパーはタスクを登録する際にワーカーオプション辞書の一部として渡され、以下の定義を行います。

-   特定のモデルに対して、トレーニングロジック(TrainAsync())をモデル化します。
-   特定のモデルに対するモデル評価ロジック(EvaluateAsync())です。
-   構造を定義する射影論理(Projection)

異なるワーカーは同じモデルの異なる部分を使用し、マージワーカーのようにモデルラッパーを全く必要としないワーカーもいます。例えば、モデルのトレーニングタスクチェーンでは:

-   プロジェクションワーカーはプロジェクションロジックを用い、例えばxConnectデータを機械学習の文脈で使える形式に投影します。
-   マージワーカーはモデルラッパーを使用しません。
-   トレーニングワーカーはモデルのトレーニングロジックを実行します。

> !注機械学習以外の文脈で投影を使いたい場合は、IModelの実装を作成する必要があります。モデルのトレーニングや評価を必要としない場合は、空の結果を返すことができます。

## モデルラッパーと訓練済みモデル

IModelを実装するクラスと訓練済みの機械学習モデルとの間に直接的な関係はありません。IModelには、ブロブストレージにおける訓練済みモデルの位置への参照が含まれていません。

モデルラッパーと訓練済みモデルの関係は、モデルラッパーのTrainAsync() およびEvaluateAsync() メソッドにおけるカスタムロジックに限定されています。

例えば、Microsoft Machine Learning Server(MMLS)統合を使用している場合、モデル実装にはMMLSに送信されるトレーニングおよび評価用Rスクリプトへの参照が含まれます。これらのスクリプトには、ブロブストレージ内のモデルの位置と名前が含まれます。