深度学习框架mxnet安装与使用
mxnet是一个深度学习的框架,我们可以在上面运行我们所需要的神经网络及各种深度学习的东西。这里总结一下在ubuntu上安装mxnet以及怎么使用我们自己的数据让mxnet跑起来。很遗憾的是我们的电脑gpu还不能用,只能先讲用cpu的。网上有很多关于这类的东西,我也看了很多,但感觉只有总结后才是自己的东西,不然看过之后不久又忘得干干净净。 (1)基本依赖安装
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的初级运用就这样完成了。
更多推荐
所有评论(0)