config モジュール

SAMACTConfig / LearningPropertyConfig / FitResult の定義と検証。

class samact_model_adapter.config.LearningPropertyConfig(eta: int = 7, iota: int = 4, decay_period: int = 5)

Bases: object

PySAMACT の学習パラメータ設定。

SAMACTConfig.learning_property に指定すると、SAMACT モデル構築時に PySAMACT の LearningProperty(eta=..., iota=..., decayPeriod=...) に 変換して使用される。

Variables:
  • eta (int) – PySAMACT LearningProperty の eta に対応する値。

  • iota (int) – PySAMACT LearningProperty の iota に対応する値。

  • decay_period (int) – PySAMACT LearningProperty の decayPeriod に 対応する値。

class samact_model_adapter.config.SAMACTConfig(tC: int = 32, hidden_units: int = 64, epochs: int = 10, encoder_type: str = 'rate', n_neuron_per_exp_var: int | None = None, learning_property: LearningPropertyConfig | None = None, samlayer_kwargs: dict[str, object] | None = None, clip_scaled_values: bool = True, torch_seed: int | None = None, n_output_multiplier: int = 1)

Bases: object

compress_from_pytorch() / translate_from_pytorch() に渡す、 SAMACT モデルの構築・学習設定。

Variables:
  • tC (int) – PySAMACT Sequential.Compile(tC) に渡す値。

  • hidden_units (int) – SAMLayer 中間層のユニット数。encoder の nUnits とは 区別される。

  • epochs (int) – PySAMACT Fit() に渡す学習エポック数。

  • encoder_type (str) – 使用する encoder の種類。"rate" または "neuron_focus" のいずれかを指定する。

  • n_neuron_per_exp_var (int | None) – encoder_type="neuron_focus" の場合に必須の パラメータ。NeuronFocusEncodeLayer の nNeuronPerExpVar に 対応する。

  • learning_property (samact_model_adapter.config.LearningPropertyConfig | None) – PySAMACT の LearningProperty に変換する設定。 未指定の場合は PySAMACT の既定値を使用する。

  • samlayer_kwargs (dict[str, object] | None) – PySAMACT SAMLayer コンストラクタへそのまま渡す 追加引数。存在しないキーを指定すると InvalidSAMACTConfigError が送出される。samProperty / weightDist を指定しない場合、PySAMACT 自体の既定値では なく、より高い学習精度が得られることを確認済みの値 (LayerProperty(a=3, p=0.75) / RandomProperty("kaiming", "normal"))が既定値として使用される。また、デコーダ直前の 最終 SAMLayer では、teacherSignalActivate を指定しない 場合に限り PySAMACT の既定値 Step() の代わりに Linear() が使用される。

  • clip_scaled_values (bool) – True の場合、scaler の transform 後の値を [0, 1] に clip する。

  • torch_seed (int | None) – 指定した場合、loader / val_loader が Dataset として渡され、内部で DataLoader を構築する 際の shuffle 用 torch.Generator の seed として使用される。 loader / val_loader に DataLoader を直接渡した 場合や、dataloader_kwargs に generator を指定した 場合は使用されない。

  • n_output_multiplier (int) – 最終 SAMLayer のユニット数に掛ける倍率。1 以上 の整数を指定する。分類タスクでは無視される。

Raises:

InvalidSAMACTConfigError – encoder_type が不正な場合、 encoder_type="neuron_focus" で n_neuron_per_exp_var が 未指定の場合、n_output_multiplier が 1 未満の場合に送出される。

class samact_model_adapter.config.FitResult(epochs: int, elapsed_seconds: float, mse_per_epoch: list[float] | None = None, accuracy_per_epoch: list[float] | None = None)

Bases: object

学習結果のサマリ。SAMACTModelAdapter.fit_result に保持される。

Variables:
  • epochs (int) – 学習に使用したエポック数。

  • elapsed_seconds (float) – 学習にかかった時間(秒)。

  • mse_per_epoch (list[float] | None) – 特徴量圧縮モードおよびスタンドアロン回帰で使用する、 エポックごとの学習データに対する MSE のリスト。それ以外の 場合は None。

  • accuracy_per_epoch (list[float] | None) – スタンドアロン分類で使用する、エポックごとの 学習データに対する accuracy のリスト。それ以外の場合は None。