环境配置与搭建

安装pytorch

官网连链接:https://pytorch.org/

特殊包名

cv2

pip install opencv-python  

sklearn

pip install scikit-learn

PIL

pip install Pillow

使用jupyter notebook

pip install jupyter

安装显卡驱动

Windows

Linux

视频教程:
【ubuntu24 7分钟安装 cuda cudnn tensorRT】

【ubuntu系统下搭建pytorch的GPU运行环境(显卡驱动、cuda、cudnn安装)】

参考文章:Ubuntu安装和卸载CUDA和CUDNN

驱动安装

英伟达驱动下载地址:https://www.nvidia.cn/drivers/results/
选择对应的显卡驱动
在这里插入图片描述
不要直接点下载,赋值下载地址直接在服务器上用wget命令直接下载到服务器上。

在这里插入图片描述

1.下载驱动

wget https://us.download.nvidia.com/XFree86/Linux-x86_64/550.54.14/NVIDIA-Linux-x86_64-550.54.14.run

2.删除之前安装的驱动残留

sudo apt-get remove nvidia*

在这里插入图片描述

3.修改配置文件(禁用nouveau)

vim /etc/modprobe.d/blacklist.conf

打开文件后,末尾添加如下内容:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

4.重建initramfs image

echo options nouveau modeset=0|sudo tee -a /etc/modprobe.d/blacklist.conf
sudo update-initramfs -u
sudo reboot

重启后,执行下面命令,如果屏幕没有输出说明禁用nouveau成功

lsmod | grep nouveau

5.安装相关依赖

sudo apt-get update
sudo apt-get install g++ gcc make

6.执行安装命令

chmod +x NVIDIA-Linux-x86_64-550.54.14.run
sudo ./NVIDIA-Linux-x86_64-550.54.14.run --no-opengl-files

在这里插入图片描述
7.安装完成后重启服务器

sudo reboot

8.验证安装结果

nvidia-smi
安装CUDA

cuda官网下载地址:https://developer.nvidia.com/cuda-toolkit
如果需要特定版本可以修改网址如(cuda11.8.0版本):
https://developer.nvidia.com/cuda-11-8-0-download-archive

在这里插入图片描述
1.下载并安装

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

安装过程进入安装页面:
1.输入accept
2.英伟达驱动之前已经安装(需要取消勾选)
3.安装完成
提示:
在这里插入图片描述
我们需要添加两个环境变量(PATH和LD_LIBRARY_PATH)

注意:安装完成后要注意查看提示信息,因为安装路径可能是/usr/local/cuda或者/usr/local/cuda-xx.x,这与后面添加环境变量以及安装卸载cudnn密切相关

2.添加环境变量

sudo vim ~/.bashrc
# 添加环境变量
######
# 必须
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
# 可选
export CUDA_HOME=:/usr/local/cuda-11.8
export CUDA_LIB_PATH=/usr/local/cuda-11.8/targets/x86_64-linux/lib
######
source ~/.bashrc

安装完成后查看CUDA版本

nvcc --version  
nvcc -V
卸载CUDNN

首先,需要找到并删除旧版本的 CuDNN 文件。假设 CUDA 安装在 /usr/local/cuda,你可以使用以下命令删除旧版本的 CuDNN 文件:

sudo rm /usr/local/cuda/include/cudnn*.h  
sudo rm /usr/local/cuda/lib64/libcudnn*  
安装CUDNN

下地址:https://developer.nvidia.com/cudnn-archive
在这里插入图片描述
在这里插入图片描述

################# 下载 ###############
# 这里下载可能需要登录验证,为了正确下载 CuDNN 文件,你需要在浏览器中登录 NVIDIA 开发者账号,并手动下载文件。然后将文件通过 SCP 或者其他文件传输方法上传到你的服务器上
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/9.1.1/local_installers/12.x/cudnn-linux-x86_64-9.1.1.17_cuda12-archive.tar.xz

#############  解压  ##################
tar -xvf cudnn-linux-x86_64-9.1.1.17_cuda12-archive.tar.xz

###########   安装  ##################
# 拷贝(记得提前查看cudnn解压文件夹中是lib还是lib64)
sudo cp cudnn-linux-x86_64-9.1.1.17_cuda12-archive/include/cudnn*.h    /usr/local/cuda/include
sudo cp cudnn-linux-x86_64-9.1.1.17_cuda12-archive/lib/libcudnn*    /usr/local/cuda/lib64
# 加权限
sudo chmod a+r /usr/local/cuda/include/cudnn*.h   /usr/local/cuda/lib64/libcudnn*

########## 验证是否安装成功 ###########
# 运行命令
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
# 若上述命令没有结果,则运行以下命令
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

验证显卡可用

nvidia-smi

pytorch验证

import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)
print(torch.backends.cudnn.version())

Pytorch

# Get cpu, gpu or mps device for training.
device = (
    "cuda"
    if torch.cuda.is_available()
    else "mps"
    if torch.backends.mps.is_available()
    else "cpu"
)
print(f"Using {device} device")

Tensorflow

通过docker配置深度学习环境

# 使用NVIDIA提供的CUDA 11.8镜像,基础镜像是Ubuntu 22.04  
FROM dockerproxy.net/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04  
  
# 添加镜像的作者和合作信息  
LABEL com.uxhao.image.authors="ahaoao"  
LABEL com.uxhao.image.cooperation="VX:SystemUA"  
  
# 设置时区、前端模式和路径环境变量  
ENV TZ=Asia/Shanghai \      
    DEBIAN_FRONTEND=noninteractive \      
    PATH=/opt/miniconda3/bin:$PATH   
  
# 设置工作目录为/root  
WORKDIR /root  
  
# 备份现有的apt源列表并替换为清华大学的源,加速软件包的下载  
RUN cp /etc/apt/sources.list /etc/apt/sources.list.back && \  
    rm -rf /etc/apt/sources.list  && \  
    echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse \n\  
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse \n\  
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse \n\  
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse \n" >> /etc/apt/sources.list    
  
# 更新包列表  
RUN apt-get update  
  
# 升级已安装的包  
RUN apt-get upgrade -y  
  
# 安装并配置SSH服务  
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y ssh && \  
    mkdir /var/run/sshd && \  
    echo 'root:root' | chpasswd && \  
    sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \  
    sed -i 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config  
  
# 安装并配置时区数据  
RUN apt install -y tzdata && \  
    ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime && \  
    echo ${TZ} > /etc/timezone && \  
    dpkg-reconfigure --frontend noninteractive tzdata  
  
# 安装常用工具vim、git和net-tools  
RUN apt-get install -y vim && \  
    apt-get install -y git && \  
    apt-get install -y net-tools  
  
# 配置SSH启动脚本,并添加到bashrc中  
RUN echo "service ssh start >>/root/start_ssh.log" >> ~/start_ssh.sh && \  
    chmod 777 ~/start_ssh.sh && \  
    echo "# <<< ssh <<< \nif [ -f /root/start_ssh.sh ]; then \n      /root/start_ssh.sh \nfi \n# <<< ssh <<<" >> ~/.bashrc  
  
# 配置TensorBoard启动脚本,并添加到bashrc中  
RUN echo '#! /bin/bash\na=$(netstat -anp |grep 6006) \nif [ -z "$a" ] \nthen \nsource /opt/miniconda3/etc/profile.d/conda.sh \nconda activate cv \nnohup python /opt/miniconda3/envs/cv/lib/python3.10/site-packages/tensorboard/main.py --logdir /gemini/logs --bind_all > /root/start_tensorboard.log 2>&1 & \nfi' >> ./start_tensorboard.sh && \  
    chmod 777 ~/start_tensorboard.sh && \  
    echo "# <<< tensorboard <<< \nif [ -f /root/start_tensorboard.sh ]; then \n      /root/start_tensorboard.sh \nfi \n# <<< tensorboard <<<" >> ~/.bashrc  
  
# 下载并安装Miniconda  
RUN wget -O /opt/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh "https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh" && \  
    chmod +x /opt/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh && \  
    sh -c '/bin/echo -e "\nyes\n\nyes" | sh /opt/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh -b -p /opt/miniconda3'  
  
# 设置Miniconda的路径  
ENV PATH=/opt/miniconda3/bin:$PATH  
  
# 配置conda的源和其他设置  
RUN conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ && \  
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ && \  
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ && \  
    conda config --set show_channel_urls yes && \  
    conda config --set auto_activate_base no  && \  
    conda config --set ssl_verify false  
  
# 创建名为cv的conda环境,Python版本为3.10.13  
RUN conda create --name cv python=3.10.13  
  
# 使用bash作为默认shell,并激活conda环境  
SHELL ["/bin/bash","--login", "-c"]  
RUN export PATH=/opt/miniconda3/bin:$PATH && \  
    conda update --name base conda && \  
    conda init bash && \  
    source activate && \  
    conda activate cv && \  
    conda install -y --quiet numpy pyyaml mkl mkl-include setuptools cmake cffi typing && \  
    conda install -y --quiet -c mingfeima mkldnn && \  
    python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple && \  
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && \  
    pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 -f https://mirrors.aliyun.com/pytorch-wheels/cu118 && \  
    pip install pydantic pandas pillow matplotlib comet_ml openpyxl opencv-python torchmetrics lightning scikit-learn scikit-image albumentations segmentation-models-pytorch tensorboard easydict packaging timm einops yarl typing_extensions  
  
# 安装ffmpeg和其他依赖库  
RUN apt-get install -y ffmpeg libsm6 libxext6  
  
# 创建目录结构  
RUN mkdir /gemini && \  
    mkdir /gemini/code && \  
    mkdir /gemini/output  
  
# 清理不必要的文件  
RUN apt-get clean && \  
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*      
  
# 暴露端口  
EXPOSE 22  
EXPOSE 6006  
EXPOSE 8888  
  
# 设置默认命令为bash  
CMD ["bash"]  
参考视频

搭建深度学习docker容器

2023完整版:深度学习环境在Docker上搭建(基于Linux和WSL)

Docker部署深度学习模型

从硬件到软件零起步搭建深度学习环境 | 配置深度学习环境: Docker + Conda + Pytorch + SSH + VS Code

Ubuntu系统卸载Miniconda3

如果安装时没有做特别的设置,那么Miniconda3将会安装在/opt/anaconda3/目录下。如果不在这个目录可以试着用find名称查找

cd /
sudo find / -name anaconda3

找到安装目录后,将其全部删除


rm -rf anaconda3
# 如果之前安装目录为miniconda3目录
rm -rf miniconda3  

然后打开~/.bashrc文件:

vim ~/.bashrc

将下面内容删除或者注释
在这里插入图片描述
Miniconda卸载完成!

Ubuntu系统安装Miniconda3

官网教程:https://docs.anaconda.com/miniconda/#quick-command-line-install

# 创建一个名为miniconda3的目录在/data目录下  
mkdir -p /data/miniconda3  
# 从Anaconda的官网上(镜像地址)下载最新版本的Miniconda安装脚本,并将其保存到刚才创建的目录中,命名为miniconda.sh  
wget https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-py310_24.3.0-0-Linux-x86_64.sh -O /data/miniconda3/miniconda.sh
# 以非交互模式安装Miniconda,-b选项表示静默安装,-u选项表示更新已存在的安装,-p选项指定安装路径为刚才创建的/data/miniconda3目录  
bash /data/miniconda3/miniconda.sh -b -u -p /data/miniconda3  
# 删除安装脚本,安装完成后不再需要该脚本  
rm /data/miniconda3/miniconda.sh  

添加环境变量

1.打开 ~/.bashrc 文件

vim ~/.bashrc  

2.在文件末尾添加以下行:

# 添加Miniconda到PATH环境变量中
export PATH=/data/miniconda3/bin:$PATH

3.更新文件

source ~/.bashrc  

4.验证conda是否正常可用

conda --version  
conda设置清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 
conda config --set show_channel_urls yes 
conda config --set auto_activate_base no  
conda config --set ssl_verify false

查看设置结果

# 完整配置
conda config --show  
# 镜像通道配置
conda config --show channels  
pip设置清华镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

查看设置结果

pip config list  

接下来就可以正常使用conda啦!

conda create -n yolov8 python==3.10

conda activate yolov8
# 如果报错: CondaError: Run 'conda init' before 'conda activate'
# 如果执行conda init 后依然显示上面报错
# 解决方案如下:
conda init  
source ~/.bashrc  
连接pycharm

ubuntu系统的conda Executeable在哪个路径?
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jmeter常用配置元件介绍总结之函数助手

系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之取样器 jmeter常用配置元件介绍总结之函数助手 1.进入函数助手对话框2.常用函数的使用介绍2.1.RandomFromMultipleVars函数2.2.Random函数2.3.R…

【excel基本操作-sumif绝对引用和相对引用

低量级数据的存储 复杂且无法优化的数据报表 怎么学excel? 一、输入与输出 二、计算与处理 三、可视化 四、连接匹配与自动化 excel操作笔记 打开表格第一步筛选 所以筛选的快捷键&#xff1a;shiftctrll 排序&#xff1a;多列排序 开始-排序与筛选-自定义排序-设置关键字添…

【项目计划文档】软件项目计划书,项目总体计划(word原件)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件全套精华资料包清单部分文件列表&#xff1a; 工作…

音视频入门基础:FLV专题(23)——FFmpeg源码中,获取FLV文件音频信息的实现(下)

音视频入门基础&#xff1a;FLV专题系列文章&#xff1a; 音视频入门基础&#xff1a;FLV专题&#xff08;1&#xff09;——FLV官方文档下载 音视频入门基础&#xff1a;FLV专题&#xff08;2&#xff09;——使用FFmpeg命令生成flv文件 音视频入门基础&#xff1a;FLV专题…

模型 阿玛拉定律(炒作周期)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。短期乐观&#xff0c;长期低估。 1 阿玛拉定律的应用 1.1 全球定位系统&#xff08;GPS&#xff09;的发展 全球定位系统&#xff08;GPS&#xff09;的发展是阿玛拉定律的一个典型应用案例&#xf…

Kubernetes的概述与架构

Kubernetes 的概述 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统&#xff0c;其服务、支持和工具的使用范围广泛。 Kubernetes 这个名字源于…

【CAN通信】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、CAN通信简介二、CAN通信的逻辑电平分析三、CAN通信的差分信号线设计CAN标准数据帧格式四、设备发送数据优先级总结 一、CAN通信简介 CAN&#xff08;Controlle…

速度快还看巡飞,筒射巡飞无人机技术详解

筒射巡飞无人机&#xff08;Launch and Recovery by Tube&#xff0c;LRAT或Launcher-Deployed Loitering Munition&#xff0c;LDLM&#xff09;作为一种新型无人机系统&#xff0c;近年来在军事和民用领域都展现出了巨大的潜力。以下是对筒射巡飞无人机技术的详细解析&#x…

如何使用 SSH 连接并管理你的 WordPress 网站

在当今数字化的世界里&#xff0c;网站的管理与维护至关重要。对于使用 WordPress 搭建网站的用户而言&#xff0c;掌握基本的 SSH&#xff08;安全壳&#xff09;命令能够极大地简化网站管理工作。本指南将向你介绍 SSH 的基本知识&#xff0c;并教你如何通过 SSH 连接和管理你…

低轨卫星互联网(二)—— 技术篇

撰写:我是吉米 低轨卫星互联网,地面移动网和卫星通信网融合如图1所示。 图1 低轨卫星互联网演进图 从技术演进发展初衷来看,地面移动网与卫星通信网各自演进,如图2所示。地面移动网旨在提供高速率、大容量、低时延、高移动服务,而卫星通信网则旨在提供广覆盖服务。低轨卫星…

51c大模型~合集18

我自己的原文哦~ https://blog.51cto.com/whaosoft/11621494 #SpatialBot 空间大模型&#xff1a;上交、斯坦福、智源、北大、牛津、东大联合推出&#xff01; 大模型走向空间智能、具身智能之路&#xff01; 智源&#xff0c;斯坦福&#xff0c;北大&#xff0c;牛津&…

OpenGL 异常处理-glCreateShader失败

【1】glCreateShader创建顶点着色器时候报错&#xff0c;如下 【2】原因分析 初始化失败&#xff0c;你使用一个扩extension loader library来访问现代OpenGL&#xff0c;当需要初始化它时&#xff0c;加载器需要一个当前的上下文来加载 【3】解决办法 GLenum glew_err gle…

git 工具原理

git 目录 git git的使用 了解git的三个区域 具体操作 如何下载别人上传到git的工程 -- 可以参考菜鸟教程&#xff0c;包括安装配置git Git 安装配置 | 菜鸟教程 -- Git 是一种分布式版本控制系统&#xff0c;用于管理软件项目的源代码。它是由 Linux 之父 Linus Torval…

Qt Udp的组播(多播)、广播和单播

UDP通讯的基本概念和特点‌ UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是‌TCP/IP协议族中的一种无连接协议&#xff0c;主要用于那些对实时性要求较高而可靠性要求较低的应用场景。UDP的主要特点包括&#xff1a; ‌无连接‌&#xff1a;…

搭建react项目

#pic_center 400x 参考文章&#xff1a; react开发环境搭建 系列文章&#xff1a; 文章目录 create-react-app安装reactnpm版本管理npm 镜像安装 create-react-app安装react 查看是否安装过create-react-app npm list create-react-app -- create-react-app5.0.1 # 输出版本…

Leetcode 两数之和 Ⅱ - 输入有序数组

这段代码实现了在一个非递减排序的数组中找到两个数&#xff0c;使它们的和等于目标值的算法。算法使用了双指针技术&#xff0c;具体思想如下&#xff1a; 算法思想&#xff1a; 初始化指针&#xff1a;定义两个指针 left 和 right&#xff0c;分别指向数组的起始位置和末尾位…

论文略读:GRAG:GraphRetrieval-Augmented Generation

202404 arxiv 1 motivation 在许多应用场景中&#xff0c;如科学文献网络、推荐系统和知识图谱&#xff0c;文档之间存在复杂的关联&#xff0c;这些关联在传统的RAG模型中常常被忽略 例如&#xff0c;在处理科学文献时&#xff0c;RAG仅基于文本相似性的检索方法无法充分利用…

103 - Lecture 1

Introduction to Database 一、Introduction to Database Systems 1. 数据的定义 What is Data? EX: data could be a docx file storing your project status report; data could be a spreadsheet containing information • 数据只有在设计的场景中才有意义。&#xff…

【论文复现】MSA+抑郁症模型总结(二)

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀MSA抑郁症模型 情感分析的应用1. 概述2. 论文地址3. 研究背景4. 主要贡献5. 模型结构和代码6. 数据集介绍7. 性能展示8. 复现过程9. 运行过程…

JavaScript 实现文本转语音功能

全篇大概2000 字&#xff08;含代码&#xff09;&#xff0c;建议阅读时间10分钟。 引言 我将向大家展示如何使用 JavaScript 和 Web Speech API 快速实现一个“文本转语音”的 Web 应用。通过这个教程&#xff0c;你将了解如何让浏览器将输入的文本朗读出来。 预览效果 一、…