mxnet是一个深度学习的框架,我们可以在上面运行我们所需要的神经网络及各种深度学习的东西。这里总结一下在ubuntu上安装mxnet以及怎么使用我们自己的数据让mxnet跑起来。很遗憾的是我们的电脑gpu还不能用,只能先讲用cpu的。网上有很多关于这类的东西,我也看了很多,但感觉只有总结后才是自己的东西,不然看过之后不久又忘得干干净净。

    (1)基本依赖安装

           sudo apt-get update

           sudo apt-get install -y build-essential git libblas-dev libopencv-dev

    (2)从github下载mxnet

           git clone --recursive https://github.com/dmlc/mxnet

    (3)用python编译(用于在python上开发,import mxnet as mx)

         cd python  (切换到mxnet里的python文件夹)

         python setup.py install

     (4)上面是基本步骤,如果有需要,还要安装numpy,scipy,sklean,matplotlib,opencv,setuptools,用gpu的话,要安装cuda,然后make -j4(4核是-j4,8核是-j8)


       安装好后,mxnet/examples里有很多可以测试的例子,比如运行python train_minst.py.接下来最重要的是用我们自己的数据进行神经网络的训练。有几个步骤,

        (1)先将我们要训练的数据放在不同的文件夹里,每个文件夹代表不同的分类,就是labels

          (2) 生成.lst文本,用于数据的索引

                            python im2rec.py --list  ../histcut6/cut6  ../histcut6  --recursive=true         #--list指生成.lst文件,../histcut6/cut6指生成.lst的位置和前缀名,../histcut6指原始数据的位置。

           (3)生成.rec二进制文件

                            python im2rec.py   ../histcut6/cut6_train ../histcut6

                             (python im2rec.py -h   查看帮助)

           (4)将生成好的文件送入网络进行训练。在mxnet/example/image-classification里,有多个网络模型,inception-bn,alexnet,googlenet,vggnet.跑一个网络,我们需要用到find_mxnet.py   train_model.py    train_imagenet.py     symbol_alexnet.py

              之后,运行train_imagenet.py,并设置命令行参数。

                                  python train_imagenet.py  --network=alexnet   --data-dir=../histcut6  --num-epochs=20 ........

                                  (python train_imagenet.py  -h  查看帮助)

           (5)训练完成后就可以用训练好的模型进行predict,需要用到.params和.json文件,在mxnet/example/cpp/image-classification里有用于分类预测的image-classification-predict.cc,我们需要修改一下里面的.params和.json文件路径,以及图片大小等,然后编译,之后就可以用编译好的文件进行predict



mxnet的初级运用就这样完成了。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐