安装类

Linux Windows Ascend GPU CPU 环境准备 初级 中级

pip安装

Q:安装MindSpore版本:GPU、CUDA 10.1、0.5.0-beta、Ubuntu-x86,出现问题:cannot open shared object file:file such file or directory

A:从报错情况来看,是cublas库没有找到。一般的情况下是cublas库没有安装,或者是因为没有加入到环境变量中去。通常cublas是随着cuda以及驱动一起安装的,确认安装后把cublas所在的目录加入LD_LIBRARY_PATH环境变量中即可。


Q:使用pip安装时报错:SSL:CERTIFICATE_VERIFY_FATLED应该怎么办?

A:在pip安装命令后添加参数 --trusted-host=ms-release.obs.cn-north-4.myhuaweicloud.com重试即可。


Q:pip安装MindSpore对Python版本是否有特别要求?

A:MindSpore开发过程中用到了Python3.7+的新特性,因此建议您通过conda工具添加Python3.7.5的开发环境。


Q:MindSpore对protobuf版本是否有特别要求?

A:MindSpore默认安装protobuf的3.8.0版本,如果您本地已安装protobuf的3.12.0或更高版本,在使用pytest测试代码时日志中会产生很多告警,建议您使用命令pip install protobuf==3.8.0重新安装3.8.0版本。


Q:使用pip安装时报错ProxyError(Cannot connect to proxy),应该怎么办?

A:此问题一般是代理配置问题,Ubuntu环境下可通过export http_proxy={your_proxy}设置代理;Windows环境可以在cmd中通过set http_proxy={your_proxy}进行代理设置。


Q:使用pip安装时提示错误,应该怎么办?

A:请执行pip -V查看是否绑定了Python3.7+。如果绑定的版本不对,建议使用python3.7 -m pip install代替pip install命令。


Q:MindSpore网站安装页面找不到MindInsight和MindArmour的whl包,无法安装怎么办?

A:您可以从MindSpore网站下载地址下载whl包,通过pip install命令进行安装。


Q:MindSpore是否支持Nvidia GPU独立显卡+Windows操作系统的个人电脑?

A:目前MindSpore支持的情况是GPU+Linux与CPU+Windows的组合配置,Windows+GPU的支持还在开发中。 如果希望在GPU+Windows的环境上运行,可以尝试使用WSL+docker的方式,操作思路:

  1. 以WSL方式安装起Ubuntu18.04,参考https://docs.microsoft.com/en-us/windows/wsl/install-win10

  2. 安装支持WSL的Nvidia驱动以及在WSL运行容器的环境部署,参考https://docs.nvidia.com/cuda/wsl-user-guide/index.html

    由于CUDA on WSL还是预览特性,注意参考链接里对Windows版本要求的说明,版本不够的需要做升级。

  3. 参考https://gitee.com/mindspore/mindspore#docker%E9%95%9C%E5%83%8F,取MindSpore-GPU镜像。如取MindSpore1.0.0版本容器,在WSL Ubuntu18.04中执行docker pull mindspore/mindspore-gpu:1.0.0运行容器:

    docker run -it --runtime=nvidia mindspore/mindspore-gpu:1.0.0 /bin/bash
    

详细步骤可以参考社区提供的实践张小白教你安装Windows10的GPU驱动(CUDA和cuDNN)。 在此感谢社区成员张辉的分享。


源码编译安装

Q:在Linux中已经安装了交叉编译工具,但是编译命令要怎么写呢?

A:arm64版本编译:bash build.sh -I arm64;arm32版本编译:bash build.sh -I arm32;注意要先设置环境变量,指定Android NDK路径:export ANDROID_NDK=/path/to/android-ndk,编译成功后,在output目录可以找到编译出的包。


Q:MindSpore安装:版本0.6.0-beta + Ascend 910 + Ubuntu_aarch64 + Python3.7.5,手动下载对应版本的whl包,编译并安装gmp6.1.2。其他Python库依赖已经安装完成,执行样例失败,报错显示找不到so文件。

A:libdatatransfer.so动态库是fwkacllib/lib64目录下的,请先在/usr/local目录find到这个库所在的路径,然后把这个路径加到LD_LIBRARY_PATH环境变量中,确认设置生效后,再执行。


Q:源码编译MindSpore过程时间过长,或时常中断该怎么办?

A:MindSpore通过submodule机制引入第三方依赖包,其中protobuf依赖包(v3.8.0)下载速度不稳定,建议您提前进行包缓存。


Q:如何改变第三方依赖库安装路径?

A:第三方依赖库的包默认安装在build/mindspore/.mslib目录下,可以设置环境变量MSLIBS_CACHE_PATH来改变安装目录,比如 export MSLIBS_CACHE_PATH = ~/.mslib


Q:MindSpore要求的配套软件版本与Ubuntu默认版本不一致怎么办?

A:当前MindSpore只提供版本配套关系,需要您手动进行配套软件的安装升级。(注明:MindSpore要求Python3.7.5和gcc7.3,Ubuntu 16.04默认为Python3.5和gcc5,Ubuntu 18.04默认自带Python3.7.3和gcc7.4)。


Q:当源码编译MindSpore,提示tclsh not found时,应该怎么办?

A:当有此提示时说明要用户安装tclsh;如果仍提示缺少其他软件,同样需要安装其他软件。


卸载

Q:如何卸载MindSpore?

A:执行命令pip uninstall mindspore可卸载MindSpore。


环境变量

Q:一些常用的环境变量设置,在新启动的终端窗口中需要重新设置,容易忘记应该怎么办?

A:常用的环境变量设置写入到~/.bash_profile~/.bashrc中,可让环境变量设置在新启动的终端窗口中立即生效。


安装验证

Q:个人电脑CPU环境安装MindSpore后验证代码时报错:the pointer[session] is null,具体代码如下,该如何验证是否安装成功呢?

import numpy as np
from mindspore import Tensor
import mindspore.ops as ops
import mindspore.context as context

context.set_context(device_target="Ascend")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x,y))

A:CPU硬件平台安装MindSpore后测试是否安装成功,只需要执行命令:python -c 'import mindspore',如果没有显示No module named 'mindspore'等错误即安装成功。问题中的验证代码仅用于验证Ascend平台安装是否成功。


Q:Linux平台下执行用例的时候会报错sh:1:python:not found或者由于链接到了Python2.7的版本中而报错No module named mindspore._extends.remote,该怎么处理?

A:遇到类似的问题,大多是由于Python的环境问题,可以通过如下方式检查Python环境是否是MindSpore运行时所需要的环境。

  • 在终端窗口中输入python,检查以下进入Python交互环境中的版本信息,如果直接报错则是没有Python的软连接;如果进入的是非Python3.7版本的环境,则当前Python环境不是MindSpore运行所需要的。

  • 执行sudo ln -sf /usr/bin/python3.7.x /usr/bin/python创建Python的软连接,然后再检查执行。

Q: 在脚本中import mindspore之前import了其他三方库,提示如下错误(/your_path/libgomp.so.1: cannot allocate memory in static TLS block)该怎么解决?

A: 上述问题较为常见,当前有两种可行的解决方法,可任选其一:

  • 交换import的顺序,先import mindspore再import其他三方库。

  • 执行程序之前先添加环境变量(export LD_PRELOAD=/your_path/libgomp.so.1),其中your_path是上述报错提示的路径。