Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A lightweight and user friendly C++ library for deep and convolutional neural network with GPU acceleration
| Date | Stars |
|---|---|
| 2026-07-31 | 346 |
| 2026-08-03 | 346 |
| 2026-08-04 | 346 |
| 2026-08-06 | 346 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
libdnn 中文說明 ====== (See English version below) [libdnn](https://github.com/botonchou/libdnn) 是一個輕量、好讀、人性化的**深層學習**函式庫。由 C++ 和 CUDA 撰寫而成,目的是讓開發人員、研究人員、或任何有興趣的人都可以輕鬆體驗並駕馭深層學習所帶來的威力。 詳細的教學和使用說明,請參考[Wiki](https://github.com/botonchou/libdnn/wiki) 和[常見問題 (FAQ)](https://github.com/botonchou/libdnn/wiki/Frequently-Asked-Questions) ## 特色 - 輕量、好讀、人性化 - 支援 [LibSVM](http://www.csie.ntu.edu.tw/~cjlin/libsvm/) 的資料格式,讓你無痛上手! - 深層神經網路 (deep neural network, DNN) - 卷積神經網路 (convolutional neural network, CNN) - dropout, sigmoid, tanh, ReLU 及[其他非線性函數](https://github.com/botonchou/libdnn/wiki/XML-model#changing-activation-functions) - 以 [XML 格式](https://github.com/botonchou/libdnn/wiki/XML-model)儲存模型 - 遞迴式神經網路 (recurrent neural network, RNN 開發中 ) **深層神經網路 (deep neural network)** 和 **卷積神經網路 (convolutional neural network)** 是種非常強大的機器學習模型。近年來,由於硬體技術的逐漸成熟(主要是來自家用顯示卡的所提供的高效能運算,一般民眾或研究單位與實驗室均可用很便宜的價格輕易取得),深層神經網路在諸多領域上皆獲得前所未有的成功,包括了 - 語音辨識 - 影像辨識 - 自然語言處理 ## 系統配備需求 你需要: - **g++** (>= 4.6) - **一張NVIDIA的顯示卡** (ex: GTX-660) - **Linux/Unix 作業系統** - **安裝 [NVIDIA CUDA toolkit](https://developer.nvidia.com/cuda-toolkit)** (CUDA 5.0 以上或更新的版本) (如果你不知道怎麼安裝 CUDA toolkit,請參考[FAQ](https://github.com/botonchou/libdnn/wiki/Frequently-Asked-Questions)) 我的是 **Ubuntu 14.04** 和 **NVIDIA GTX-660**. ( Mac OS X 應該也行,但還沒空測試。) ## 快速上手 安裝前,確認一下你可以執行`g++`, `nvcc` ,並且正確地設定環境變數 `PATH`, `LD_LIBRARY_PATH`. 如果你有點不太確定我在講什麼,我建議你看過一遍 [FAQ](https://github.com/botonchou/libdnn/wiki/Frequently-Asked-Questions) 再回來。 如果上述這些都搞定了,那就可以開始安裝了!! ### 安裝 1. `git clone https://github.com/botonchou/libdnn.git` 2. `cd libdnn/` 3. `./install-sh` ### 使用範例 在`example/`下有四個使用範例: - `./example1.sh` - `./example2.sh` - `./example3.sh` - `./example4.sh` 如果想要一次執行全部的範例,你也可以執行位在`example/`下的`./go_all.sh` ### 資料準備 #### 訓練資料與測試資料 一般來說,你會需要準備兩種資料:訓練資料(有答案)和測試資料(答案可有可無)。你也可以用大約5:1的比例,將你手邊的資料切成兩份,一份當作訓練資料(5),另一份當作測試資料(1)。如果你還沒有準備好自己的資料,只是想要簡單玩玩看,你可以簡單走過一遍上面所提供的**example**,或是到[LibSVM website](http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/)下載。 #### 資料格式 資料格式有兩種,一種是稀疏矩陣的格式(像 LibSVM 那樣),另一種則是緊密排列的方式(dense)。 ##### Sparse Format (like LibSVM): ``` -1 5:1 6:1 15:1 22:1 36:1 42:1 +1 3:1 6:1 17:1 19:1 39:1 42:1 -1 5:1 7:1 14:1 22:1 36:1 40:1 -1 1:1 6:1 17:1 22:1 36:1 42:1 +1 4:1 6:1 14:1 29:1 39:1 42:1 -1 3:1 6:1 15:1 22:1 36:1 42:1 +1 5:1 6:1 15:1 22:1 36:1 40:1 ``` 每一個橫列(row)代表一筆資料(**正確答案**加上**特徵向量**)。在上面的例子中,7 列就代表有 7 筆資料 (e.g. 7 位病人)。每一橫列的第一欄是正確答案(例如:用 1 代表有癌症,用 -1 代表沒癌症),該列剩下的部份就是特徵向量,以稀疏矩陣的方式表示(例如:身高多少,體重多少等等)。以第一橫列作為例子: `-1 5:1 6:1 15:1 22:1 36:1 42:1`,其中**-1**是正確答案。剩下的部份用 **n**:**x** 的方式代表該向量的第**n**維的值為**x**。在這個例子中,這個向量大部分的值都是0,只有少數幾維的值為1(第5, 6, 15, 22, 36, 42維)。 ##### Dense Format: ``` -1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 +1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 -1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 +1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 -1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 +1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 ``` 你也可以不管資料是否為0,將其每一維的值列出來,如上所示。(同一組資料,只是換了格式。) ## 如何使用 主要有以下三個程式: 1. nn-init 2. nn-train 3. nn-predict ### nn-init ``` nn-init [options] [training_data] -o model_out ``` 透過這個程式,你可以初始化一個全新的神經網路模型(存成 XML 格式),方法有: 1. 隨機初始化 2. Bernoulli-Bernoulli RBM 3. Gaussian-Bernoulli RBM (詳細說明請參考 command line option `--type`) 。 例如: ``` nn-init --input-dim 600 --struct 1024-1024 --output-dim 12 -o train.init.xml ``` 其中`--input-dim`就是資料(或特徵向量)的維度,而`--output-dim`則是**總共要分成幾類**。在上述的例子中,`nn-init`會建立一個結構為`600-1024-1024-12`的神經網路模型,並將模型存在`train.init.xml`。 你也可以建立一個 Convolutional Neural Network ,如下所示: ``` nn-init --input-dim 32x24 --struct 20x5x5-2s-10x3x3-2s-512-512 --output-dim 10 ``` 這邊的 `32x24`(以`高x寬`的形式) 代表這一張高 32 像素
Excerpt of 11,725 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b84594a2c19b0e24, llm:description: 'A lightweight and user friendly C++ library for deep and convolutional neural network with GPU acceleration'
matched fp:b84594a2c19b0e24, llm:description: 'A lightweight and user friendly C++ library for deep and convolutional neural network with GPU acceleration'