Sequential
クラス定義
class Sequential(encoder, decoder, layers):
import記述例
from samact import Sequential
クラス要素
Parameters
- encoderIEncoder
SAMACTが利用するエンコーダを指定します。 本バージョンで利用可能なエンコーダは下記を参照してください。
- decoderIDecoder
SAMACTが利用するデコーダを指定します。 本バージョンで利用可能なデコーダは下記を参照してください。
- layerslist[INeuralLayer]
SAMACTのLayerを渡します。 本バージョンで利用可能なLayerは下記を参照してください。
Add(layer) -> None
SAMACTのLayerを最後段に追加します。
Parameters
- layerINeuralLayer
SAMACTのLayerを渡します。 本バージョンで利用可能なLayerは下記を参照してください。
Returns
None
Compile(tC) -> None
オブジェクトが持っている設定値から、SAMACTモデルを生成します。
Caution
このメソッドの実行前は、ほとんどのメソッドが利用できません。
Parameters
- tCint
SAMACTの1データに対する使用ユニットタイム数を設定します。
設定値の目安の参考として、 データごとのユニットタイム数 tC を参照してください。
Returns
None
Fit(dataset, labels, epochs, learningProperty, metrics=’accuracy’) -> FitResult
datasetを説明変数、labelsを目的変数として、SAMACTを学習します。
Parameters
- datasetnp.ndarray
説明変数を指定します。
下記の次元になっていることを想定しています。
(データ数, 説明変数の数)説明変数は、0から1の範囲に変換して渡してください。
Tip
0から1の範囲に正規化するのが最もスタンダードですが、0.1から0.9の範囲に正規化する、という選択肢も考えられます。
Tip
正規化には、scikit-learnの MinMaxScaler などを利用すると良いでしょう。
- labelsnp.ndarray
目的変数を指定します。
下記の次元になっていることを想定しています。
(データ数, )
分類問題の場合、目的変数はラベルの通し番号をint型として定義してください。
- epochsint
学習epoch数を設定します。
- learningPropertyLearningProperty
学習のための設定値を設定します。
- metricsstr, default=’accuracy’
学習の評価メトリクスを設定します。
分類問題を利用する場合、’accuracy’を指定してください。(デフォルト)
回帰予測やオートエンコーダを利用する場合、’mse’を指定してください。
その他の指標については、学習データでEvaluate()し、EvaluationResult.predictsを利用してユーザが計算することを想定しています。
Returns
学習結果のサマリを返します。
Evaluate(dataset, label, metrics=’accuracy’) -> EvaluationResult
datasetを説明変数、labelを目的変数として、SAMACTを評価します。
Parameters
- datasetnp.ndarray
説明変数を指定します。
下記の次元になっていることを想定しています。
(データ数, 説明変数の数)説明変数は、0から1の範囲に変換して渡してください。
Tip
0から1の範囲に正規化するのが最もスタンダードですが、0.1から0.9の範囲に正規化する、という選択肢も考えられます。
Tip
正規化には、scikit-learnの MinMaxScaler などを利用すると良いでしょう。
- labelnp.ndarray
目的変数を指定します。
下記の次元になっていることを想定しています。
(データ数, 目的変数の数)
分類問題の場合、目的変数はラベルの通し番号をint型として定義してください。
オートエンコーダの場合、Noneを指定してください。
- metricsstr, default=’accuracy’
分類問題を利用する場合、’accuracy’を指定してください。(デフォルト)
回帰予測やオートエンコーダを利用する場合、’mse’を指定してください。
Returns
Predict(data) -> int|float|np.ndarray
1データに対して、SAMACTで推論します。
Parameters
- datanp.ndarray
下記の次元になっていることを想定しています。
(説明変数の数, )
Returns
分類問題の場合、ラベルの通し番号を返します。(int)
オートエンコーダの場合、再構成誤差を返します。(float)
回帰予測の場合、目的変数群を返します。(np.ndarray)
PulseCountPredict(data) -> np.ndarray
1データに対して、SAMACTで推論します。
ただし、返り値を各出力ニューロンのパルス数として受け取ります。
Parameters
- datanp.ndarray
下記の次元になっていることを想定しています。
(説明変数の数, )
- Returns
np.ndarray
次元は下記になります。
(出力ニューロンのパルス数, )
Caution
出力されるのはパルス数で、返り値をそのままSoftmaxとして解釈することはできないのでご注意ください。
Save(filename)->None
現時点のモデルの情報をh5形式のファイルに出力します。
本フレームワークの Pretrained のコンストラクタ引数にすることで、ファイルからモデルを読み込むことができます。
Parameters
- filenamestr
保存するファイルの名称を指定します。(拡張子は.h5を推奨)
Returns
None
FreezeLayers(layers)->None
layersで名前指定したレイヤーの学習可能パラメータをフリーズします。
転移学習などの文脈での利用を想定しています
Caution
本バージョンではフリーズの解除はできません。
Parameters
- layerslist[str]
フリーズするレイヤーの名前のリストを渡します。
Tip
layerの名称は、次の命名規則になります。f’SAMLayer{i}’
Returns
None
layers -> list[str]:
モデルが持つ学習可能レイヤーの名前の一覧をリストで取得できるプロパティです。
GetStaticParameters()->list[StaticParameters]
モデルの学習可能パラメータを取得します。
Parameters
None
Returns
list[StaticParameters]
StaticParametersの仕様については、StaticParameters を参照してください。
ComputeDynamics(data)->list[Dynamics]
Parameters
- datanp.ndarray
下記の次元になっていることを想定しています。
(説明変数の数, )
Returns
list[Dynamics]
Dynamicsの仕様については、Dynamics を参照してください。