Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PaddlePaddle踩坑指北系列——Linux安装(二)

PaddlePaddle踩坑指北系列——Linux安装(二)

作者头像
用户1386409
发布于 2019-01-03 02:42:49
发布于 2019-01-03 02:42:49
6.3K00
代码可运行
举报
文章被收录于专栏:PaddlePaddlePaddlePaddle
运行总次数:0
代码可运行

本周我们在社区问答中精选出开发者在使用Linux安装时遇到的技术难题,可以到PaddlePaddle公众号【常见问答】专栏上寻求解决方案,更好的帮助新用户在安装过程中答疑解惑。

问题1:CUDA driver version is insufficient

关键字CUDA insufficient

问题描述:在使用PaddlePaddle GPUDocker镜像的时候,出现 Cuda Error: CUDA driver version is insufficient for CUDA runtime version

问题解答: 通常出现 Cuda Error: CUDA driver version is insufficient for CUDA runtime version, 原因在于没有把机器上CUDA相关的驱动和库映射到容器内部。

解决方法:

1. 将显卡驱动升级到最新

2. 使用nvidia-docker, 命令只需要将docker换为nvidia-docker即可。

更多请参考:https://github.com/NVIDIA/nvidia-docker

问题2:安装CPU版本后训练主动abort,gdb显示Illegal instruction

关键字:CPU版本 Illegal instruction

问题描述:成功安装了PaddlePaddle CPU版本后,使用Paddle训练模型,训练过程中,Paddle会自动退出,gdb显示Illegal instruction

报错输出:

问题解答: CPU版本PaddlePaddle自动退出的原因通常是因为所在机器不支持AVX2指令集而主动abort。简单的判断方法: 用gdb-7.9以上版本(因编译C++文件用的工具集是gcc-4.8.2,目前只知道gdb-7.9这个版本可以debug gcc4编译出来的目标文件):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $ /path/to/gdb -iex "set auto-load safe-path /" -iex "set solib-search-path /path/to/gcc-4/lib" /path/to/python -c core.xxx

在gdb界面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(gdb) disas

找到箭头所指的指令,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   0x00007f381ae4b90d <+3101>:  test   %r8,%r8
=> 0x00007f381ae4b912 <+3106>:  vbroadcastss %xmm0,%ymm1
   0x00007f381ae4b917 <+3111>:  lea    (%r12,%rdx,4),%rdi

然后google一下这个指令需要的指令集。上面例子中的带xmm和ymm操作数的vbroadcastss指令只在AVX2中支持

然后看下自己的CPU是否支持该指令集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /proc/cpuinfo |grep flags |uniq|grep avx --color

如果没有AVX就表示确实是指令集不支持引起的主动abort

解决方法: 如果没有AVX2指令集,就需要要安装不支持AVX2指令集版本的PaddlePaddle,默认安装的PaddlePaddle是支持AVX2指令集的,因为AVX2可以加速模型训练的过程,更多细节可以参考安装文档

http://www.paddlepaddle.org/documentation/docs/zh/1.0/beginners_guide/install/Start.html#paddlepaddle

问题3:安装paddlepaddle fluid版本后import paddle.fluid 后出现CUBLAS: not initialized

关键字import error

问题描述:使用的系统是Ubuntu 16.04,GPU相关环境:cuda8.0, cudnn 6.0, 安装最新版的paddlepaddle fluid 后,import paddle时问题如下:

在命令行下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import paddle
import paddle.v2

都没问题,唯独

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import paddle.fluid

报错,为何只有fluid版本import时会有问题?

报错输出

解决方法: 请先查看您系统GPU环境适配关系,应该选择和您的系统已经安装的CUDA版本相同的whl包,您的系统是cuda 8.0, cudnn 6 应该使用cuda8.0_cudnn7_avx_mkl才可以适配。

然后尝试如下命令看看是否报错

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> import paddle.v2
>>> paddle.v2.init(use_gpu=True)

如果报错,则可能是GPU 和CUDA环境没有正确配置

如果没有报错,请判断是否有给所有相关文件sudo权限

问题4:安装完了PaddlePaddle后,发现python相关的单元测试过不了

关键字:单元测试

问题描述:

如果出现以下python相关的单元测试都过不了的情况:

24 - test_PyDataProvider (Failed)

26 - test_RecurrentGradientMachine (Failed)

27 - test_NetworkCompare (Failed)

28 - test_PyDataProvider2 (Failed)

32 - test_Prediction (Failed)

33 - test_Compare (Failed)

34 - test_Trainer (Failed)

35 - test_TrainerOnePass (Failed)

36 - test_CompareTwoNets (Failed)

37 - test_CompareTwoOpts (Failed)

38 - test_CompareSparse (Failed)

39 - test_recurrent_machine_generation (Failed)

40 - test_PyDataProviderWrapper (Failed)

41 - test_config_parser (Failed)

42 - test_swig_api (Failed)

43 - layers_test (Failed)

并且查询PaddlePaddle单元测试的日志,提示:

paddle package is already in your PYTHONPATH. But unittest need a clean environment.

Please uninstall paddle package before start unittest. Try to 'pip uninstall paddle'.

解决方法: 卸载PaddlePaddle包 pip uninstall paddle, 清理掉老旧的PaddlePaddle安装包,使得单元测试有一个干净的环境。如果PaddlePaddle包已经在pythonsite-packages里面,单元测试会引用site-packages里面的python包,而不是源码目录里 /python 目录下的python包。同时,即便设置 PYTHONPATH /python 也没用,因为python的搜索路径是优先已经安装的python包。

问题5:GPU版本的PaddlePaddle运行结果报错

关键字:GPU 运行报错

问题描述: 在Docker镜像上,成功安装PaddlePaddle,但一运行就报错

报错截图:

问题分析: 使用如下命令,创建的docker容器仅能支持运行CPU版本的PaddlePaddle。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash

解决方法: 使用如下命令重新开启支持GPU运行的docker容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -it hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bashICES} --rm --name paddle-test-gpu -v /usr/bin/nvidia-smi:/usr/bin/nvidia-smi -v $PWD:/paddle --network=host -it docker.paddlepaddlehub.com/paddle:latest-dev /bin/bash

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export CUDA_SO="$(\ls /usr/lib64/libcuda* | xargs -I{} echo '-v {}:{}') $(\ls /usr/lib64/libnvidia* | xargs -I{} echo '-v {}:{}')"
export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}')  
sudo docker run ${CUDA_SO} ${DEVICES} --rm --name paddle-test-gpu -v /usr/bin/nvidia-smi:/usr/bin/nvidia-smi -v $PWD:/paddle --network=host -it docker.paddlepaddlehub.com/paddle:latest-dev /bin/bash

进入docker之后执行如下命令进行PaddlePaddle的安装及测试运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export LD_LIBRARY_PATH=/usr/lib64:/usr/local/lib:$LD_LIBRARY_PATH
pip install build/python/dist/*.whl
python python/paddle/fluid/tests/book/test_fit_a_line.py

问题6:源码编译paddle时显示PaddlePaddle版本号为0.0.0

关键字:CMake 版本号0.0.0

问题描述:在Liunx环境上,通过编译源码的方式安装PaddlePaddle,当安装成功后,运行 paddle version, 出现 PaddlePaddle 0.0.0

问题解答

如果运行 paddle version, 出现PaddlePaddle 0.0.0;或者运行 cmake ..,出现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CMake Warning at cmake/version.cmake:20 (message):
Cannot add paddle version from git tag

解决方法: 在dev分支下这个情况是正常的,在release分支下通过export PADDLE_VERSION=对应版本号 来解决

问题7:paddlepaddle*.whl is not a supported wheel on this platform

关键字:wheel platform

问题描述:安装PaddlePaddle过程中,出现paddlepaddle\*.whl is not a supported wheel on this platform

问题解答: paddlepaddle\*.whl is not a supported wheel on this platform表示你当前使用的PaddlePaddle不支持你当前使用的系统平台,即没有找到和当前系统匹配的paddlepaddle安装包。最新的paddlepaddle python安装包支持ubuntu14.04/16.04/18.04、Centos 6、Centos7和MacOS 10.11及以上操作系统,并需要在环境中安装python 2.7和pip 9.0.1。PaddlePaddle详细环境支持情况请参见官网文档:http://www.paddlepaddle.org/documentation/docs/zh/1.2/beginners_guide/install/index_cn.html

解决方法:请先尝试安装最新的pip,方法如下:

pip install --upgrade pip

如果还不行,可以执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 python -c "import pip; print(pip.pep425tags.get_supported())" 

获取当前系统支持的python包的后缀, 并对比是否和正在安装的后缀一致。

如果系统支持的是 linux_x86_64 而安装包是 manylinux1_x86_64 ,需要升级pip版本到最新; 如果系统支持 manylinux1_x86_64 而安装包(本地)是 linux_x86_64 ,可以重命名这个whl包为 manylinux1_x86_64 再安装。

如果在这篇文章中没有得到您所遇到问题的解答,请不要着急。我们将即可推出后续问题解答报道,敬请期待。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PaddlePaddle 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PaddlePaddle踩坑指北系列——Linux安装(一)
本周我们在社区中精选出开发者在使用PaddlePaddle过程中遇到的技术难题,希望能帮助广大用户在Linux安装过程中解答疑惑。
用户1386409
2018/12/26
1.2K0
《PaddlePaddle从入门到炼丹》一——新版本PaddlePaddle的安装
这一章我们介绍如何安装新版本的PaddlePaddle,这里说的新版本主要是说Fluid版本。Fluid 是设计用来让用户像Pytorch和Tensorflow Eager Execution一样执行程序。在这些系统中,不再有模型这个概念,应用也不再包含一个用于描述Operator图或者一系列层的符号描述,而是像通用程序那样描述训练或者预测的过程。也就是说PaddlePaddle从Fluid版本开始使用动态图机制,所以我们这个系列也是使用Fluid版本编写的教程。
夜雨飘零
2020/05/01
1.6K0
《PaddlePaddle从入门到炼丹》一——新版本PaddlePaddle的安装
PaddlePaddle踩坑指北系列——MacOS安装
本周我们精选出社区问答进行整理汇总,各位开发者在使用PaddlePaddle过程中遇到技术难题,可以到PaddlePaddle公众号【常见问答】专栏(点击主菜单中”定制服务“后可见)上寻求解决方案,希望能帮助新用户在MacOS安装过程中解答疑惑。
用户1386409
2018/12/29
1.7K0
专栏 | 新手入门?一步一步教你如何安装PaddlePaddle
机器之心发布 来源:百度PaddlePaddle 不久之前,机器之心联合百度推出 PaddlePaddle 专栏,为想要学习这一平台的技术人员推荐相关教程与资源。在解析过 PaddlePaddle 框架之后,从这篇文章开始上手,安装 PaddlePaddle。 环境 系统:Ubuntu 16.0.4(64 位) 处理器:Intel(R) Celeron(R) CPU 内存:8G Windows 系统的安装 PaddlePaddle 目前还不支持 Windows,如果读者直接在 Windows 上安装 Pa
机器之心
2018/05/08
1.4K0
专栏 | 新手入门?一步一步教你如何安装PaddlePaddle
【使用指南】PaddlePaddle安装编译问题汇总和基本使用概念
编写|PaddlePaddle 排版|wangp Part1 安装编译问题汇总 $ export CUDA_SO="$(\ls usr/lib64/libcuda* | xargs -I{} echo
用户1386409
2018/03/15
1.7K0
【使用指南】PaddlePaddle安装编译问题汇总和基本使用概念
【使用指南】用Docker安装运行paddlepaddle
编写|paddle 排版|wangp 使用Docker安装和运行PaddlePaddle可以无需考虑依赖环境即可运行。并且也可以在Windows的docker中运行。 您可以在 Docker官网获得基本的Docker安装和使用方法(官网网址:https://docs.docker.com/get-started/) 如果您在使用Windows,可以参考教程,完成在Windows上安装和使用Docker(教程网址:https://docs.docker.com/toolbox/toolbox_install
用户1386409
2018/03/15
2.4K0
基于容器的AI系统开发——百度PaddlePaddle解析
作者 | 王鹤麟、于洋、王益 责编 | 何永灿 基于深度学习的AI系统是由深度学习框架、AI应用以及服务部署组成的一个闭环。在PaddlePaddle的开发与使用过程中,我们发现框架和AI应用的开发及服务部署,都可以基于Docker完成,让流程简化。 开发痛点 编译工具难配置 编译AI系统需要安装很多工具(PaddlePaddle需要40个工具,TensorFlow需要51个),编译环境很难配置。作为一个开源项目,PaddlePaddle的编译环境必须非常容易配置,这样才会有更多的开发者加入进来。 编译工具
用户1737318
2018/06/05
1.2K0
nvidia-docker安装指南
nvidia-docker安装需要安装Docker- CE、NVIDIA Container Toolkit
鳄鱼儿
2024/05/21
2.2K0
nvidia-docker安装指南
PaddlePaddle发布基于Docker的AI系统开发流程
继两周前(2017年3月11日)PaddlePaddle社区发布新的PythonAPI之后,最近又发布了对应的新版Docker镜像,并优化了镜像的体积和组织方式。
用户1386409
2018/03/15
1.5K0
PaddlePaddle发布基于Docker的AI系统开发流程
何不花个做核酸排队的时间来编译一下Paddle?
今天长沙出了个通知——《关于做好常态化便民新冠病毒核酸检测工作的通知》,规定以7天为一个周期至少完成一次核酸检测。这边建议大家做核酸排队的时候别玩手机,可以闭目养神,把本来用于休息的时间来尝试编译一下Paddle。
Regan Yue
2022/10/05
4600
何不花个做核酸排队的时间来编译一下Paddle?
如何在Jetson nano上同时编译TensorRT与Paddle Lite框架
我从上学期开始逐渐接触飞桨深度学习框架,当时的飞桨逐步为广大开发者熟知。半年过去,生态不完善不再是扣在飞桨框架上的一顶帽子。如果你仍怀偏见,那么建议从现在开始深入地了解和使用它。
用户1386409
2020/08/04
1.6K0
如何在Jetson nano上同时编译TensorRT与Paddle Lite框架
【使用指南】用Docker编译和测试PaddlePaddle
编写|PaddlePaddle 排版|wangp 1 需要的软硬件 为了开发PaddlePaddle,我们需要: A: 一台电脑,可以装的是 Linux, BSD, Windows 或者 MacOS 操作系统,以及 B: Docker 不需要依赖其他任何软件了。即便是 Python 和 GCC 都不需要,因为我们会把所有编译工具都安装进一个 Docker image 里 2 总体流程 A:获取源码 git clone https://github.com/paddlepaddle/paddle B:
用户1386409
2018/03/15
1.7K0
搭建的ocr效果及搭建过程
经测试PaddleOCR可在glibc 2.23上运行,您也可以测试其他glibc版本或安装glic 2.23 PaddleOCR 工作环境
AI拉呱
2021/01/14
1.3K0
基于PaddlePaddle语音识别模型
本项目是基于PaddlePaddle的DeepSpeech项目修改的,方便训练中文自定义数据集。
夜雨飘零
2020/05/06
1.5K0
Linux和Windows系统下安装深度学习框架所需支持:Anaconda、Paddlepaddle、Paddlenlp、pytorch,含GPU、CPU版本详
Anaconda安装:Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。使用Anaconda可以通过创建多个独立的Python环境,避免用户的Python环境安装太多不同版本依赖导致冲突。
汀丶人工智能
2023/07/13
8570
Linux和Windows系统下安装深度学习框架所需支持:Anaconda、Paddlepaddle、Paddlenlp、pytorch,含GPU、CPU版本详
【2022超详细版】Win10安装cuda(10.1、11.7)+cuDNN(7.6.5、8.5.0)+tensorflow(gpu版)+pytorch(gpu版)
Release Notes :: CUDA Toolkit Documentation (nvidia.com)
Qomolangma
2024/07/30
2.4K0
【2022超详细版】Win10安装cuda(10.1、11.7)+cuDNN(7.6.5、8.5.0)+tensorflow(gpu版)+pytorch(gpu版)
通过Docker部署深度学习项目环境
深度学习环境部署的方法有很多种,其中Docker化深度学习环境和项目是一个很不错的选择。这里写过一些深度学习主机安装和部署的文章,这篇文章记录一下相关的通过Docker来部署和测试深度学习项目的一些经验(Ubuntu16.04)。
AINLP
2019/08/21
2.4K0
通过Docker部署深度学习项目环境
PaddlePaddle发布基于Docker的AI系统开发流程
【新智元导读】 本文来自PaddlePaddle团队,介绍了PaddlePaddle与众不同的基于Docker的编译、开发、测试、调试、发布、部署、和运行的全流程及其背后的设计思路。
新智元
2018/03/27
1.1K0
PaddlePaddle发布基于Docker的AI系统开发流程
【使用指南】用pip安装paddlepaddle
编写|shanyi 排版|wangp PaddlePaddle可以使用常用的Python包管理工具 pip 完成安装,并可以在大多数主流的Linux操作系统以及MacOS上执行 1 使用pip安装 执行下面的命令即可在当前机器上安装PaddlePaddle的运行时环境,并自动下载安装依赖软件,版本为cpu_avx_openblas pip install paddlepaddle 如果需要安装支持GPU的版本(cuda7.5_cudnn5_avx_openblas),需要执行: pip install
用户1386409
2018/03/15
2.3K1
【使用指南】用pip安装paddlepaddle
速成记|安装PaddlePaddle到底分几步?
和哪个版本的PaddlePaddle可以牵手成功,首先对自己的“英雄”要足够了解,尤其是这三个硬性条件
用户1386409
2018/07/26
1.2K0
速成记|安装PaddlePaddle到底分几步?
推荐阅读
相关推荐
PaddlePaddle踩坑指北系列——Linux安装(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验