IZEL_add_layer
学習モデルに隠れ層を1つ追加します。この関数を呼んだ順で学習モデルの左から右へ隠れ層を追加します。
最後にIZEL_set_output_layer()を呼ぶことで学習モデルは完成となります。これ以後にIZEL_add_layer()を呼んだ場合はエラーとなり、学習モデルに隠れ層の追加は行われません。
void IZEL_add_layer(int handle, unsigned int length, int activation_function)
引数
引数名 | I/O | 説明 |
---|---|---|
handle | In | ハンドラ値 |
length | In | 隠れニューロンの数を指定します。 |
activation_function | In | 活性化関数を指定します。以下の活性化関数を指定できます。 E_ACTIVATION_FUNCTION_ReLU : ReLU E_ACTIVATION_FUNCTION_SOFTMAX : softmax E_ACTIVATION_FUNCTION_STEP : step E_ACTIVATION_FUNCTION_SIGMOID : sigmoid この引数は省略することもできます。省略した場合はReLUがセットされます。 |
戻り値
0 : 正常
-1: エラー
サンプルソース
#include <Izel.mqh>
void sample()
{
int handle;
// オープン
handle = IZEL_open();
if( handle < 0 ) {
// エラー処理;
}
// 学習モデルの定義
IZEL_add_layer(handle, 100);
IZEL_add_layer(handle, 200);
IZEL_set_output_layer(handle, 2);
// トレーニングデータのセット
IZEL_open_x_train(handle);
IZEL_append_x_train(handle, 1.0);
IZEL_append_x_train(handle, 2.0);
IZEL_close_x_train(handle);
IZEL_set_y_train(handle, 1);
/*
データのセットを繰り返す。
・
・
・
*/
// トレーニング
IZEL_fit(handle, 100, 32);
// クローズ
IZEL_close(handle);
}