首页 > 代码库 > Mxnet Windows配置

Mxnet Windows配置

MXNET Windows 编译安装(Python)

本文只记录Mxnet在windows下的编译安装,更多环境配置请移步官方文档:http://mxnet.readthedocs.io/en/latest/how_to/build.html

编译目标:

  • libmxnet.dll

必要条件:

  • 支持C++11,g++>=4.8
  • BLAS库, 比如 libblas, libblas, openblas intel mkl

可选条件:

  • CUDA Toolkit >= v7.0 to run on nvidia GPUs
    • Requires GPU with support for Compute Capability >= 2.0
  • CUDNN to accelerate the GPU computation (only CUDNN 3 is supported)
  • opencv for image augmentation

Steps

首先,强化VS2013,使之能支持C++11特性。

  • 下载安装: Visual C++ Compiler Nov 2013 CTP.
  • 将安装目录下的文件拷贝至VS2013相应安装目录下,例如:  将C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP下所有文件拷贝到  C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC 最好将原来的文件备份。

其次,安装第三方库。

包括 OpenCV, CuDNN and OpenBlas(如果已经安装 MKL,则忽略此项).

最后,使用CMake来创建VS工程,CMake需要预先安装。

 技术分享

注意,应该根据自己机器选择是否为Win64,否则配置openCV时,会找不到cuBLAS.

点击configure之后,需要配置openCV、openBLAS和cuDNN路径,按提示next即可。

提示Configure done后,点击Generate生成解决方案。

提示Generate done后,在VS里打开解决方案进行编译。

如果提示opencv2/opencv.hpp找不到,则在项目属性的VC++中,在包含目录添加该文件目录(在opencv安装目录中可找到)即可,类似问题都如此解决。

Python Package Installation

需要 python>=2.7 和 numpy. 在windows命令行中使用pip命令安装numpy即可:

pip install numpy

检验是否安装成功:

python example/image-classification/train_mnist.py

安装(即将所需库文件放到指定位置):

cd python; 
python setup.py install

或者设置环境变量 PYTHONPATH 为/<RootPathToProject>/mxnet/python

Train MLP on MNIST

现在训练一个MLP来简单了解下训练一个网络的过程以及相关Python接口。

import mxnet as mx# step 1 配置训练集train = mx.io.MNISTIter(    image      = "mnist/train-images-idx3-ubyte",    label      = "mnist/train-labels-idx1-ubyte",    batch_size = 128,    data_shape = (784, ))# step 2 配置验证集val =    mx.io.MNISTIter(    image      = "mnist/t10k-images-idx3-ubyte",    label      = "mnist/t10k-labels-idx1-ubyte",    batch_size = 128,    data_shape = (784, ))# step 3 配置网络,此处简单的三层data = http://www.mamicode.com/mx.symbol.Variable(data)fc1  = mx.symbol.FullyConnected(data = http://www.mamicode.com/data, num_hidden=128)act1 = mx.symbol.Activation(data = http://www.mamicode.com/fc1, act_type="relu")fc2  = mx.symbol.FullyConnected(data = http://www.mamicode.com/act1, num_hidden = 64)act2 = mx.symbol.Activation(data = http://www.mamicode.com/fc2, act_type="relu")fc3  = mx.symbol.FullyConnected(data = http://www.mamicode.com/act2, num_hidden=10)mlp  = mx.symbol.SoftmaxOutput(data = http://www.mamicode.com/fc3, name = softmax)# step 4 前馈网络配置model = mx.model.FeedForward(    symbol = mlp,    num_epoch = 20,    learning_rate = .1)# step 5 拟合model.fit(X = train, eval_data =http://www.mamicode.com/ val)# step 6 训练完成后,利用训练好的模型进行预测model.predict(X = val)

 

 填坑~~

 

 

 

 

 

Mxnet Windows配置