MxNet使用总览

本文详细介绍了MxNet的安装过程,包括必要的依赖库安装,并解释了如何通过fine-tune.py脚本来训练模型。此外,还探讨了数据读取及预处理的方法。
 写这篇博文的初衷是希望能整理下自己在使用MxNet过程中对这个框架的理解。详细的介绍都给出了链接,这篇相当于一个概括,希望能对这个框架有一个总的认识,内容会不断补充,有疑问的欢迎交流,谢谢。
    1、下载MxNet并编译
    MxNet的官方网址:http://mxnet.io/get_started/install.html
    我这里选择如下安装方式:
    这里写图片描述
    然后按照 Build the MXNet core shared library 介绍的4个步骤进行安装即可:
    step1主要是更新一些工具和Git,apt-get就是从网上获取并安装的意思。
    Step 1 Install build tools and git.
    $ sudo apt-get update
    $ sudo apt-get install -y build-essential git
    1
    2
    1
    2
    step2是安装OpenBLAS,这是一个计算加速库,当你step4要编译openlab的时候如果这个地方没有安装好openlab就会报错。
    Step 2 Install OpenBLAS.
    $ sudo apt-get install -y libopenblas-dev liblapack-dev
    1
    1
    安装OpenCV,opencv主要用在图像数据导入和预处理。
    Step 3 Install OpenCV.
    $ sudo apt-get install -y libopencv-dev
    1
    1
    前面3个step可以看成是准确工作,step4是拉取mxnet项目,然后编译,注意编译的时候有几个参数,如果要用GPU的话,USE_CUDA是必须要有的,另外USE_CUDNN是NVIDIA的一个深度神经网络加速库,一般也是需要的,如果没有的话最多速度慢一些,但是可以跑,建议用。
    Step 4 Download MXNet sources and build MXNet core shared library.
    $ git clone --recursive https://github.com/dmlc/mxnet
    $ cd mxnet
    $ make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1
    1
    2
    3
    1
    2
    3
    2、训练模型的入口
    我们知道训练一个模型需要定义一个网络结构,然后喂给这个网络数据,最后训练得到合适的模型。又因为现在基本上都是在预训练模型上做fine-tune,所以这里直接介绍MxNet里面fine-tune的快速操作。可以参看博文:MXNet的预训练:fine-tune.py源码详解。
    在fine-tune.py这个脚本中,最重要的是调用了fit.fit()函数训练,这个fit.py脚本的介绍可以看博客:MXNet的训练入口:fit.py源码详解。这个脚本也是在最终训练之前封装好的一个脚本。那么具体训练的细节在哪呢?答案是base_module.py和module.py.base_module.py是MxNet训练模型的基类的脚本,而module.py则是继承base_module里面的基类的具体实现,包括前向和后向传递等等,相关的博文介绍可以参看:MXNet的训练基础脚本:base_module.py和MXNet的训练实现脚本:module.py.
    3、关于数据读取和预处理
    fine-tune.py这个脚本是MxNet官方写好的,默认的数据读入方式是。rec,类似Caffe里面的LMDB,关于数据读取,可以参看博文:MXNet的数据读取:data.py源码详解。这种。rec格式的数据一般需要较多的存储空间,当你需要灵活增减数据时候需要重新生成新的。rec文件,不是很灵活,因此推荐使用lst列表和原始图像结合的数据读取方式,可以参看博文:MXNet如何用mxnet.image.ImageIter直接导入图像。这种数据读取的方式还涉及图像预处理的部分,原来的MxNet项目中没有相应的例子,可以参看博文:MXNet的数据预处理:mxnet.image.CreateAugmenter源码详解。了解在mxnet.image.ImageIter中是怎么做图像预处理的。
    北京打瘦脸针哪家医院好http://www.hazxxx.cn/BJYestar/list-31-3.shtml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值