快速搭建深度学习环境(Linux:miniconda+pytorch+jupyter notebook)

news2025/1/24 2:13:41

本文基于服务器端环境展开,使用的虚拟终端为Xshell

miniconda

miniconda是Anaconda的轻量版,仅包含Conda和Python,如果只做深度学习,可使用miniconda。

[注]:Anaconda、Conda与Miniconda

  • Conda:创建和管理包的工具,支持创建和切换虚拟环境
  • Anaconda:集成了Conda、Python和科学包的发行版本,包含数理统计常用的包
  • Miniconda:仅包含Conda和Python

下载

1、切换到安装目录:默认安装在当前目录下

2、下载shell脚本

wget --user-agent="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12" -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
  • --user-agent:设置代理,以浏览器的身份请求,否则会反爬机制过滤导致数据包丢失。user-agent的介绍见这篇博文。
  • -c:断点续传。
  • Miniconda3-latest-Linux-x86_64.sh:待下载文件的名称
  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/:清华下载源
  • Miniconda3-latest-Linux-x86_64.sh:待下载文件的名称。可以访问清华下载源,根据系统环境选择合适的版本。系统的版本、架构等信息可通过uname -a命令查看。

命令执行完成后,通过ls进行确认。

安装

使用bash命令执行已下载的.sh文件进行安装。

bash Miniconda3-latest-Linux-x86_64.sh

命令执行过程中,根据提示操作即可(敲回车–>阅读协议–>输入yes同意协议–>输入安装路径–>输入yes进行初始化)。

激活

执行source ~/.bashrc命令或重新登录服务器。

行首出现(base)则表示激活成功。

可通过以下命令设置是否默认进入base环境:

#修改默认配置
conda config --set auto_activate_base false # 默认不进入base环境
conda config --set auto_activate_base true # 默认进入base环境

验证

执行命令conda --help,若打印指令说明则说明安装成功。

配置国内镜像源

1、查询配置文件所在路径:conda config --show-sources

2、更新配置文件,以下配置仅供参考(可能失效)

channels:
  - defaults
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
show_channel_urls: True

Conda的基本操作

1、创建虚拟环境:conda create --name [env_name]

2、激活虚拟环境:conda activate [env_name]

3、退出环境:ctrl+D

4、查看环境列表:conda env list

5、查看当前环境中的包:conda list

6、导出环境配置为.yaml文件:conda env export > environment.yaml

7、通过.yaml文件安装相关依赖:conda env create -f environment.yaml

Pytorch

安装

1、查看驱动所支持的最高CUDA API版本版本:执行命令nvidia-smi,表格首行-“CUDA Version”

※如 CUDA Version: 12.6

若环境中安装了CUDA ToolkitAnaconda,也可尝试这篇博文中的另外两种方法。

2、获取安装命令

  • 在这个页面的“INSTALL PYTORCH”一栏配置可选项(推荐使用pip安装)。

    ※Q:如何选择Compute Platform?

    答:可直接点选与CUDA Version最接近的选项。以下为本人习惯的做法,也可参考:

    • 在download.pytorch.org/whl/torch/检索与上一步骤中“CUDA Version”最接近的版本。

    • 替换下一步骤中下载链接的“cuxxx”

    如:当前版本为12.6,ctrl+F检索关键词“cu126”,发现没有匹配结果,那么继续尝试“cu125”、“cu124”以此类推。通过这个方法,可以得到当前最接近的版本为12.4,那么我们的下载命令就是:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

  • 复制生成的命令(在最后一行)

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
    

3、安装:执行上述命令

若下载速度较慢,可尝试使用国内的PyPI下载源。以阿里云镜像为例:

  • 单次使用

    在上述命令末尾加上参数-i http://mirrors.aliyun.com/pypi/simple --trusted-host pypi.douban.com

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 -i http://mirrors.aliyun.com/pypi/simple --trusted-host pypi.douban.com
    

验证

1、执行语句python,进入python命令行

2、依次执行以下语句:

import torch # 导入pytorch库
torch.cuda.is_available() # 如返回True,说明当前显卡可用

Jupyter Notebook

安装

若已安装Anaconda环境,可以跳过这一步。

注意⚠️

若希望将Jupyter的访问连接转移到XManager,请在启动Jupyter前确保XManager可以正常运行,且能被Xshell调起。

安装命令如下:

pip install jupyter

验证:jupyter notebook,若能启动,说明安装正常。

在本机浏览器访问使用

1、生成配置文件:jupyter notebook --generate-config

该命令会生成一个.py格式的配置文件,并返回文件的路径

2、设置jupyter的密码:jupyter notebook password

3、查看Hash密钥:vim ~/.jupyter/jupyter_server_config.json

4、修改步骤一生成的配置文件

c.ServerAPP.ip = '*' # 允许所有ip皆可访问
c.ServerAPP.password = 'argon2:$argon2id$v=xx$m=xxx,t=xxx,p=xxxxx' #步骤三的密钥
c.ServerAPP.open_browser = False # 禁止自动打开浏览器  
c.ServerAPP.port = 8888 # 设置运行端口  
c.ServerAPP.allow_remote_access  = True # 允许远程访问

在vim编辑器中查找配置项的方法:

  • 在查看模式输入/+查询内容+回车
  • 查找下一个结果:n
  • 查找上一个结果:N

5、在Xshell中配置SSH隧道

  • 在左侧会话列表右键当前会话,打开“属性”窗口
  • 在左侧“类别”一栏选择“连接-SSH-隧道”
  • 在“TCP/IP转移”栏添加一条规则,“侦听端口”和“目标端口”都填步骤四中配置的c.ServerAPP.port参数值,其它参数不用改
  • “X11转移”栏中,取消勾选“转发X11连接到”
  • 点击确定。此时设置不会生效,需要重新连接服务器

在这里插入图片描述

6、启动:jupyter notebook

该命令将启动notebook和Jupyterlab。

可以使用screen命令将Jupyter服务挂到后台执行,例如:

screen -S JupyterServer #创建并进入会话
jupyter notebook #启动。ctrl+D可以退出会话(进程将被挂起到后台运行)
screen -dr JupyterServer #恢复会话

7、访问:在本地浏览器中通过以下url访问

  • lab:http://127.0.0.1:port/lab
  • notebook:http://127.0.0.1:port/tree

port为步骤四的c.ServerAPP.port,password为步骤二中设置的密码

大功告成!

参考

  • Linux安装conda - 知乎
  • Ubuntu wget 403_安装ubuntu24.04服务器报403错误-CSDN博客
  • Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  • 【pip 安装】国内 pip 镜像源换源方法以及 pip 基本操作-CSDN博客
  • PyTorch
  • conda和pip安装流程、源配置、常用命令 | Anaconda 、Miniconda 和 conda 的区别 | conda和pip的区别_miniconda和conda的区别-CSDN博客
  • User-Agent代理的作用(最易懂!!)_user-agent的作用-CSDN博客
  • 远程linux服务器中安装jupyter通过本地浏览器访问使用_服务器jupyter 本地浏览器访问-CSDN博客

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

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

相关文章

部门管理查询部门,nginx反向代理,前端如何访问到后端Tomcat 注解@RequestParam

接口开发 增删改通常是不用返回data数据,返回null 列表查询-结果封装,时间 前后端联调测试 nginx反向代理,前端如何访问到后端Tomcat服务器 删除部门

PID 控制算法(二):C 语言实现与应用

在本文中,我们将用 C 语言实现一个简单的 PID 控制器,并通过一个示例来演示如何使用 PID 控制算法来调整系统的状态(如温度、速度等)。同时,我们也会解释每个控制参数如何影响系统的表现。 什么是 PID 控制器&#xf…

AutoSar架构学习笔记

1.AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)是一个针对汽车行业的软件架构标准,旨在提升汽车电子系统的模块化、可扩展性、可重用性和互操作性。AUTOSAR的目标是为汽车电子控制单元(ECU&#xf…

RTMP|RTSP播放器只解码视频关键帧功能探讨

技术背景 我们在做RTMP|RTSP直播播放器的时候,遇到过这样的技术诉求,在一些特定的应用场景中,可能只需要关键帧的信息,例如视频内容分析系统,可能只对关键帧进行分析,以提取特征、检测对象或场景变化。鉴于…

C#防止重复提交

C#防止重复提交 文章目录 C#防止重复提交前言防止重复提交的思路Web API 防止重复提交代码实现代码讲解使用方法 MVC防止重复提交总结 前言 当用户在前端进行提交数据时,如果网络出现卡顿和前端没有给出响应的话顾客通常都会狂点提交按钮,这样就很容易导…

基于深度学习的视觉检测小项目(十五) 用户的登录界面

用户管理离不开的是消息框(QMessageBox)和对话框(QDialog),比如对话框用于用户名和密码输入,消息框用于提示登录成功、密码错误。 • 基础知识:PySide6(PyQT5)的常用对话…

在 Kubernetes 上快速安装 KubeSphere v4.1.2

目录标题 安装文档配置repo安装使用插件 安装文档 在 Kubernetes 上快速安装 KubeSphere 配置repo export https_proxy10.10.x.x:7890 helm repo add stable https://charts.helm.sh/stable helm repo update安装 helm upgrade --install -n kubesphere-system --create-name…

CPU 缓存基础知识

并发编程首先需要简单了解下现代CPU相关知识。通过一些简单的图,简单的代码,来认识CPU以及一些常见的问题。 目录 CPU存储与缓存的引入常见的三级缓存结构缓存一致性协议MESI协议缓存行 cache line 通过代码实例认识缓存行的重要性 CPU指令的乱序执行通过…

江天科技主要产品销售单价下滑,应收账款、存货周转率大幅下降

《港湾商业观察》廖紫雯 日前,苏州江天包装科技股份有限公司(以下简称:江天科技)冲击北交所,保荐机构为国投证券。 江天科技主要从事标签印刷产品的研发、生产与销售,公司主要产品包括薄膜类和纸张类的不…

Unity中在UI上画线

在UI中画一条曲线 我封装了一个组件,可以实现基本的画线需求. 效果 按住鼠标左键随手一画. 用起来也很简单,将组件挂到空物体上就行了,红色的背景是Panel. 你可以将该组件理解为一个Image,只不过形状更灵活一些罢了,所以它要放在下面的层级(不然可能会被挡住). 代码 可以…

Cloud Foundry,K8S,Mesos Marathon弹性扩缩容特性对比

一、Cloud Foundry 使用Scaling an Application Using App Autoscaler插件,基于资源使用情况触发简单扩缩容 CPU、内存、Http带宽、延时等 监控这些资源的使用情况决定扩缩容策略:实例是增加还是减少 Instance Limits 限制实例数量范围,定义…

Qt —— 控件属性

一、概述 控件有很多属性,我们学习和整理常见和常用的几个属性,由于所有的控件基本都是继承Widget类的,所以前面会先拿Widget类和常见的控件进行示范。 Qt Designer左侧一长条就是Qt给我们内置好的控件: 二、enabled 状态属性 …

vue+高德API搭建前端Echarts图表页面

利用vue搭建Echarts图表页面,在搭建Echarts图表中,如果搭建地理地形图需要准备一些额外的文件,地理json文件和js文件,js文件目前在网上只能找省一级的,json文件有对应的省市县,js文件和json文件对应的也是不…

Gartner发布2025年网络治理、风险与合规战略路线图

新型网络风险和合规义务,日益成为网络治理、风险与合规实践面临的问题。安全和风险管理领导者可以参考本文,实现从被动、专注于合规的方法到主动、进一步自动化方法的转型。 主要发现 不断变化的监管环境和不断扩大的攻击面,使企业机构难以实…

Redis 集群模式入门

Redis 集群模式入门 一、简介 Redis 有三种集群模式:主从模式、Sentinel 哨兵模式、cluster 分片模式 主从复制(Master-Slave Replication): 在这种模式下,数据可以从一个 Redis 实例(主节点 Master)复…

查看电脑或笔记本CPU的核心数方法及CPU详细信息

一、通过任务管理器查看 1.打开任务管理器 可以按下“Ctrl Shift Esc”组合键,或者按下“Ctrl Alt Delete”组合键后选择“任务管理器”来打开。 2.查看CPU信息 在任务管理器界面中,点击“性能”标签页,找到CPU使用记录区域&#xff0c…

光学遥感显著性目标检测2023-2024论文学习

GRSL 2023: Attention-Aware Three-Branch Network for Salient Object Detection in Remote Sensing Images 基于encoder-decoder框架,提出了一系列缝合模块,GCA,FDUC,MSDC,RA。 GRSL 2023:OR…

Kubernetes 集群中安装和配置 Kubernetes Dashboard

前言 上篇成功部署Kubernetes集群后,为了方便管理和监控集群资源,安装Kubernetes Dashboard显得尤为重要。Kubernetes Dashboard 是一个通用的、基于 Web 的 UI,旨在让用户轻松地部署容器化应用到 Kubernetes 集群,并对这些应用进…

2025西湖论剑-babytrace

前言 就做了下题目,pwn1/3 都是签到,pwn2 后面绕 ptrace 有点意思,简单记录一下 漏洞分析 子进程中的读/写功能没有检查负数的情况,存在越界读写: void __fastcall get_value(__int64 *int64_arr) {__int64 ll; //…

HarmonyOS Next 应用UI生成工具介绍

背景 HarmonyOS Next适配开发过程中难买难要参考之前逻辑,但是可能时间较长文档不全,只能参考Android或iOS代码,有些逻辑较重的场景还可以通过AI工具将Android 的Java代码逻辑转成TS完成部分复用。对于一些UI场景只能手动去写,虽…