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

慈云数据 8个月前 (03-22) 技术支持 98 0

深度学习框架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版本选择)
    

    Strongly suggest not trying to build numpy from source on Windows,but install with conda instead

    到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 ***

    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

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon