MxNet系列——get_started——windows_setup

2023-05-16

博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com


Windows上安装 MXNet

在Windows上,你可以直接下载和安装已经编译过的MXNet工具包,或者自行下载,构建,安装MXNet。

构建MXNet共享库(动态链接库)

两种方法:既可以直接下载并使用已预编译过的二进制包,也可以从源代码自行构建MXNet共享库 - libmxnet.dll

Windows上安装已编译的MXNet工具包。

MXNet 为Windows用户提供了已编译的MXNet工具包。已编译过的工具包包含了MXNet库,所有的第三方依赖库,一个Visual Studio的例程项目,和Python安装脚本。安装步骤如下所示:

  1. 从 MXNet Releases 列表中下载最新的预编译的工具包。有2个版本,一个支持GPU(使用CUDA和CUDNN v3),另一个不支持GPU。请选择并下载适合你的硬件配置(关键在于,有无NVIDIA显卡)的版本。关于哪个版本在哪种硬件上工作,请查看 Requirements for GPU。
  2. 解压下载的压缩包,并重命名,比如 D:\MXNet
  3. 打开文件夹,双击 setupenv.cmd进行安装。它将会设置MXNet需要的所有环境变量
  4. 测试安装是否成功。通过构建文件夹中的 Visual Studio 的例程项目,来测试是否安装成功。

这将会生成一个动态链接库 libmxnet.dll

Windows上构建和安装MXNet

如果你要在Windows上自行构建和安装MXNet,你需要安装下面的依赖库:

  1. 如果还没有安装 Microsoft Visual Studio 2013,请下载并安装它。你可以下载和安装免费的社区版。
  2. 安装 Visual C++ Compiler Nov 2013 CTP.
  3. C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC文件夹中的所有文件备份到其它地方去。
  4. C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP文件夹(注意:解压目录)中的所有文件复制到 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC目录下,并覆盖所有已存的文件。
  5. 下载并安装 OpenCV。
  6. 解压OpenCV压缩包。
  7. 设置环境变量 OpenCV_DIR指向OpenCV构建目录 OpenCV build directory
  8. 如果你没有安装 Intel Math Kernel Library (MKL),下载并安装 OpenBlas。
  9. 设置环境变量 OpenBLAS_HOME指向 OpenBLAS目录,该目录下有 includelib文件夹。默认安装位置为:C:\Program files (x86)\OpenBLAS\
  10. 下载并安装 CuDNN。访问下载链接,需要注册成为NVIDIA社区用户。

安装完所有的依赖库之后,按照下面的步骤构建MXNet源码:

  1. 从 GitHub 下载 MXNet 源代码。
  2. 使用 CMake ,在 ./build目录下,创建一个 Visual Studio 解决方案。
  3. 使用 Visual Studio,打开解决方案文件 .sln,并编译它。这些操作之后,会 生成一个叫做 mxnet.dll 动态链接库,它位于 ./build/Release/./build/Debug 目录。

下面安装 graphviz库,它用于可视化神经网络。我们也将安装 Jupyter Notebook,它用于运行MXNet教程和例程。

  • 下载 Graphviz。双击安装即可。
    注意: 务必将 graphviz 可执行文件所在的目录添加到环境变量 PATH中。参考 here for more details。
  • 通过安装 Anaconda for Python 2.7来安装 Jupyter
    注意: 不要安装 Anaconda for Python 3.5。MXNet 和 Python 3.5 有些兼容问题。

我们已经安装了MXNet的核心库。接下来,我们将会为你选择的编程语言安装MXNet接口包:

  • Python
  • R
  • Julia
  • Scala

安装MXNet的Python接口

  1. 安装 Python。 点此下载。
  2. 安装 Numpy。点此下载。
  3. 接下来,安装MXNet的Python接口。 MXNet的Python接口的位置 MXNet on GitHub。
# 假定当前工作目录是MXNet源代码的根目录
cd python
sudo python setup.py install

至此,MXNet的Python接口已经安装完了。执行下面的命令,验证是否安装成功。

# 打开 Python 终端
python

# 如果安装成功,导入mxnet时,不会有任何问题
>>> import mxnet as mx;
>>> a = mx.nd.ones((2, 3));
>>> print ((a*2).asnumpy());
    [[ 2.  2.  2.]
    [ 2.  2.  2.]]

上面的代码使用MXNet完成了一个简单的张量计算。至此,你已经在Windows中将MXNet完整配置完了。

安装MXNet的R语言接口

MXNet的R语言接口支持CPUs/GPUs。

在带CPU的计算机上安装MXNet

在带CPU的计算机上安装MXNet,有两个选择:

  • 使用预编译的二进制包
  • 从源代码自己构建MXNet库

使用预编译的二进制包安装MXNet的R语言接口

对于Windows用户,MXNet提供了CPU版本的预编译的二进制包,每周都会更新。你可以在R控制台中使用下面的命令直接安装:

install.packages("drat", repos="https://cran.rstudio.com")
drat:::addRepo("dmlc")
install.packages("mxnet")

从源代码自己构建MXNet库

执行下面的命令,安装MXNet依赖,并构建MXNet的R包:

Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')"
cd R-package
Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cran.rstudio.com')); install_deps(dependencies = TRUE)"
cd ..
make rpkg

注意: R-package 是MXNet根目录中的一个文件夹。

这些命令将创建一个MXNet的R包,它是一个 tar.gz 文件。你可以将其作为一个R包进行安装。执行下面的命令(注意 MXNet 的版本号),安装R包:

R CMD INSTALL mxnet_0.7.tar.gz

在带GPU的计算机上安装 MXNet

在带GPU的计算机上安装 MXNet,你需要一下工具:

  • Visual Studio 2013

  • CUDA 工具包

  • MXNet 工具包

  • CuDNN (提供深度神经网络库)

下面安装依赖环境和安装MXNet的R语言接口:

  1. 如果还没有安装 Microsoft Visual Studio 2013,下载并安装它。你可以下载和安装免费的社区版。
  2. 安装 CUDA 工具包。CUDA 工具包依赖于 Visual Studio。了解你的GPU和CUDA是否兼容和更多信息,请查看 CUDA Installation Guide。
  3. 从 MXNet Github repository 下载MXNet包,并解压。下面,你会编辑 "/mxnet/R-package"文件夹。
  4. 从 Releases 列表中,下载最新的支持GPU的MXNet包。解压文件,并切换到 /nocudnn目录。
    注意: 你将会将一些文件复制到 MXNet 的 R-package 文件夹。当前的两个工作目录是:R-package/nocudnn/
  5. 下载和安装 CuDNN V3。访问下载链接时,需要注册为NVIDIA社区会员。解压 .zip 文件,可以看见3个文件夹: /bin, /include, 和 /lib。将这些文件夹复制到 nocudnn/3rdparty/cudnn/目录下,替换原来的文件夹。你也可以直接将 .zip 文件解压到 nocudnn/ 文件夹。
  6. 创建 R-package/inst/libs/x64文件夹。MXNet 只支持 64-bit 操作系统,所以你需要 x64 文件夹。
  7. 将下面的动态链接库 (.dll 文件) 复制到 R-package/inst/libs/x64目录:
    • nocudnn/lib/libmxnet.dll。
    • nocudnn/3rdparty/的4个子目录下的所有 *.dll 文件。cudnn 和 openblas .dll 文件位于 /bin 目录。
      现在,R-package/inst/libs/x64 文件夹中应该有 11 个 .dll 文件。
  8. nocudnn/include/文件夹复制到 R-package/inst/中。现在,你应该有一个名字为 R-package/inst/include/文件夹,它有3个子文件夹。
  9. 确认 R 已经添加到环境变量 PATH中。在终端中输入命令 where R,将会返回它的位置。
  10. 执行命令 R CMD INSTALL --no-multiarch R-package,进行安装。

注意: 为了最大化它的可移植性,MXNet库 is built with the Rcpp end。Windows操作系统需要 MSVC (Microsoft Visual C++) 来处理 CUDA 工具链的兼容性。

安装MXNet的Julia接口

MXNet的Julia接口存放在一个独立的仓库 MXNet.jl 中。为了使用 Julia,将其绑定到已经安装的 libmxnet。 通过执行下面的命令,来设置环境变量 MXNET_HOME

export MXNET_HOME=/<path to>/libmxnet

上面命令中的 libmxnet 的安装路径,是指 libmxnet 的根目录。换句话说,你可以在 $MXNET_HOME/lib目录下找到 libmxnet.so。比如,如果 libmxnet 的所在的目录是 ~,你应该执行下面的命令:

export MXNET_HOME=/~/libmxnet

你可能希望将这个命令添加到 ~/.bashrc文件中。如果已经添加,你可以使用下面的命令,在Julia控制台中安装Julia包:

Pkg.add("MXNet")

更多关于安装和使用MXNet的Julia接口的细节,请查看 MXNet Julia documentation。

安装MXNet的Scala接口

安装MXNet的Scala接口的方法有有2种:

  • 使用预编译的二进制包

  • 从源代码构建MXNet的Scala库

使用预编译的二进制包

对于 Linux 和 OS X (Mac) 用户,MXNet提供了预编译的二进制包,既支持支持CPU,也支持GPU。使用 Maven下载和构建这个包,在下面的Maven依赖中, 根据你的硬件架构改变 artifactId

<dependency>
  <groupId>ml.dmlc.mxnet</groupId>
  <artifactId>mxnet-full_<system architecture></artifactId>
  <version>0.1.1</version>
</dependency>

例如,下载和构建 64-bit OS X 只支持CPU的版本,使用下面的命令:

<dependency>
  <groupId>ml.dmlc.mxnet</groupId>
  <artifactId>mxnet-full_2.10-linux-x86_64-gpu</artifactId>
  <version>0.1.1</version>
</dependency>

如果你的本地环境与集成包稍微不同,例如,如果你使用的不是atlas而是openblas,最好使用mxnet-core包,并使用编译后的Java本地包的路径 mxnet-core_2.10

<dependency>
  <groupId>ml.dmlc.mxnet</groupId>
  <artifactId>mxnet-core_2.10</artifactId>
  <version>0.1.1</version>
</dependency>

从源代码构建MXNet的Scala库

在从源代码构建MXNet的Scala库之前,你必须完成 第一步,构建共享库。之后,在MXNet根目录中,运行下面的命令来构建MXNet的Scala库:

make scalapkg

这个命令将会为assembly, core, 和 example创建JAR文件。它也会在 native/{your-architecture}/target directory目录下创建本地库,它可以和其它核心模块协同工作。

在MXNet根目录下,执行下面的命令,将MXNet的Scala包安装到本地Maven仓库:

make scalainstall

下一步

  • 教程
  • 如何办系列
  • 架构
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MxNet系列——get_started——windows_setup 的相关文章

  • 自动安排并执行 PHP 脚本

    我编写了一个 PHP 脚本 它生成一个包含数据库中所有表的 SQL 文件 我想要做的是每天或每 n 天执行这个脚本 我读过有关 cron 作业的内容 但我使用的是 Windows 如何在服务器上自动执行脚本 您需要添加计划任务来调用 URL
  • 在 Windows 上将 Word2vec 与 Tensorflow 结合使用

    In 本教程文件 https github com tensorflow models blob master tutorials embedding word2vec py L45通过 Tensorflow 找到以下行 第 45 行 来加
  • “npm”不被识别为内部或外部命令、可操作程序或批处理文件

    我对 Nodejs 完全陌生 我正在尝试让 nodejs 在我的 Windows 2008 机器上工作 以便安装 Karma 我将使用它来 TDDing 我的 AngularJs 代码 到目前为止我已经完成了以下步骤 使用 Chocolat
  • Sigar API for JAVA(需要指南)

    我已经下载了 Sigar API http support hyperic com display SIGAR Home http support hyperic com display SIGAR Home 并希望在项目中使用它来获取有关
  • c 编程检查是否按下按键而不停止程序

    如您所知 在 Windows 中使用 getch 时 应用程序会等待您按下某个键 我如何在不冻结程序的情况下读取密钥 例如 void main char c while 1 printf hello n if c getch 谢谢 您可以使
  • 内核与系统中的 Windows 进程

    我有一些与内核和用户模式下的 Windows 进程相关的问题 如果我有一个 hello world 应用程序和一个公开新系统调用 foo 的 hello world 驱动程序 我很好奇一旦处于内核模式 我能做什么和不能做什么 对于初学者来说
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 如何用if条件编写ini文件

    我想编写一个带有 if else 条件的 ini 文件 我用 python 中的 ConfigParser 解析它 如何在ini文件中使用if和else语句 如果我明白你在问什么 您可能想要做的是这样的 在 INI 文件中设置条件值 sec
  • 我需要避免尝试更新连接到 TSQLQuery 的 Delphi TClientDataset 中的非物理字段

    概要 我的代码正在尝试更新 Delphi XE 中的非物理字段TClientDataset 连接到TSQLQuery以其SQL属性集 作为运行时的结果创建Open命令 我有一个TClientDataset连接到一个TDatasetProvi
  • 如何在 Windows 上查找当前系统缓存大小?

    到处搜索 但未能找到 API 调用来检索 Windows 上 文件 系统缓存的当前大小 全局内存状态Ex https stackoverflow com a 2017659 450917 检索总计 免费 已用和交换统计数据 获取系统文件缓存
  • 正确配置JDK环境变量后仍然找不到java命令

    我在 Windows 虚拟机启动时安装 JDK 使用 cloudinit 用户数据将 PowerShell 脚本传输到 Windows 计算机 然后运行该脚本来安装 JDK softwares Get ItemProperty HKLM S
  • 如何以编程方式找出哪台计算机是 Windows 中的域控制器?

    我正在寻找一种方法来确定客户端计算机连接到的给定域的域控制器的名称 IP 地址 在我们公司 我们有很多用于测试的小型网络 其中大多数都有自己的小域 作为示例 其中一个域被命名为 TESTLAB 我有一个 Windows XP 工作站 它是
  • 我应该使用多个 HttpClient 来进行批量异步 GET 请求吗?

    我有一个场景 我需要在尽可能短的时间内发出大量 GET 请求 想想大约 1000 个 我知道通常最好保留一个客户端并尽可能重用它 Create Single HTTP Client HttpClient client new HttpCli
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • 如何正确使用和实例化现有预览处理程序

    我正在尝试使用现有的预览处理程序来显示文件的预览 我编写了一个简单的测试程序 以 1 查找给定文件的预览处理程序的 CLSID 2 实例化预览处理程序 3 通过流或文件初始化它 4 在基本窗口上渲染预览 这有效 或多或少 It works
  • 如何通过批处理文件检查服务是否正在运行并启动它,如果它没有运行?

    我想编写一个执行以下操作的批处理文件 Check if a service is running 如果正在运行 请退出批处理 如果没有运行 启动该服务 到目前为止 我在谷歌上搜索的代码示例被证明不起作用 所以我决定不发布它们 启动服务是通过
  • 在远程桌面上使用 Powershell 获取 Windows DisplayLanguage

    我正在尝试通过 powershell 获取 Windows 显示语言设置远程计算机 我尝试了 Get WinUserLanguageList 但这会返回所有语言的列表 Get WinSystemLocale 和 Get Culture 也不
  • 通过注册表将上下文菜单项添加到特定扩展

    首先我们要说的是 我使用的是 Windows 10 并且我看过很多有关此主题的帖子 但似乎没有一个适合我 查看这篇文章已经解决了一些问题 但我仍然需要一些帮助 仅针对特定文件类型将菜单项添加到 Windows 上下文菜单 https sta
  • 已安装全局 NPM 包但未找到命令

    我已经全局安装了两个 npm 包 下载 https www npmjs com package download and 谜虚拟盒 https www npmjs com package enigmavirtualbox通过命令行 npm
  • 在 powershell 脚本中以不同用户身份本地运行代码块

    这是非常简单的事情 但我就是无法让任何东西发挥作用 我想在特定用户下的 powershell 脚本中运行块代码 关键字是locally我正在使用 powershell 2 0 Invoke Command 似乎需要远程主机 我运行以下命令

随机推荐

  • MxNet系列——how_to——visualize_graph

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将神经网络可视化为计算图 该章节描述了如何在MXNet中使用在mx viz plot network来可视化 xff08
  • 修改antlr错误信息输出格式的方法

    找到 antlr DefaultFileLineFormatter java 修改类DefaultFileLineFormatter的函数getFormatString 我将其修改如下 以适应vc的错误信息输出格式 package antl
  • MxNet系列——how_to——torch

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何将MXNet用作Torch的前后端 本章节描述了如何将MXNet用作Torch的两个主要功能 xff08 前端和后端 xf
  • MxNet系列——how_to——smart_device

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 将深度学习库压缩成一个文件 xff0c 以便移植到智能设备中 深度学习系统是复杂的 xff0c 并且常常有些依赖环境 将深度学
  • MxNet系列——how_to——new_op

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何创建新的操作符 网络层 本节内容描述了创建新的MXNet操作符 xff08 或网络 xff09 的过程 我们已经尽了最大努
  • MxNet系列——how_to——multi_devices

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在多个CPU GPUs上以数据并行方式运行MXNet MXNet 支持在多个CPUs和GPUs上进行训练 其中 xff0c 这
  • MxNet系列——how_to——model_parallel_lstm

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 使用模型并行的方式在多个GPUs上训练LSTM 由于复杂的数据依赖 xff0c LSTM评价很困难 LSTM的训练过程 xff
  • MxNet系列——how_to——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 怎么办系列 How tos 提供了一系列的有关安装 xff0c 基本概念 xff0c 说明 xff0c 命令和使用
  • MxNet系列——how_to——faq

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 常见问题 本节回答了 mxnet issues上的常见问题 在提问前 xff0c 请先检查该页面 如果你想要贡献本页面 xff
  • MxNet系列——how_to——env_var

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 环境变量 环境可以修改MXNet的一些设置 一般情况下 xff0c 你不需要修改这些设置 本节将它们罗列出来 xff0c 用于
  • MxNet系列——how_to——develop_and_hack

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 开发和 Hack MXNet 创建新的操作符在MXNet中使用Torch设置MXNet的环境变量 其它资源 概述 MXNet的
  • MxNet系列——how_to——cloud

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在云上配置MXNet 从头开始设置一个AWS的GPU集群 本节提供了如何设置AWS集群以使用MXNet的详细教程 描述了如何
  • windows下使用qt编程的一些问题

    我下载了windows下qt的几个版本 qt win free 3 3 1 qt win free msvc 3 3 1还有一个qt3 0 5msvc的eval版 那个eval的版本expired了 但是只有这个版本向vc的addin目录中
  • linux创建ftp用户且限制访问目录

    1 使用root用户登录服务器 2 添加用户test xff0c 并设置路径 useradd d data sftp test test 3 为test用户设置密码 passwd test 4 查看passwd文件中是否存在test x 1
  • MxNet系列——how_to——caffe

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 如何在MXNet中使用Caffe操作符 Caffe 是一个有名的 xff0c 广泛使用的深度学习框架 MXNet 支持在它的符
  • MxNet系列——how_to——bucketing

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 在MXNet中使用Bucketing Bucketing是一种训练多个不同但又相似的结构的网络 xff0c 这些网络共享相同的
  • MxNet系列——model_zoo——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet的模型园地 MXNet 突出了学术论文中报告的最先进模型的快速实现 我们的模型园地 xff08 Modle Zoo
  • MxNet系列——get_started——index

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com MXNet 一个大规模的深度学习框架 MXNet 是一个开源框架 xff0c 它允许你在多种设备 xff08 从云架构到移动设
  • MxNet系列——get_started——overview_zh

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 下面是MXNet的综述 xff08 中文版 xff09 xff0c 英文读者请阅读 NIPS LearningSys pape
  • MxNet系列——get_started——windows_setup

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com Windows上安装 MXNet 在Windows上 xff0c 你可以直接下载和安装已经编译过的MXNet工具包 xff0c