Pretrained

事前学習したモデルを読み込んで作成するSAMACTモデルのクラスです。
SAMACTを操作するために利用します。

クラス定義

class Pretrained(filename):

import記述例

from samact import Pretrained

クラス要素

Parameters

filename:str

本フレームワークの Sequential または、Pretrained(本クラス)の.Save()メソッドで作成したファイルを指定します。

Warning

本フレームワーク以外で生成したモデルファイルは、読み込むことができません。

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型として定義してください。(次元は1)

  • オートエンコーダの場合、Noneを指定してください。

epochsint

学習epoch数を設定します。

learningPropertyLearningProperty

学習のための設定値を設定します。

metricsstr, default=’accuracy’

学習の評価メトリクスを設定します。

分類問題を利用する場合、’accuracy’を指定してください。(デフォルト)

回帰予測やオートエンコーダを利用する場合、’mse’を指定してください。

その他の指標については、学習データでEvaluate()し、EvaluationResult.predictsを利用してユーザが計算することを想定しています。

Returns

FitResult

学習結果のサマリを返します。


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]

パラメータで渡したデータ(1レコード)に対しての
モデルの動的パラメータ(内部電位や発火時刻)を取得します。

Parameters

datanp.ndarray

下記の次元になっていることを想定しています。

(説明変数の数, )

Returns

list[Dynamics]

Dynamicsの仕様については、Dynamics を参照してください。