codeplea/genann
simple neural network library in C99
解決的問題
Genann 提供了一種在 C 語言中實作前饋人工神經網路(ANN)的最小且輕量級方法。它移除了重型機器學習框架的複雜性,為需要基本神經網路功能但無外部相依性的開發者,提供一個簡單、快速且可靠的函式庫。
工作原理
此函式庫僅包含一個來源檔案與一個標頭檔案。使用者可初始化具有特定輸入數、隱藏層與輸出數的網路。支援透過標準反向傳播或遺傳演算法、爬山法等替代方法進行訓練,因其將所有網路權重儲存在單一連續記憶體區塊中,便於最佳化。同時也內建多種激活函數,例如 sigmoid、ReLU 與 tanh。
適用對象
希望使用可修改、無相依性的神經網路函式庫來執行簡單任務(例如 XOR 函數或基本資料集分類,如 IRIS 資料集)的 C 開發者。
主要特色
- 零相依:以 C99 寫成,不需任何外部函式庫。
- 高度集中:整個專案僅由兩個檔案組成(
genann.c與genann.h)。 - 彈性訓練:支援反向傳播以及直接搜尋型數值最佳化。
- 執行緒安全:專為多執行緒環境中的快速與安全使用而設計。
- 持久化支援:內建函式可將訓練完成的網路儲存至檔案並從檔案載入。
相關
- 專案
- 專案
- 專案
- 專案
- 專案