モジュールの利用
導入済みモジュールはPythonで以下のようにリクエストを送ることで利用することができます。モジュールはPythonに限らず、http(s)でリクエストを送ることで利用可能です。
利用方法の詳細は各モジュールのドキュメントを参照してください。
Pythonクライアント経由でリクエストする際のパラメータ
Pythonクライアント経由でリクエストする際は、以下のような形式でパラメータを指定します。
params = dict(
module="fed-avg-module",
method="fed_avg_aggregate",
token="a",
input={
"input_model_set": {
"model_store_ddc": "ddc:test_model",
"query": {"=": ["model_state", 20]},
}
},
output={
"output_model": {
"model_store_ddc": "ddc:test_model",
"model_kind": "a",
"model_description": "b",
}
},
params={},
)
module: 実行したいモジュール名
- method: definition.jsonのscriptsで定義したスクリプト名
- token: 未実装
- input: definition.jsonのscriptsで定義したinputの値にパラメータを追加したい場合に指定する
- output: definition.jsonのscriptsで定義したoutputの値にパラメータを追加したい場合に指定する
- params: 未実装
inputパラメータ
definition.jsonのscriptsで定義したinputの値にパラメータを追加したい場合に指定します。
inputのkeyは、definition.jsonのscriptsで定義したinputのkeyの値と一致させる必要があります。
また、オペレーションによって必須のパラメータがあります。必須のパラメータは以下のようになります。
-
モデルストアからモデルを取り出したい場合の必須パラメータ
model_store_ddc: モデルを取得したいDDC名(ddc:xxxxxの形式で指定)query: モデルの取得条件をJsonLogicで指定
-
DDCからCSV形式でデータを取り出す際の必須パラメータ
data_ddc: データを取得したいDDC名(ddc:xxxxxの形式で指定)
outputパラメータ
definition.jsonのscriptsで定義したoutputの値にパラメータを追加したい場合に指定します。
inputのkeyは、definition.jsonのscriptsで定義したoutputのkeyの値と一致させる必要があります。
また、オペレーションによって必須のパラメータがあります。必須のパラメータは以下のようになります。
-
モデルストアにモデルを保存したい場合の必須パラメータ
model_store_ddc: モデルを保存したいDDC名(ddc:xxxxxの形式で指定)
-
CSVからDDCにデータを保存する際の必須パラメータ
data_ddc: データを保存したいDDC名(ddc:xxxxxの形式で指定)
queryで指定可能な条件カラム
- start_datetime(timestamp with time zone)
- end_datetime(timestamp with time zone)
- tenant_id(varchar)
- model_id(varchar)
- model_kind(varchar)
- model_description(varchar)
- model_state(integer)
- model_hash(varchar)
- model_size(bigint)
- round(integer)
- hop_count(integer)
queryの例は以下のように組みます。
query例1
{"=": ["model_state", 20]}
query例2
{
"and": [
{"=": ["model_state", 20]},
{">": ["model_size", 400]}
]
}