Ubuntu多卡服务器、普通用户安装paddlepaddle环境

news2025/1/12 15:56:57

Ubuntu多卡服务器、普通用户安装paddlepaddle环境

  • 1. 建立conda虚拟环境
  • 2. 安装paddlepaddle gpu版本
    • 2.1 选择cuda版本
    • 2.2 安装paddle
  • 3. 验证及排错
    • 3.1 验证方法
    • 3.2 第一次报错:cuda问题
    • 3.3 第二次报错:NCCL问题(多卡)
  • 4. 设置环境变量,可以不用每次设置依赖目录

之前在本地的Ubuntu机器上安装paddle环境还挺顺利的,但是在多卡服务器上安装确遇到了很多问题,主要是服务器上已经安装了cuda等环境,普通用户也没有权限修改系统的依赖,多卡环境与单卡也有些区别。
主要参考资料就是paddle官方文档paddle安装说明

1. 建立conda虚拟环境

  1. 新建虚拟环境
conda create -n paddle_env python=3.9
  1. 进入虚拟环境
conda activate paddle_env

2. 安装paddlepaddle gpu版本

这里强调一下,一定要用conda安装,conda安装可以直接在当前环境下安装独立的cuda等依赖,这样就不会与系统预装的依赖环境冲突,pip安装就比较麻烦。

2.1 选择cuda版本

建议在终端输入nvidia-smi 查看系统的CUDA Version,选择比系统版本小的cuda版本,例如我当前机器的CUDA Version是11.5,所以我选择安装cuda 11.2
在这里插入图片描述

2.2 安装paddle

conda install paddlepaddle-gpu==2.4.2 cudatoolkit=11.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge 

3. 验证及排错

3.1 验证方法

安装完成后您可以使用 python3 进入 python 解释器,输入import paddle ,再输入 paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

3.2 第一次报错:cuda问题

W0505 03:08:12.283917 3969672 dynamic_loader.cc:307] The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly. (error code is /usr/local/cuda/lib64/libcudnn.so: cannot open shared object file: No such file or directory)
  Suggestions:
  1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
  2. Configure third-party dynamic library environment variables as follows:
  - Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
  - Windows: set PATH by `set PATH=XXX;

在这里插入图片描述

  • 解决方法
    查看环境安装的路径下,其实已经有了cuda相关的依赖:
    在这里插入图片描述
    但是目前还是寻找的系统目录,所以指定到环境目录就可以,在终端输入命令:
export LD_LIBRARY_PATH=[安装路径]/miniconda3/envs/paddle_env/lib

再次验证,可以看到刚才的错误已经不在了。

3.3 第二次报错:NCCL问题(多卡)

W0505 03:22:18.677640 3977430 dynamic_loader.cc:278] You may need to install 'nccl2' from NVIDIA official website: https://developer.nvidia.com/nccl/nccl-downloadbefore install PaddlePaddle.
[2023-05-05 03:22:18,678] [ WARNING] install_check.py:281 - PaddlePaddle meets some problem with 4 GPUs. This may be caused by:
 1. There is not enough GPUs visible on your system
 2. Some GPUs are occupied by other process now
 3. NVIDIA-NCCL2 is not installed correctly on your system. Please follow instruction on https://github.com/NVIDIA/nccl-tests 
 to test your NCCL, or reinstall it following https://docs.nvidia.com/deeplearning/sdk/nccl-install-guide/index.html
[2023-05-05 03:22:18,679] [ WARNING] install_check.py:289 - 
 Original Error is: (PreconditionNotMet) The third-party dynamic library (libnccl.so) that Paddle depends on is not configured correctly. (error code is libnccl.so: cannot open shared object file: No such file or directory)
  Suggestions:
  1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
  2. Configure third-party dynamic library environment variables as follows:
  - Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
  - Windows: set PATH by `set PATH=XXX; (at /paddle/paddle/phi/backends/dynload/dynamic_loader.cc:305)

PaddlePaddle is installed successfully ONLY for single GPU! Let's start deep learning with PaddlePaddle now.

  • 解决方法
    下载安装NCCL,这个需要去NVIDIA 官网下载,下载地址。
    在这里插入图片描述
    下载完解压
tar xvf nccl_2.17.1-1+cuda11.0_x86_64.txz

解压后可以直接把库拷贝到环境安装目录下
在这里插入图片描述
这时再次验证即可通过!

4. 设置环境变量,可以不用每次设置依赖目录

  • 如果要进入paddle环境,需要设置环境变量
export LD_LIBRARY_PATH=[安装路径]/miniconda3/envs/paddle_env/lib
  • 可以设置为每次打开终端,自动设置环境变量
vim ~/.bashrc

再最下边输入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[环境目录]/miniconda3/envs/paddle_env/lib

保存退出后,重新打开终端即生效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

echarts 地图_地图 json 免费下载_自定义icon

Echarts 常用各类图表模板配置 注意: 这里主要就是基于各类图表,更多的使用 Echarts 的各类配置项; 以下代码都可以复制到 Echarts 官网,直接预览; 图标模板目录 Echarts 常用各类图表模板配置一、地图二、环形图三、…

Microsoft Edge浏览器崩溃,错误代码: STATUS_STACK_BUFFER_OVERRUN

--------------------8日15:34更新------------------- 8号下午经历了短暂的兴奋,突然就好了,但是转瞬即逝,试用一会后就不行了。 目前使用beta版本是很稳定的。 最新版的beta也可以,注意数据同步。 --------------------原文-…

ChatGPT的Prompts关键词提示工程集合:包含AI绘画和GPT文本对话

文章目录 1 前言2 Awesome ChatGPT Prompts2.1 文本提示词2.2 提示词汇总2.3 绘画提示词 3 PromptBase4 Prompt-Engineering-Guide5 讨论 1 前言 明确一个概念,ChatGPT是一种大型的自然语言处理模型,它基于深度神经网络和语言模型技术,可以通…

c++中vector初始化的一个有趣的细节问题

vector的初始化&#xff0c;相信会写c的人都很熟悉&#xff0c;c11对此也改进了很多&#xff0c;更方便。 以下是使用vector初始化的几个例子&#xff1a; 从数组初始化vector&#xff1a; int arr[] {1, 2, 3, 4, 5}; vector<int> vec(arr, arr sizeof(arr) / size…

定时清理文件脚本

一、定时清理文件 编写一个bat脚本。新建一个文本文档&#xff08;txt文件&#xff09;&#xff0c;在里面输入echo offdel /f /s /q E:\temp\*.*&#xff0c;E代表E盘&#xff0c;temp是E盘下的需要清理的文件夹&#xff0c;运行脚本后&#xff0c;就是清理E:\temp文件夹下的…

Win下查看端口占用情况并释放该端口

开发中&#xff0c;经常会遇到端口意外被占用&#xff0c;需释放该端口的问题。一般解决思路是找到被占用端口关联的进程号&#xff0c;即PID&#xff0c;后通过PID终止该进程以释放该端口。 netstat 命令 显示协议统计信息和当前 TCP/IP网络连接,常用参数: -a: 显示所有连接和…

Packet Tracer - 配置基于区域的策略防火墙 (ZPF)

Packet Tracer - 配置基于区域的策略防火墙 (ZPF) 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/5 S0/0/0 (DCE) 10.1.1.1 255.255.255.252 不适用 不适用 R2 S0/0/0 10.1.1.2 255…

项目管理工具的必备功能,你需要知道这些

一个项目有很多事情需要计划、控制和管理&#xff0c;因此需要使用项目管理软件来对项目进行管理&#xff0c;除了制定计划、进度跟踪等之外&#xff0c;项目管理软件还应该有这些功能&#xff1a; 甘特图&#xff1a;帮你规划任务。比如说甘特图就可以设置多级任务、耗时和分…

AI与全民开发:挑战和机会并存

注&#xff1a;全民开发的英文是Citizen Development&#xff0c;由咨询公司Gartner在2010年提出的概念&#xff0c;指非专业开发人员使用低代码或无代码平台创建应用程序&#xff0c;无需IT部门的支持&#xff0c;旨在提高生产力并降低开发成本。 国内普遍将Citizen Developme…

dubbo服务导出源码解析

服务导出流程 需要对源码debug&#xff0c;可以参考官网的源码分析进行debug&#xff1a;https://cn.dubbo.apache.org/zh-cn/docsv2.7/dev/source/export-service/接收到 ContextRefreshedEvent 刷新事件&#xff0c;调用 ServiceBean.export()&#xff0c;会执行 ServiceCon…

刷力扣 LeetCode 算法题需要充值会员吗?

一、刷题成就 大家好&#xff0c;我是『负雪明烛』。 在过去的这些年里&#xff0c;我的一项业余爱好就是写作算法题解。如今写了上千篇题解了&#xff01; 在 CSDN 上&#xff0c;我的博客获得了 200 多万的阅读。 在力扣中国题解区&#xff0c;我也获得了180 万的阅读。…

我忽然发现周围同事都在无效内卷

想写这篇文章已经很久了&#xff0c;在三月份的时候就想写这篇文章了。 可三月份那时候需求比较多&#xff0c;每天下班时间基本都在九点多了&#xff0c;回到家就想躺着&#xff0c;压根不想写&#xff1b;四月份则是2022年度绩效评比沟通&#xff0c;一月时间又没了&#xff…

一个月内面了30家公司,薪资从18K变成28K,真行啊····

工作3年&#xff0c;换了好几份工作&#xff08;行业流行性大&#xff09;&#xff0c;每次工作都是裸辞。朋友都觉得不可思议。因为我一直对自己很有信心&#xff0c;而且特别不喜欢请假面试&#xff0c;对自己负责也对公司负责。 但是这次没想到市场环境非常不好&#xff0c;…

工作几年,面试还是说不出日志该怎么写更好?——日志规范与最佳实践篇

概览 上一篇我们讨论了为什么要使用日志框架&#xff0c;这次我们深入问题的根源&#xff0c;为什么我们需要日志&#xff1f; 大多数开发人员会纠结日志该怎么输出&#xff0c;什么时候输出&#xff0c;输出了会不会有人看等问题&#xff0c;让我们跳出开发人员的局限来考虑…

3D开发工具HOOPS最新解析合集:助力实现web端高性能模型渲染

一、3D技术为创新提供强大助力&#xff08;1&#xff09;3D专家提供专属技术支持服务 不管您想搭建桌面、WEB或者移动端APP应用&#xff0c;技术领先全球的HOOPS Platform组件都可以为您提供弹性的3D集成架构&#xff0c;同时&#xff0c;一批可信任的工业领域3D技术专家也将为…

Dubbo 基于xml文件分析主流程 (4)

目录 前提 JDK实现SPI Dubbo实现SPI Dubbo源码 1. 找到Dubbo的命名空间处理类&#xff0c;也就是Dubbo的入口类 2. 将dubbo标签交给spring进行管理&#xff0c;就是从 BeanDefinition----> Bean的过程。 3. 服务暴露 4. 服务引入 总结 仿写Dubbo 前提 1. Dubbo源码…

Information-Theoretic Segmentation by Inpainting Error Maximization总结笔记

一、《Inpainting Error Maximization》提出的提问和解决方法 《Inpainting Error Maximization》提出的提问&#xff1a;神经网络通常需要大量的手动标记的训练数据来达到最先进的性能。对于标记数据稀缺或昂贵的问题的适用性往往取决于从 相关领域迁移学习到的表示的能力。 …

在Ubuntu系统中安装JDK 17并配置环境变量

文章目录 打开终端&#xff0c;更新Ubuntu软件包列表&#xff1a;安装OpenJDK 17&#xff1a;检查JDK是否正确安装&#xff1a;配置环境变量&#xff1a; 结语 在Ubuntu系统中安装JDK 17并配置环境变量&#xff0c;可以按照以下步骤进行&#xff1a; 打开终端&#xff0c;更新U…

基于SpringBoot+Vue的宠物管理系统了解一下

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

C/C++每日一练(20230508) 相交链表、字符数组、排序链表

目录 1. 相交链表 &#x1f31f;&#x1f31f; 2. 字符数组 ※ 3. 排序链表 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 相交链表 给你两个单链表…