草庐IT

MxNet(GPU版本)安装及相关配置(CUDA,CuDNN,Graphviz,d2l,虚拟环境配置)及最终建议

Space65536 2023-04-04 原文

深度学习框架MxNet配置(GPU版本)

1.对应镜像:https://mirrors.aliyun.com/pypi/simple/mxnet/

  • 找到与自己电脑Python版本对应(命令行使用python --v查看对应版本)的版本下载
    2.在对应文件夹下ctrl+shift+右键在此处打开PowerShell窗口,复制文件夹名字mxnet-1.7.0.post2-py2.py3-none-win_amd64.whl,在命令行输入pip install +右键,剩下的文件名部分自动粘贴,回车。
    3.出错,先排除pip版本需要更新问题,命令行输入python -m pip install --upgrade pip
    不是pip版本问题会提示note: This is an issue with the package mentioned above, not pip.
    找找上面提到的包,看到提示跟numpy 相关→打开 AnacondaPrompt 输入pip install --upgrade numpy (直接在cmd命令行输入可能会出错),出现raise ReadTimeoutError考虑①换源(命令行输入:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple)②科学上网。。。。真的是绝了,因为版本混乱不学Java,结果到现在依旧会被这种问题困扰到。。。。。。。。。
报错: No module named 'numpy.distutils._msvccompiler' in numpy.distutils;
分析:可能是因为昨天重装tb买的win10专业版,少了一些dll。然后从源码安装numpy是需要编译的,所以编译过程中出错了
解决:安装Visual Studio 2019 生成工具  选择安装c++生成工具  (根据python版本选择)


到https://wiki.python.org/moin/WindowsCompilers下载对应MinGW-w64Compiler(https://www.mingw-w64.org/downloads/)

MinGW 就是 GCC 的 Windows 版本 。 以上是 MinGW 的介绍,MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序
换源-中科大:

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

最后解决:
1.科学上网安装mingw,因为清华源和中科大的源都装不了。
2.下载VS2022(Community):https://visualstudio.microsoft.com/zh-hans/downloads/【安装过程中会把编译MxNet的组件也给装了】

d2l软件包配置

这里有两种方式:
1.JupyterNotebook里面,命令前加上!
2.终端命令行激活虚拟环境,再用conda install 安装

CUDA,CuDNN

我的另一篇文章

Gaphaviz下载

这里可以不用下

在conda/anaconda中配置虚拟环境(搭建GPU版本mxnet的运行环境)

1.命令行创建

# 格式:conda create -n 虚拟环境名字  python=你想要的版本号
conda create -n gluon python=3.9
conda activate gluon

可能踩的坑:
1.An unexpected error has occurred. Conda has prepared the above report.
1)删除.condarc文件(这个文件的位置一般为C:\User\Administrator.condarc,如果设置了清华/中科大源,里面会保存这些镜像源的地址,删除了这个文件其实就是类似于恢复使用官方源)
2)清理缓存索引(运行命令:conda clean -i,可以删除conda中的缓存索引)
3)try close your VPN
2.激活环境后,在虚拟环境中安装mxnet(在命令行输入:pip install mxnet-cu100)

3.测试MxNet-GPU是否安装成功

import mxnet as mx
from mxnet import nd
 
# 简单的展示gpu配置成功
print(mx.cpu(), mx.gpu())
 
# NDArray在CPU上运算
x_cpu = nd.array([1, 2, 3])
print(x_cpu)                   # NDArray默认在CPU上 也就是物理内存上分配
print(x_cpu.context)           # 通过context来查看NDArray所在的设备
 
# NDArray在GPU上运算
x_gpu = nd.array([1, 2, 3], ctx=mx.gpu())
print(x_gpu)                   # NDArray默认在CPU上 也就是物理内存上分配
print(x_gpu.context)           # 通过context来查看NDArray所在的设备

用VSCODE跑MxNEt

可能会出现如下错误:

报错提示:

Running cells with ‘Python 3.9.13 (‘ohmy39’)’ requires ipykernel package.
Run the following command to install ‘ipykernel’ into the Python environment.
Command: ‘conda install -n ohmy39 ipykernel --update-deps --force-reinstall’

报错原因:

用vscode直接跑jupyter的时候,会出现这个错误。说明当前用的这个虚拟环境还不支持ipykernel。

解决:

# 非虚拟环境
conda install -n XXX ipykernel --update-deps   ## XXX为目标conda环境
# 虚拟环境(按照提示输入对应的命令即可)
conda install -n ohmy39 ipykernel --update-deps --force-reinstall

最后的建议

  1. 初学者放弃GPU版本的Mxnet吧,1.不要在本地(环境配置太多坑了)2.建议在Colab或者Kaggle上跑,蹭蹭免费的GPU
  2. 用PyTorch先入门把整个流程走一遍,后期有余力有兴趣再整MxNet

李沐老师的《动手学深度学习》相关网址:
课程材料:http://zh.gluon.ai
互动论坛:http://discuss.gluon.ai(有一些帖子可以为你在学习的过程中遇到的问题提供一些参考)
douyu直播:https://www.douyu.com/jiangmen

有关MxNet(GPU版本)安装及相关配置(CUDA,CuDNN,Graphviz,d2l,虚拟环境配置)及最终建议的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  4. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  5. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  6. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  7. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  8. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  9. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  10. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

随机推荐