2024 年 PHP 日本研討會

fann_train_on_file

(PECL fann >= 1.0.0)

fann_train_on_file從檔案讀取整個資料集,並訓練一段時間

說明

fann_train_on_file(
    資源 $ann,
    字串 $filename,
    整數 $max_epochs,
    整數 $epochs_between_reports,
    浮點數 (float) $desired_error
): 布林值 (bool)

在一段時間內,使用從檔案讀取的整個資料集進行訓練。

此訓練使用 fann_set_training_algorithm() 選擇的訓練演算法以及為這些訓練演算法設定的參數。

參數

ann

神經網路 資源 (resource)

filename

包含訓練資料的檔案

max_epochs

訓練應繼續的最大訓練週期數

epochs_between_reports

呼叫使用者函式之間的訓練週期數。值為零表示不呼叫使用者函式。

desired_error

期望的 fann_get_MSE()fann_get_bit_fail() 值,取決於 fann_set_train_stop_function() 選擇的停止函式

回傳值

成功時回傳 true,否則回傳 false

參見

新增註解

使用者貢獻的註解 1 則註解

geekgirljoy at gmail dot com
6 年前
訓練檔案 (xor.data)
4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

<?php
$num_input
= 2;
$num_output = 1;
$num_layers = 3;
$num_neurons_hidden = 3;
$desired_error = 0.001;
$max_epochs = 500000;
$epochs_between_reports = 1000;
$training_data = dirname(__FILE__) . "/xor.data"; // 訓練資料檔案
$ann_save_file = dirname(__FILE__) . "/xor_float.net"; // 訓練資料檔案

// 使用以下方式建立 ANN 物件
$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if (
$ann) {

// 設定 ANN 激活函數
fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

// 嘗試使用 fann_train_on_file() 進行訓練
if (fann_train_on_file($ann, $training_data, $max_epochs, $epochs_between_reports, $desired_error)){
echo
'xor 已訓練完成。' . PHP_EOL);
}

// 嘗試儲存
if (fann_save($ann, $ann_save_file)){
echo
'xor 已儲存。' . PHP_EOL);
}

// 銷毀 $ann 物件
fann_destroy($ann);
}
?>
To Top