普通目錄
- R-package, R語言API, 因為用的python, 所以對R暫時不感興趣
- amalgamation, 將整個mxnet庫打包成一個文件, 以方便直接在客戶端調用, 如Android, JS, IOS.
- cmake, 用於構建Makefile. 我以前搭建環境時直接修改config.mk, 沒用過cmake. 稍微查了下, 大概應該是能自動找到依賴庫的位置, 如CUDA, BLAS. 具體的還不了解.
- docker. 用於構建mxnet的docker鏡像. 目前也只知道docker是一個容器, 為容器中的運行的程序提供依賴.
- docs. 從代碼自動生成的文檔. 對這個東西有點好奇, 特別是它源碼中的文檔注釋是怎么寫的.
- example. 這個包對學習者來說肯定是最重要的, 里面包含了各種例子.
- include/mxnet. 里面包含了大量的.h文件, 目測應該是mxnet庫的C++ API的吧.
- make. 在linux環境下安裝mxnet時, 需要修改的就是這個目錄的config.mk文件.
- matlab. matlab接口層代碼
- plugin. 不知道mxnet與插件有什么關系.
- python. python接口層代碼
- scala-package. 不明白為什么R與scala要加個package, 而matlab與python卻不加.
- src. mxnet的C++源代碼
- tests. 測試代碼
- tools. 一些工具, 如將caffe model轉換成mxnet model, 將圖片轉換成IORecord.
特殊目錄
在mxnet里面包含了三個比較特殊的目錄: dmlc-core, mshadow, ps-lite. 它們都不屬於mxnet項目本身, 而是被mxnet當作庫來使用. 那么, github里怎樣實現這種引用呢? 是在clone mxnet代碼時自動也將這三個項目的代碼也clone到相應的目錄中嗎?
以前clone時會自動下載, 但這兩天clone時卻不會.
所以需要執行以下命令手動clone:
git clone https://github.com/dmlc/mxnet.git
cd mxnet
git clone https://github.com/dmlc/dmlc-core.git
git clone https://github.com/dmlc/mshadow.git
git clone https://github.com/dmlc/ps-lite.git
編譯后產生的目錄
make之后會產生新的目錄
- build, cpp文件的編譯文件
- bin, 里面有im2rec, 用於將image轉化成recordio
- lib, 里面有整個mxnet的靜態庫(libmxnet.a)與動態庫(libmxnet.so)文件.