config モジュール
SAMACTConfig / LearningPropertyConfig / FitResult の定義と検証。
- class samact_model_adapter.config.LearningPropertyConfig(eta: int = 7, iota: int = 4, decay_period: int = 5)
Bases:
objectPySAMACT の学習パラメータ設定。
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:
objectcompress_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。