1. 程式人生 > >一張圖看caffe目錄結構

一張圖看caffe目錄結構

Caffe是用C++編寫的深度學習框架,大量使用類的封裝,繼承,多型

Caffe根目錄下執行tree命令檢視caffe目錄結構

$ cd /home/name/Documents/caffe-master

$ tree -d

.
├── build -> .build_release  //編譯結果存放處,.build_release不是一個目錄找不到
├── cmake             //cmake編譯用
│   ├── External
│   ├── Modules
│   └── Templates
├── data               //存放原始資料以及資料獲取指令碼
│   ├── cifar10      //存放cifar10小圖片原始資料
│   ├── ilsvrc12    //存放ImageNet Meta資料,原始資料要另外下載
│   ├── mnist      //存放MNIST手寫數字影象資料
│   └── myself    //存放我的資料,自己建立的
├── distribute     //編譯後生成釋出包的位置,用於遷移
│   ├── bin
│   └── lib
├── docker        //用於遷移的工具
│   ├── standalone
│   │   ├── cpu
│   │   └── gpu
│   └── templates
├── docs        //doxygen工程檔案放這裡,可生成Caffe ref_man.pdf
│   ├── images
│   ├── _layouts
│   ├── stylesheets
│   └── tutorial
│       └── fig
├── examples     //存放Caffe簡單例程
│   ├── cifar10   //存放cifar10例程 
│   ├── cpp_classification   //影象分類例程
│   ├── feature_extraction  //特徵提取例程
│   ├── finetune_flickr_style   //finetune例程
│   ├── finetune_pascal_detection  //finetune例程
│   ├── hdf5_classification     //使用HDF5的分類例程
│   ├── imagenet           //Imagenet例程,使用bvlc_reference_caffenet
│   ├── images      
│   ├── mnist     //mnist手寫字元識別例程
│   │   ├── mnist_test_lmdb
│   │   └── mnist_train_lmdb
│   ├── myself
│   │   ├── ilsvrc12_train_lmdb
│   │   └── ilsvrc12_val_lmdb
│   ├── net_surgery
│   ├── pycaffe
│   │   └── layers
│   ├── siamese
│   ├── _temp
│   │   └── features
│   └── web_demo   //一個Web Server +分類例程
│       └── templates
├── include            //Caffe標頭檔案集中存放目錄
│   └── caffe
│       ├── layers
│       ├── test
│       └── util
├── matlab      //Matlab做Wrapper,具體參考RCNN原始碼
│   ├── +caffe
│   │   ├── imagenet
│   │   ├── private
│   │   └── +test
│   ├── demo
│   └── hdf5creation
├── models   //存放示例模型
│   ├── bvlc_alexnet   //Alexnet模型
│   ├── bvlc_googlenet  //GoogleNet
│   ├── bvlc_reference_caffenet  //caffe模擬的Alexnet模型
│   ├── bvlc_reference_rcnn_ilsvrc13 //Rcnn模型
│   └── finetune_flickr_style
├── python               //用於Python wrapper
│   └── caffe
│       ├── imagenet
│       ├── proto
│       └── test
├── scripts     //一些文件和資料用到的指令碼
│   └── travis
├── src          //caffe原始碼
│   ├── caffe   
│   │   ├── layers  //各個層具體實現
│   │   ├── proto   //即所謂的“Protobuf”,幫助caffe提速描述文集,學習資料結果先從這裡開始
│   │   ├── solvers //優化方法類Solver
│   │   ├── test
│   │   │   └── test_data

│   │   └── util  //資料轉換時用的一些程式碼。caffe速度快,很大程度得益於記憶體設計上的優化(blob資料結構採用proto)

                          //  和對卷積的優化(部分與im2col相關)及cudnn加速
│   └── gtest
└── tools       //常用學習原始碼
    └── extra