PHP Conference Japan 2024

預定義常數

以下常數由此擴充套件定義,並且只有在擴充套件已編譯到 PHP 中或在執行時動態載入時才會可用。

訓練演算法
FANN_TRAIN_INCREMENTAL (整數)
標準的反向傳播演算法,其中權重在每個訓練模式後更新。這表示權重在單個 Epoch 期間會更新多次。因此,某些問題使用此演算法會訓練得非常快,而其他更進階的問題則無法很好地訓練。
FANN_TRAIN_BATCH (整數)
標準的反向傳播演算法,在計算整個訓練集的均方誤差後更新權重。這表示在每個 Epoch 中,權重只更新一次。因此,某些問題使用此演算法訓練速度會較慢。但由於均方誤差的計算比增量訓練更準確,某些問題使用此演算法可以得到更好的解。
FANN_TRAIN_RPROP (整數)
一種更進階的批次訓練演算法,在許多問題上都能取得良好的結果。RPROP 訓練演算法是自適應的,因此不使用 learning_rate(學習率)。然而,可以設定其他一些參數來改變 RPROP 演算法的工作方式,但建議只有深入了解 RPROP 訓練演算法的使用者才進行調整。RPROP 訓練演算法由 [Riedmiller and Braun, 1993] 提出,但這裡實際使用的學習演算法是 iRPROP- 訓練演算法,由 [Igel and Husken, 2000] 提出,它是標準 RPROP 訓練演算法的一種變體。
FANN_TRAIN_QUICKPROP (整數)
一種更進階的批次訓練演算法,在許多問題上都能取得良好的結果。quickprop 訓練演算法使用 learning_rate(學習率)參數以及其他更進階的參數,但建議只有深入了解 quickprop 訓練演算法的使用者才更改這些進階參數。quickprop 訓練演算法由 [Fahlman, 1988] 提出。
FANN_TRAIN_SARPROP (整數)
更進階的訓練演算法。僅適用於 2.2 版。
激活函數
FANN_LINEAR (整數)
線性激活函數。
FANN_THRESHOLD (整數)
閾值激活函數。
FANN_THRESHOLD_SYMMETRIC (整數)
閾值激活函數。
FANN_SIGMOID (整數)
Sigmoid 激活函數。
FANN_SIGMOID_STEPWISE (整數)
Sigmoid 的階梯線性近似。
FANN_SIGMOID_SYMMETRIC (整數)
對稱 Sigmoid 激活函數,又稱為 tanh。
FANN_SIGMOID_SYMMETRIC_STEPWISE (整數)
對稱 Sigmoid 的階梯線性近似。
FANN_GAUSSIAN (整數)
高斯激活函數。
FANN_GAUSSIAN_SYMMETRIC (整數)
對稱高斯激活函數。
FANN_GAUSSIAN_STEPWISE (整數)
階梯高斯激活函數。
FANN_ELLIOT (整數)
由 David Elliott 定義的快速(類似 Sigmoid)激活函數。
FANN_ELLIOT_SYMMETRIC (整數)
由 David Elliott 定義的快速(類似對稱 Sigmoid)激活函數。
FANN_LINEAR_PIECE (整數)
有界線性激活函數。
FANN_LINEAR_PIECE_SYMMETRIC (整數)
有界線性激活函數。
FANN_SIN_SYMMETRIC (整數)
週期性正弦激活函數。
FANN_COS_SYMMETRIC (整數)
週期性餘弦激活函數。
FANN_SIN (整數)
週期性正弦激活函數。
FANN_COS (整數)
週期性餘弦激活函數。
訓練期間使用的錯誤函數
FANN_ERRORFUNC_LINEAR (整數)
標準線性誤差函數。
FANN_ERRORFUNC_TANH (整數)
Tanh 誤差函數;通常效果更好,但可能需要較低的學習率。此誤差函數積極鎖定與預期值差異很大的輸出,而不會鎖定差異很小的輸出。不建議用於串接或增量訓練。
訓練期間使用的停止條件
FANN_STOPFUNC_MSE (整數)
停止條件為均方誤差 (MSE) 值。
FANN_STOPFUNC_BIT (整數)
停止條件為失敗的位元數。位元數是指輸出神經元與位元失敗限制(參見 fann_get_bit_fail_limit、fann_set_bit_fail_limit)相差超過的數量。所有訓練資料中的位元都會被計入,因此此數字可能高於訓練資料的數量。
fann_get_network_type() 使用的網路類型定義
FANN_NETTYPE_LAYER (整數)
每一層都只與下一層連接。
FANN_NETTYPE_SHORTCUT (整數)
每一層都與所有後續層連接。
錯誤
FANN_E_NO_ERROR (整數)
沒有錯誤。
FANN_E_CANT_OPEN_CONFIG_R (整數)
無法開啟設定檔以進行讀取。
FANN_E_CANT_OPEN_CONFIG_W (整數)
無法開啟設定檔以進行寫入。
FANN_E_WRONG_CONFIG_VERSION (整數)
設定檔版本錯誤。
FANN_E_CANT_READ_CONFIG (整數)
從設定檔讀取資訊時發生錯誤。
FANN_E_CANT_READ_NEURON (整數)
從設定檔讀取神經元資訊時發生錯誤。
FANN_E_CANT_READ_CONNECTIONS (整數)
從設定檔讀取連線資訊時發生錯誤。
FANN_E_WRONG_NUM_CONNECTIONS (整數)
連線數量與預期數量不符。
FANN_E_CANT_OPEN_TD_W (整數)
無法開啟訓練資料檔案以進行寫入。
FANN_E_CANT_OPEN_TD_R (整數)
無法開啟訓練資料檔案以進行讀取。
FANN_E_CANT_READ_TD (整數)
從檔案讀取訓練資料時發生錯誤。
FANN_E_CANT_ALLOCATE_MEM (整數)
無法配置記憶體。
FANN_E_CANT_TRAIN_ACTIVATION (整數)
無法使用選定的激活函數進行訓練。
FANN_E_CANT_USE_ACTIVATION (整數)
無法使用選定的激活函數。
FANN_E_TRAIN_DATA_MISMATCH (整數)
兩個 fann_train_data 結構之間存在無法調和的差異。
FANN_E_CANT_USE_TRAIN_ALG (整數)
無法使用選定的訓練演算法。
FANN_E_TRAIN_DATA_SUBSET (整數)
嘗試取得訓練集範圍外的子集。
FANN_E_INDEX_OUT_OF_BOUND (整數)
索引超出範圍。
FANN_E_SCALE_NOT_PRESENT (整數)
缺少縮放參數。
FANN_E_INPUT_NO_MATCH (整數)
人工神經網路和資料的輸入神經元數量不符。
FANN_E_OUTPUT_NO_MATCH (整數)
人工神經網路和資料的輸出神經元數量不符。

新增註解

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

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