PHP Conference Japan 2024

预定义常量

以下常量由此扩展定义,并且仅在扩展已编译到 PHP 中或在运行时动态加载时可用。

训练算法
FANN_TRAIN_INCREMENTAL (int)
标准反向传播算法,其中权重在每个训练模式后更新。这意味着权重在单个周期内更新多次。由于这个原因,某些问题将使用此算法非常快速地进行训练,而其他更高级的问题将无法很好地训练。
FANN_TRAIN_BATCH (int)
标准反向传播算法,其中权重在计算整个训练集的均方误差后更新。这意味着权重在每个周期中仅更新一次。由于这个原因,某些问题将使用此算法训练得更慢。但由于均方误差的计算比增量训练更准确,因此某些问题将使用此算法获得更好的解决方案。
FANN_TRAIN_RPROP (int)
一种更高级的批量训练算法,可以为许多问题获得良好的结果。RPROP 训练算法是自适应的,因此不使用 learning_rate。但是,可以设置一些其他参数来更改 RPROP 算法的工作方式,但这仅推荐给了解 RPROP 训练算法工作原理的用户。RPROP 训练算法由 [Riedmiller 和 Braun,1993] 描述,但此处使用的实际学习算法是 iRPROP- 训练算法,由 [Igel 和 Husken,2000] 描述,它是标准 RPROP 训练算法的一种变体。
FANN_TRAIN_QUICKPROP (int)
一种更高级的批量训练算法,可以为许多问题获得良好的结果。quickprop 训练算法使用 learning_rate 参数以及其他更高级的参数,但仅建议更改这些高级参数,供了解 quickprop 训练算法工作原理的用户使用。quickprop 训练算法由 [Fahlman,1988] 描述。
FANN_TRAIN_SARPROP (int)
更高级的训练算法。仅适用于 2.2 版
激活函数
FANN_LINEAR (int)
线性激活函数。
FANN_THRESHOLD (int)
阈值激活函数。
FANN_THRESHOLD_SYMMETRIC (int)
阈值激活函数。
FANN_SIGMOID (int)
S型激活函数。
FANN_SIGMOID_STEPWISE (int)
S型的分段线性逼近。
FANN_SIGMOID_SYMMETRIC (int)
对称S型激活函数,又称 tanh。
FANN_SIGMOID_SYMMETRIC_STEPWISE (int)
对称S型的分段线性逼近
FANN_GAUSSIAN (int)
高斯激活函数。
FANN_GAUSSIAN_SYMMETRIC (int)
对称高斯激活函数。
FANN_GAUSSIAN_STEPWISE (int)
分段高斯激活函数。
FANN_ELLIOT (int)
David Elliott 定义的快速(类似S型)激活函数。
FANN_ELLIOT_SYMMETRIC (int)
David Elliott 定义的快速(对称S型类似)激活函数。
FANN_LINEAR_PIECE (int)
有界线性激活函数。
FANN_LINEAR_PIECE_SYMMETRIC (int)
有界线性激活函数。
FANN_SIN_SYMMETRIC (int)
周期性正弦激活函数。
FANN_COS_SYMMETRIC (int)
周期性余弦激活函数。
FANN_SIN (int)
周期性正弦激活函数。
FANN_COS (int)
周期性余弦激活函数。
训练期间使用的误差函数
FANN_ERRORFUNC_LINEAR (int)
标准线性误差函数。
FANN_ERRORFUNC_TANH (int)
Tanh 误差函数;通常更好,但可能需要较低的学习率。此误差函数积极地针对与所需差异很大的输出,而不针对仅略有差异的输出。不推荐用于级联或增量训练。
训练期间使用的停止条件
FANN_STOPFUNC_MSE (int)
停止条件是均方误差 (MSE) 值。
FANN_STOPFUNC_BIT (int)
停止条件是失败的位数。位数是指输出神经元与位失败限制(参见 fann_get_bit_fail_limit、fann_set_bit_fail_limit)差异超过的次数。位数在所有训练数据中计算,因此此数字可能高于训练数据数。
fann_get_network_type()使用的网络类型定义
FANN_NETTYPE_LAYER (int)
每一层仅与下一层连接。
FANN_NETTYPE_SHORTCUT (int)
每一层都与所有后续层连接
错误
FANN_E_NO_ERROR (int)
没有错误。
FANN_E_CANT_OPEN_CONFIG_R (int)
无法打开配置文件进行读取。
FANN_E_CANT_OPEN_CONFIG_W (int)
无法打开配置文件进行写入。
FANN_E_WRONG_CONFIG_VERSION (int)
配置文件的版本错误。
FANN_E_CANT_READ_CONFIG (int)
从配置文件读取信息时出错。
FANN_E_CANT_READ_NEURON (int)
从配置文件读取神经元信息时出错。
FANN_E_CANT_READ_CONNECTIONS (int)
从配置文件读取连接时出错。
FANN_E_WRONG_NUM_CONNECTIONS (int)
连接数与预期数量不符。
FANN_E_CANT_OPEN_TD_W (int)
无法打开训练数据文件进行写入。
FANN_E_CANT_OPEN_TD_R (int)
无法打开训练数据文件进行读取。
FANN_E_CANT_READ_TD (int)
从文件读取训练数据时出错。
FANN_E_CANT_ALLOCATE_MEM (int)
无法分配内存。
FANN_E_CANT_TRAIN_ACTIVATION (int)
无法使用所选的激活函数进行训练。
FANN_E_CANT_USE_ACTIVATION (int)
无法使用所选的激活函数。
FANN_E_TRAIN_DATA_MISMATCH (int)
两个 fann_train_data 结构体之间存在无法调和的差异。
FANN_E_CANT_USE_TRAIN_ALG (int)
无法使用所选的训练算法。
FANN_E_TRAIN_DATA_SUBSET (int)
尝试获取不在训练集内的子集。
FANN_E_INDEX_OUT_OF_BOUND (int)
索引超出范围。
FANN_E_SCALE_NOT_PRESENT (int)
缩放参数不存在。
FANN_E_INPUT_NO_MATCH (int)
神经网络中的输入神经元数量与数据中的不匹配。
FANN_E_OUTPUT_NO_MATCH (int)
神经网络中的输出神经元数量与数据中的不匹配。

添加注释

用户贡献的注释 1 条注释

0
aaroncr+php at gmail dot com
2 个月前
RELU 和 L-RELU 激活函数列在 C++ 库枚举中 (fann_data.h:~214),但截至本注释,PHP 常量尚未为其分配。您可以自己添加它们。

define('FANN_LINEAR_PIECE_RECT', 18);
define('FANN_LINEAR_PIECE_RECT_LEAKY', 19);
To Top