zoukankan      html  css  js  c++  java
  • 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.0VC 最好将原来的文件备份。

    其次,安装第三方库。

    包括 OpenCVCuDNN 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 = mx.symbol.Variable('data')
    fc1  = mx.symbol.FullyConnected(data = data, num_hidden=128)
    act1 = mx.symbol.Activation(data = fc1, act_type="relu")
    fc2  = mx.symbol.FullyConnected(data = act1, num_hidden = 64)
    act2 = mx.symbol.Activation(data = fc2, act_type="relu")
    fc3  = mx.symbol.FullyConnected(data = act2, num_hidden=10)
    mlp  = mx.symbol.SoftmaxOutput(data = 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 = val)
    
    # step 6 训练完成后,利用训练好的模型进行预测
    model.predict(X = val)

     填坑~~

     

     

     

     

     

  • 相关阅读:
    编程这几天出现的很2的问题!!!
    2020 8 1 每日总结
    2020 8 6 每日总结
    2020 8 7 读后感
    2020 8 4 每日总结
    2020 7 30 每日总结
    2020 8 3 每日总结
    2020 8 8 每日总结
    2020 8 2 每周总结
    2020 8 5 每日总结
  • 原文地址:https://www.cnblogs.com/1024incn/p/5894318.html
Copyright © 2011-2022 走看看