函数名:fann_train_on_file()
适用版本:FANN >= 2.1.0
用法:fann_train_on_file(resource $ann, string $filename, int $max_epochs, int $epochs_between_reports, float $desired_error) : bool
说明:fann_train_on_file() 函数用于使用指定的神经网络资源($ann)从文件中训练神经网络模型。该函数将根据给定的训练数据文件($filename)进行训练,并在达到最大轮数($max_epochs)或期望误差($desired_error)时停止训练。在训练过程中,每经过 $epochs_between_reports 轮训练,将打印出一次当前训练的报告。
参数:
- $ann:神经网络资源(由 fann_create_standard() 或 fann_create_from_file() 创建)
- $filename:训练数据文件的路径
- $max_epochs:最大训练轮数
- $epochs_between_reports:打印训练报告的轮数间隔
- $desired_error:期望的误差值
返回值:成功时返回 true,失败时返回 false。
示例:
<?php
// 创建神经网络
$ann = fann_create_standard(3, 2, 3, 1);
// 从文件中训练神经网络
if (fann_train_on_file($ann, "training.data", 1000, 10, 0.001)) {
echo "神经网络训练成功!";
} else {
echo "神经网络训练失败!";
}
// 释放神经网络资源
fann_destroy($ann);
?>
以上示例中,我们首先使用 fann_create_standard() 函数创建了一个具有 3 层(输入层、隐藏层和输出层)的神经网络。然后,我们调用 fann_train_on_file() 函数来从名为 "training.data" 的训练数据文件中训练神经网络,最大轮数为 1000,每经过 10 轮训练打印一次训练报告,期望误差为 0.001。最后,根据返回值判断训练是否成功,并释放神经网络资源。