MXNet安装与常见问题解决:Encountered error while trying to install package

本文主要讲了什么是MXNet;如何在CPU、GPU上安装MXNet;以及对MXNet安装过程中出现的常见问题给出了具体的解决方法。

文章目录

  • 一、什么是MXNet?
  • 二、MXNet的安装
  • 2.1 在CPU上安装
  • 2.2 在GPU上安装
    • 2.2.1 对于Linux和macOS用户
    • 2.2.2 对于Windows用户
  • 三、常见问题及解决方法
  • 3.1 pip版本过低
    • 3.1.1 命令行更新pip
    • 3.1.2 在Pycharm更新
      • 3.1.2.1 在终端更新
      • 3.1.2.2 在解释器更新
  • 3.2 numpy库安装失败

一、什么是MXNet?

MXNet是亚马逊选择的深度学习库。它拥有类似于Theano和TensorFlow的数据流程图,为多GPU配置提供了良好的配置,有类似于Lasange和Blocks更高级别的模型构建块,并且可以在你想象的任何硬件上运行(包括手机)。

MXNet同样提供了对R、Julia、C++、Scala、Mathlab和Javascript的接口。

二、MXNet的安装

在安装深度学习框架之前,需要检查自己的计算机上是否有可用的GPU,例如:可以查看计算机是否装有NVIDIA并已经安装CUDA。如果计算机上没有GPU,则可以选择安装在CPU上。

2.1 在CPU上安装

在CPU上安装MXNet——通过命令行窗口安装

代码如下:

C:Usersqwqlry>pip install mxnet==1.7.0.post1

使用国内镜像

pip install mxnet==1.7.0.post1 -i https://pypi.tuna.tsinghua.edu.cn/simple –user

MXNet安装与常见问题解决:Encountered error while trying to install package

1.7.0.post1指的是MXNet的版本。若不指定安装版本也可以进行安装,但会存在MXNet安装版本与Python版本不匹配的现象。
代码如下:

C:Usersqwqlry>pip install mxnet

2.2 在GPU上安装

在GPU上安装时,需要知道安装的CUDA的版本。可以通过如下方式进行查询版本。
代码如下:

nvcc --version

或者

cat/user/local/cuda/version.txt

若假设电脑上已经安装了CUDA版本则可以通过以下方式进行安装。

2.2.1 对于Linux和macOS用户

pip install mxnet-cuxx==1.7.0

2.2.2 对于Windows用户

pip install mxnet-cuxx==1.7.0 -f https://dist.mxnet.io/python

在安装时可以根据CUDA的版本改变mxnet-cuxx的最后一位数字,例如:CUDA8.0是cu80.

三、常见问题及解决方法

目前作者遇到的问题有两个:pip版本过低、numpy库报错。

3.1 pip版本过低

当pip版本过低时终端会给出提示信息,此时则只需要根据提示信息更新pip就行了。
同样pip的更新也可以分为:在命令行窗口更新和Pycharm更新。
查询pip版本的代码如下:

C:Usersqwqlry>pip show pip
Name: pip
Version: 21.1.1
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: distutils-sig@python.org
License: MIT
Location: d:pythonlibsite-packages
Requires:
Required-by:

3.1.1 命令行更新pip

代码如下:

C:Usersqwqlry>python -m pip install –upgrade pip

3.1.2 在Pycharm更新

在Pycharm更新同样可以分为在终端更新和在解释器更新。

3.1.2.1 在终端更新

G:pycharmWorkspace>pip install –upgrade pip

3.1.2.2 在解释器更新

更新版本可以根据提示信息进行修改

3.2 numpy库安装失败

错误详情如下图所示:

MXNet安装与常见问题解决:Encountered error while trying to install package

提示错误:Encountered error while trying to install package numpy

遇到该问题的时候,作者开始以为是numpy库有问题,然后自行下载了numpy库,结果问题没有解决。于是作者在网上查找资料了解到具体原因:MXNet版本和Python版本不匹配。此时则可以通过降低MXNet的版本来解决问题。通过此方法作者下载了低版本的MXNet进行安装并且安装成功了。

pip install mxnet==1.7.0.post1 -i https://pypi.tuna.tsinghua.edu.cn/simple –user

该命令降低MXNet版本为1.0.0,安装成功

MXNet安装与常见问题解决:Encountered error while trying to install package

作者觉得应该有其他解决方法,于是逐一排查错误提示信息,最后发现提示信息中有如下提示

 error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”: https://visualstudio.microsoft.com/downloads/

因此对visual studio进行了安装。修改完后则重新安装所需要的版本的MXNet,此时显示安装成功。

安装visual studio:点击此处即可下载visual studio

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/11244.html

(0)
江山如画的头像江山如画管理团队
pycharm 中pip不是内部或外部命令,也不是可运行的程序或批处理文件(直接解决问题)
上一篇 2023年1月13日 下午4:40
Python 8大知识点——附详细实例代码。
下一篇 2023年1月14日 上午9:36

99%的人还看了以下文章

  • python 初学者练手上机实操四

    1.用*打印一个如下所示的图形。(10分) * * * * * * * * * * print(‘*’) print(‘* *’) print(‘* * *’) print(‘* * * *’) 要求分别使用for和while语句实现 导入turtle包(impo…

    2023年5月5日
    6.9K0
  • 第2课:编写第一个C语言程序

      用C语言语句编写的程序称为C程序或C源程序。 下面编写第一个C语言程序,这个程序是在Visual C++ 环境下编译通过的。 Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。 【例1.1】用C语言编写一个…

    2020年4月5日
    11.1K0
  • JSP+MySQL MVC综合案例:完整的分页查询

    JSP+MySQL数据库开发教程,MVC综合案例,完整的分页查询代码。

    2018年2月22日
    7.8K0
  • Python 8大知识点——附详细实例代码。

    目录 1. for – else 2.lambda函数 3.列表推导式 4.列表索引的各种骚操作 5.三元表达式 6.巧用断言assert 7.while语句 8.with – as 1. for – else 什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的。十大装…

    2023年1月14日
    2.1K0
  • 网络编程 ASP.NET(C#)学习笔记二:数据类型-值类型

    C#中数据类型主要分为两大类:值类型和引用类型。本节课主要讲解值类型的分类和结构类型、枚举类型的定义和使用。 值类型: C#中值类型包括3种:简单类型、结构类型和枚举类型。 简单类型包括整数类型、字符类型、实数类型和布尔类型等,在此不做介绍,随便找本书看下即可。 结构类型:用于定义复杂的数据类型。如图书信息(包括书名,作者,出版社,价格等等),坐标点的信息(…

    2018年1月30日
    16.0K0
  • 最全的数据结构排序算法实现及比较

    冒泡排序 类似暴力破解,1 – n 个,每个都比较一次。完成排序 public void sort(int[] arr) { int len = arr.length; for (int i = 0; i < len; i++) { for (int j = i + 1; j < len – 1; j++) { if (arr[i] …

    2020年10月13日
    8.0K0

发表回复

登录后才能评论