日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


1.《动手学 深度学习》电子书:https://zh.d2l.ai/d2l-zh.pdf
2.《动手学 深度学习》官网:https://zh.d2l.ai/
3.《动手学 深度学习》github:https://github.com/d2l-ai/d2l-zh
4.《动手学 深度学习》代码:https://zh.d2l.ai/d2l-zh-1.0.zip 创建文件夹“d2l-zh”并将d2l-zh-1.0.zip压缩包解压到这个文件夹5.conda和pip默认使用国外站点来下载MXNet和相关软件,我们可以配置国内镜像来加速下载。配置清华PyPI镜像(如无法运行,将pip版本升级到>=10.0.0)pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple6.安装 GPU版的 MXNet1.d2l-zh-1.0.zip压缩包解压出来的文件有一个叫做environment.yml,文件信息包含要安装的软件和版本如下MXNet和d2lzh包及版本号:name: gluondependencies:- python=3.6- pip:- mxnet==1.4.0- d2lzh==0.8.11- jupyter==1.0.0- matplotlib==2.2.2- pandas==0.23.42.参数解析:1.上述environment.yml文件中的“mxnet==1.4.0”代表的是 CPU版本的MXNet,安装 GPU版的 MXNet之前 需要先安装 CUDA、cuDNN。environment.yml文件中的字符串“mxnet”替换成对应的GPU版本。例如,如果计算机上装的是8.0版本的CUDA,将该文件中的字符串“mxnet”改为“mxnet-cu80”。如果计算机上安装了其他版本的CUDA(如7.5、9.0、9.2等),对该文件中的字符串“mxnet”做类似修改(如改为“mxnet-cu75”“mxnet-cu90”“mxnet-cu92”等)。保存environment.yml文件后退出。2.name: gluon 表示要创建新的虚拟环境的名字gluon 3.比如我装的是CUDA 9.0、cuDNN 7.1.4,然后把“mxnet==1.4.0”修改为“mxnet-cu90==1.4.0”,environment.yml文件修改后如下MXNet和d2lzh包及版本号:name: gluondependencies:- python=3.6- pip:- mxnet-cu90==1.4.0- d2lzh==0.8.11- jupyter==1.0.0- matplotlib==2.2.2- pandas==0.23.44.第一种安装方式:不创建新的虚拟环境,而是直接手动下载安装每个软件。1.注意:可使用pip list 查看已经安装了什么软件和对应的版本号,如果已经安装了anaconda的话,则一般都已经自带同时装好了jupyter、matplotlib、pandas。 如果已经装好的软件的本地低于要求的版本可进行更新安装。比如我的已经安装好了 jupyter 1.0.0、matplotlib 2.2.2、pandas 0.23.0,那么还仅需要安装mxnet-cu90 1.4.0、d2lzh 0.8.11,和把 pandas 0.23.0 更新为 pandas 0.23.4,只需要执行 pip install pandas==0.23.4 即会自动卸载旧版本0.23.0 然后安装 0.23.4版本的了。2.需要安装的 软件和版本号如下:注意根据自己的cuda版本安装对应的GPU版本的mxnet-cuxx==1.4.0pip 安装方式:pip install mxnet-cu90==1.4.0pip install d2lzh==0.8.11pip install jupyter==1.0.0pip install matplotlib==2.2.2pip install pandas==0.23.4conda 安装方式:conda install mxnet-cu90==1.4.0conda install d2lzh==0.8.11conda install jupyter==1.0.0conda install matplotlib==2.2.2conda install pandas==0.23.45.第二种安装方式:根据提供的 environment.yml文件直接进行创建虚拟环境gluon和下载安装对应版本的软件。执行命令 conda env create -f environment.yml 表示用配置文件创建新的虚拟环境,该虚拟环境的名字为environment.yml文件中所配置的 name: gluon。创建虚拟环境gluon的时候,会自动根据environment.yml文件所配置的软件和版本进行下载安装到当前的虚拟环境gluon中。若使用国内镜像后出现安装错误,首先取消PyPI镜像配置,即执行命令pip config unset global.index-url。然后重试命令conda env create -f environment.yml。激活虚拟环境gluon:conda activate gluon  # 若conda版本低于4.4,使用命令activate gluon7.测试1.MXNet可以指定用来计算和存储的设备。默认情况下,MXNet会将数据创建在内存,然后利用CPU来计算。2.在MXNet中,mx.cpu()/mx.cpu(任意整数) 都均表示所有的物理CPU和内存。这意味着,MXNet的计算会尽量使用所有的CPU核。mx.cpu()等价于mx.cpu(0)。比如其中“cpu(0)”⾥的0没有特别的意义,并不代表特定的核。3.在MXNet中,mx.gpu()/mx.gpu(任意整数) 表示第i块GPU及相应的显存(i从0开始),并且mx.gpu(0)和mx.gpu()等价。4.MXNet的计算会在输入数据的context属性所指定的cpu/gpu设备上执行。为了使用GPU计算,我们只需要事先将所有的输入数据存储到显存上,计算输出结果也会自动会保存在显存上。同样的,要计算的所有输入数据都在cpu上的话,那么输出的结果数据也会存储在cpu上。因此MXNet要求计算的所有输入数据要么都在内存上,或者要么都在显存上。如果要计算的一部分数据在cpu上,一部分在gpu上,是无法计算的。    5.例子import mxnet as mxfrom mxnet import ndfrom mxnet.gluon import nn#cpu(数字):数字并没有特别的意义,并不代表特定的核#gpu(数字):表示第i块GPU及相应的显存(i从0开始),并且mx.gpu(0)和mx.gpu()等价mx.cpu(), mx.gpu(), mx.gpu(0)Out[5]: (cpu(0), gpu(0), gpu(0))mx.cpu(1), mx.gpu(2), mx.gpu(0)Out[6]: (cpu(1), gpu(2), gpu(0))#在默认情况下,NDArray存在内存上。x = nd.array([1, 2, 3])xOut[2]: [1. 2. 3.]<NDArray 3 @cpu(0)>#可以通过NDArray的context属性来查看该NDArray存储在cpu/gpu设备x.contextOut[3]: cpu(0)#可以在创建NDArray的时候通过ctx参数指定存储在cpu/gpu设备#只能填mx.gpu()和mx.gpu(0),填其他数字会报错CUDA: invalid device ordinala = nd.array([1, 2, 3], ctx=mx.gpu())aOut[4]: [1. 2. 3.]<NDArray 3 @gpu(0)>a.contextOut[5]: gpu(0)#可以在创建NDArray的时候通过ctx参数指定存储在cpu/gpu设备#mx.cpu()和mx.cpu(任意数字)都没有特殊意义,并都不代表特定的核b = nd.array([1, 2, 3], ctx=mx.cpu())bOut[6]: [1. 2. 3.]<NDArray 3 @cpu(0)>b.contextOut[7]: cpu(0)#可以通过copyto(mx.cpu()/mx.gpu())和as_in_context(mx.cpu()/mx.gpu()) 在cpu/gpu两种设备之间传输数据#NDArray对象x在cpu上,下面通过copyto(mx.gpu())把x从cpu拷贝一份传输到gpu上y1 = x.copyto(mx.gpu())y1 Out[36]: [1. 2. 3.]<NDArray 3 @gpu(0)>y1.contextOut[37]: gpu(0)#可以通过copyto(mx.cpu()/mx.gpu())和as_in_context(mx.cpu()/mx.gpu()) 在cpu/gpu两种设备之间传输数据#NDArray对象y1在gpu上,下面通过copyto(mx.cpu())把y1从gpu拷贝一份传输到cpu上x1 = y1.copyto(mx.cpu())x1Out[52]: [1. 2. 3.]<NDArray 3 @cpu(0)>x1.contextOut[53]: cpu(0)#可以通过copyto(mx.cpu()/mx.gpu())和as_in_context(mx.cpu()/mx.gpu()) 在cpu/gpu两种设备之间传输数据#NDArray对象x在cpu上,下面通过as_in_context(mx.gpu())把x从cpu拷贝一份传输到gpu上y1 = x.as_in_context(mx.gpu())y1Out[41]: [1. 2. 3.]<NDArray 3 @gpu(0)>y1.contextOut[42]: gpu(0)#可以通过copyto(mx.cpu()/mx.gpu())和as_in_context(mx.cpu()/mx.gpu()) 在cpu/gpu两种设备之间传输数据#NDArray对象y2在gpu上,下面通过as_in_context(mx.cpu())把y2从gpu拷贝一份传输到cpu上x2 = y2.as_in_context(mx.cpu())x2Out[56]: [1. 2. 3.]<NDArray 3 @cpu(0)>x2.contextOut[57]: cpu(0)#如果输入变量和通过as_in_context输出的变量都在同一个cpu或同一个gpu上的话,那么会共享使用同一份内存或显存#下面输入变量y在gpu上,和通过as_in_context(mx.gpu())输出的变量也同在gpu上,因此共享使用同一份显存y.as_in_context(mx.gpu()) is yOut[45]: True#如果输入变量和通过copyto输出的变量都在同一个cpu或同一个gpu上的话,那么实际不会共享使用同一份内存或显存,copyto会为输出变量开辟新的内存或显存#下面输入变量y在gpu上,和通过copyto(mx.gpu())输出的变量也同在gpu上,因此实际不会共享使用同一份显存,copyto会为输出变量开辟新的显存y.copyto(mx.gpu()) is yOut[47]: False#如果输入变量和通过as_in_context输出的变量都在同一个cpu或同一个gpu上的话,那么会共享使用同一份内存或显存#下面输入变量x在cpu上,和通过as_in_context(mx.cpu())输出的变量也同在cpu上,因此共享使用同一份内存x.as_in_context(mx.cpu()) is xOut[45]: True#如果输入变量和通过copyto输出的变量都在同一个cpu或同一个gpu上的话,那么实际不会共享使用同一份内存或显存,copyto会为输出变量开辟新的内存或显存#下面输入变量x在cpu上,和通过copyto(mx.cpu())输出的变量也同在cpu上,因此实际不会共享使用同一份内存,copyto会为输出变量开辟新的内存x.copyto(mx.cpu()) is xOut[47]: False

window下安装MXNet相关推荐

  1. window下安装Memcache

    说来惭愧,从事PHP已经1年多了,但是很多PHP相关的知识都不知道. 前一阵子看到网上流传了很久的面试题,才了解到原来还有memcache这么个东西-_-. memcache 具体是什么Google一 ...

  2. nodejs window下安装与配置淘宝镜像

    nodejs window下安装与配置淘宝镜像 1,前往nodejs官网下载安装软件,地址:https://nodejs.org/en/ 2,点击下一步继续安装,安装完成,在命令输入:node -v, ...

  3. window下安装tensorflow问题

    1.在window下安装tensorflow遇到了进程无法访问的问题 Could not install packages due to an EnvironmentError: [WinError ...

  4. 修改informix服务器端密码,window下安装informix

    <window下安装informix>由会员分享,可在线阅读,更多相关<window下安装informix(2页珍藏版)>请在人人文库网上搜索. 1.在窗口下安装informi ...

  5. 【BigData】Scala语言的简要介绍以及在window下安装Scala

    Spark是专为大规模数据处理而设计的快速通用的计算引擎,它是用Scala语言开发实现的.大数据技术本身就是数据计算的技术,而Scala既有面向对象组织项目工程的能力,又具备计算数据的功能,同时与Sp ...

  6. window下安装pytorch(不用下载cuda和cudnn)(用清华镜像)

    window下安装pytorch 前言: 最近换了一台笔记本电脑(3060显卡),单单为了配这个pytorch环境就花了1天时间(即使我以前配过).所以,现在想要记录一些细节防止忘记. 1.anaco ...

  7. window下安装nvm、node.js、npm的步骤

    1.下载nvm(nodejs版本管理工具) https://github.com/coreybutler/nvm-windows/releases 下载nvm-noinstall.zip,解压即可使用 ...

  8. Window下安装Rabitmq的插件以及激活

    (1)激活rabbitmq插件 进入rabbitmq的安装目录/sbin,cmd进入 输入激活命令如激活rabbitmq_shovel_management(该插件必须已经在plugin目录下已存在) ...

  9. window下安装wamp环境

    Wamp就是Windos Apache Mysql PHP集成安装环境,即在window下的apache.php和mysql的服务器软件.其中php环境配置是至关重要的一部分,本文就针对php在本地的 ...

最新文章

  1. video 微信 标签层级过高_基于大数据的用户标签体系建设思路和应用
  2. 【Java Web前端开发】JavaScript高级
  3. 【Python】利用 Python 实现多任务进程
  4. 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度O(N),且要求不能用非基于比较的排序。
  5. jdbc url写法(集群)
  6. 本地Nginx+Hosts配置本地前端代码和后端代码联调
  7. 在SQL Server中插入IN-T-SQL语句
  8. 自学Java要不要背熟语法_JAVASE经典面试问题(必须熟背),你Get到了吗?
  9. 她经济正在替代男性,成为体育产业的新支柱?
  10. ai人工智能数据处理分析_建立数据平台以实现分析和AI驱动的创新
  11. DirectSound---输出设备基本操作(枚举、查询等)
  12. Turboc C 编译出错信息的中文翻译 - C/C++ / C语言。
  13. python编码无法使用turtle库_使用Turtle库教Python
  14. Windwos Server 2012 R2 安装LLDP协议驱动程序
  15. 【转】纯干货:PS高手完全自学宝典(原创文章)
  16. pl/sql Developer 1303注册码
  17. 植物大全和植物识别系统毕业设计,植物大全和AI识别系统设计与实现,植物识别系统系统论文毕设作品参考
  18. 群晖(Synology)NAS服务器硬盘莫名丢失存储空间的解决方法
  19. Linux部署Oracle11gR2 RAC详细教程
  20. SSD 4K对齐正确做法是这样!

热门文章

  1. TabLayout更改下划线的宽度
  2. linux下安装ffmpeg的详细教程
  3. Win10安装Matlab R2017a技术指导
  4. 【2020年高被引学者】 杨植麟 北京睿科伦智能科技有限公司
  5. 向世界介绍我的家乡-----黑龙江省
  6. layui隐藏侧边栏_layui禁用侧边导航栏点击事件的处理方法
  7. 工业互联网新引擎——灵雀云 × 英特尔 5G融合边缘云解决方案
  8. 【Java】哔哩哔哩编程题练习
  9. $.getJSON解决跨域问题
  10. java 高性能低内存高斯模糊