普通目录
- 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)文件.