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 最好将原来的文件备份。

其次,安装第三方库。

包括 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)

填坑~~

Mxnet Windows配置的更多相关文章

  1. windows配置nginx实现负载均衡集群

    windows配置nginx实现负载均衡集群2014-08-20 09:44:40   来源:www.abcde.cn   评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是lin ...

  2. Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行

    遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...

  3. windows安装程序无法将windows配置为在此计算机的硬件上运行

    关于装windows系统时,出现一些安装中断的处理 该方法适用于 windows安装程序无法将windows配置为在此计算机的硬件上运行 计算机意外地重新启动或遇到错误. Windows 安装无法继续 ...

  4. 【NO.3-1】Jmeter - 在Windows配置HOSTS的方法

    在Windows配置HOSTS 那么还记得Windows如何修改HOSTS文件吗? (1) 进入到C:\Windows\System32\drivers\etc (2) 通过”记事本”来打开hosts ...

  5. windows配置nginx实现负载均衡集群 -请求分流

    windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...

  6. FAT16/32不等于ESP:windows安装程序无法将windows配置为在此计算机的硬件上运行

    今天给公司电脑装系统,由于公司特殊需要,要给新电脑装win7系统.三台完全一样的华硕adol笔记本,前两台都和win10并存装成了双系统,第三台被不懂系统的人尝试装win7搞坏了,只能全盘格式化后再装 ...

  7. windows配置cider和clojure clj

    windows配置cider和clojure clj */--> pre.src {background-color: #292b2e; color: #b2b2b2;} windows配置ci ...

  8. windows配置Python多版本共存

    windows配置Python多版本共存 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近Python开发蛮火的,三年前我的一个运维朋友就告诉我说Python语言将来会很火,当时 ...

  9. PHP学习日记 Windows配置PHP+Nginx+自动化脚本

    Windows配置PHP+Nginx+自动化脚本 安装与配置 PHP 下载PHP:传送门 选择合适的版本下载 尽量选Thread Safe 配置PHP: 解压后在文件夹中找到php.ini-devel ...

随机推荐

  1. 【linux】linux常用命令汇总

    linux主要的目录树的有/. /root. /home. /usr. /bin 等目录 / 根目录 /bin 存放必要的命令 /boot 存放内核以及启动所需的文件 /dev 存放设备文件 /etc ...

  2. [VB.NET][C#]二维向量的基本运算

    前言 在数学中,几何向量指具有大小(Magnitude)和方向的几何对象,它在线性代数中经由抽象化有着更一般的概念.向量在编程中也有着及其广泛的应用,其作用在图形编程和游戏物理引擎方面尤为突出. 基于 ...

  3. 如何让mysql按照两个或多个字段排序

    我准备设计一个供求信息的表格,里边包含序号(id)(自动增量),发布日期(time),上次更新(last_time).因为考虑到避免有人不停的重复发布信息来占据前列位置所以设置了last_time这个 ...

  4. SpringMVC 完美解决PUT请求参数绑定问题(普通表单和文件表单)

    一 解决方案 修改web.xml配置文件 将下面配置拷贝进去(在原有的web-app节点里面配置 其它配置不变) <!-- 处理PUT提交参数(只对基础表单生效) --> <filt ...

  5. SQL Server Management Studio 键盘快捷键

    光标移动键盘快捷键 操作 SQL Server 2012 SQL Server 2008 R2 左移光标 向左键 向左键 右移光标 向右键 向右键 上移光标 向上键 向上键 下移光标 向下键 向下键 ...

  6. 【坚持】Selenium+Python学习记录 DAY8

    2018/05/ 28 [来源:菜鸟教程](http://www.runoob.com/python3/python3-examples.html) 继续敲类相关的代码 #No.1 class peo ...

  7. vue 组件-组件定义的4种方式

    一.组件命名的方式 ①kebab-case,单词之间采用  - (短横线)连接,例如:my-component ,在DOM中使用时,<my-component ></my-compo ...

  8. Hyperledger Fabric Capabilities——超级账本功能汇总

    Hyperledger Fabric是一种模块化的区块链架构,是分布式记账技术(DLT)的一种独特的实现,它提供了可供企业运用的网络,具备安全.可伸缩.加密和可执行等特性.Hyperledger Fa ...

  9. Java 快排 排序

    一.快排的一种 ==================== public class myMain { public static void main(String[] args) { int t[] ...

  10. openstack系列文章(四)

    学习 openstack 的系列文章 - Nova Nova 基本概念 Nova 架构 openstack Log Nova 组件介绍 Nova 操作介绍 1. Nova 基本概念 Nova 是 op ...