当前位置: 首页 > news >正文

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

本文基于服务器端环境展开,使用的虚拟终端为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/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: 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博客

相关文章:

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

本文基于服务器端环境展开,使用的虚拟终端为Xshell。 miniconda miniconda是Anaconda的轻量版,仅包含Conda和Python,如果只做深度学习,可使用miniconda。 [注]:Anaconda、Conda与Miniconda Conda:创建和管…...

OpenCV相机标定与3D重建(66)对立体匹配生成的视差图(disparity map)进行验证的函数validateDisparity()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 使用左右检查来验证视差。矩阵 “cost” 应该由立体对应算法计算。 cv::validateDisparity 函数是 OpenCV 库中用于对立体匹配生成的视差图&…...

2025年新开局!谁在引领汽车AI风潮?

汽车AI革命已来。 在2025年伊始开幕的CES展上,AI汽车、AI座舱无疑成为了今年汽车行业的最大热点。其中不少车企在2025年CES上展示了其新一代AI座舱,为下一代智能汽车的人机交互、场景创新率先打样。 其中,东软集团也携带AI驱动、大数据支撑…...

Spring自定义BeanPostProcessor实现bean的代理Java动态代理知识

上文:https://blog.csdn.net/qq_26437925/article/details/145241149 中大致了解了spring aop的代理的实现,其实就是有个BeanPostProcessor代理了bean对象。顺便复习下java代理相关知识 目录 自定义BeanPostProcessor实现aopJava动态代理知识动态代理的几…...

三篇物联网漏洞挖掘综述

由于物联网设备存在硬件资源受限、硬件复杂异构, 代码、文档未公开的问题, 物联网设备的漏洞挖掘存在较大的挑战: 硬件资源受限性: 通用动态二进分析技术需要在运行程序外围实施监控分析。由于物联网设备存储资源(存储)的受限性,…...

Pytorch深度学习指南 卷I --编程基础(A Beginner‘s Guide) 第1章 一个简单的回归

本章正式开始使用pytorch的接口来实现对应的numpy的学习的过程,来学习模型的实现,我们会介绍numpy是如何学习的,以及我们如何一步步的通过torch的接口来实现简单化的过程,优雅的展示我们的代码,已经我们的代码完成的事…...

【EXCEL_VBA_实战】多工作薄合并深入理解

工作背景:多个工作薄存在冲突的名称,需快速合并 困难点:工作表移动复制时,若有冲突的名称,会不断弹出对话框待人工确认 思路:利用代码确认弹出的对话框 关键代码:Application.DisplayAlerts …...

mysql之表的外键约束

MySQL表的外键约束详细介绍及代码示例 外键约束是数据库中用于维护数据完整性和一致性的重要机制。它确保一个表中的数据与另一个表中的数据相关联,防止无效的数据引用。本文将详细介绍了外键约束的各个方面,并通过具体的代码示例进行演示。 1. 外键约束…...

Tuning the Go HTTP Client Settings

记录一次Go HTTP Client TIME_WAIT的优化 业务流程 分析 通过容器监控发现服务到事件总线的负载均衡之间有大量的短链接,回看一下代码 发送请求的代码 func SendToKEvent(ev *KEvent) error {data, err : json.Marshal(ev.Data)if err ! nil {return err}log.Pri…...

第二十四课 Vue中子组件调用父组件数据

Vue中子组件调用父组件数据 Vue是不建议在不同的组件直接传递值的&#xff0c;我们需要使用props方法来进行组件间的值传递 子组件调用父组件数据 父模板的数据&#xff0c;子组件是无法直接调用的 无法直接调用 1&#xff09;组件调用顶级对象中的data <div class&quo…...

Jenkins-pipeline语法说明

一. 简述&#xff1a; Jenkins Pipeline 是一种持续集成和持续交付&#xff08;CI/CD&#xff09;工具&#xff0c;它允许用户通过代码定义构建、测试和部署流程。 二. 关于jenkinsfile&#xff1a; 1. Sections部分&#xff1a; Pipeline里的Sections通常包含一个或多个Direc…...

小米Vela操作系统开源:AIoT时代的全新引擎

小米近日正式开源了其物联网嵌入式软件平台——Vela操作系统&#xff0c;并将其命名为OpenVela。这一举动在AIoT&#xff08;人工智能物联网&#xff09;领域掀起了不小的波澜&#xff0c;也为开发者们提供了一个强大的AI代码生成器和开发平台。OpenVela项目源代码已托管至GitH…...

NodeJs如何做API接口单元测试? --【elpis全栈项目】

NodeJs API接口单元测试 api单元测试需要用到的 assert&#xff1a;断言库 (还要一些断言库比如:Chai)supertest&#xff1a; 模拟http请求 简单的例子&#xff1a; const express require(express); const supertest require(supertest); const assert require(assert);…...

bundletool来特定设备规范的json安装aab包

1、获取自己设备的设备规范json java -jar ./bundletool.jar get-device-spec --outputj:/device-spec.json 2、根据设备规范生成apks包 java -jar ./bundletool.jar build-apks --device-specj:/device-spec.json --bundleapp-dev-release.aab --output随便的文件名.apks -…...

2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数

快速分解质因数 完整题目和在线测评可点击下方链接前往&#xff1a; 快速分解质因数_C_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/cpp/show-3781.htmlhttps://www.hixinao.com/tiku/cpp/show-3781.html 若如其他赛事真题可自行前往题库中心查找&#xff0c;题…...

.Net Core微服务入门全纪录(四)——Ocelot-API网关(上)

系列文章目录 1、.Net Core微服务入门系列&#xff08;一&#xff09;——项目搭建 2、.Net Core微服务入门全纪录&#xff08;二&#xff09;——Consul-服务注册与发现&#xff08;上&#xff09; 3、.Net Core微服务入门全纪录&#xff08;三&#xff09;——Consul-服务注…...

chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确

问题描述 chrome游览器又一款JSON插件叫JSON Formatter&#xff0c;游览器GET请求调用接口时&#xff0c;如果返回的数据是json格式&#xff0c;则会自动格式化展示&#xff0c;类似这样&#xff1a; 但是今天突然发现怎么也格式化不了&#xff0c;打开一个json文件倒是可以格…...

[Qt]系统相关-网络编程-TCP、UDP、HTTP协议

目录 前言 一、UDP网络编程 1.Qt项目文件 2.UDP类 QUdpSocket QNetworkDatagram 3.UDP回显服务器案例 细节 服务器设计 客户端设计 二、TCP网络编程 1.TCP类 QTcpServer QTcpSocket 2.TCP回显服务器案例 细节 服务器设计 客户端设计 三、HTTP客户端 1.HTTP…...

docker 安装 nginx 详解

在平常的开发工作中&#xff0c;我们经常会用到 nginx&#xff0c;那么在 docker 中 如何安装 nginx呢&#xff1f;又有哪些需要注意的事项呢&#xff1f;简单来说&#xff0c;第一步&#xff1a;拉取 nginx 镜像&#xff1b;第二步&#xff1a;创建 挂载目录并设置 nginx.conf…...

2025年大模型气象预测架构与商业化影响

随着人工智能技术,尤其是大模型(如深度学习、大规模神经网络)的飞速发展,气象预测的传统方法正在经历深刻变革。2025年,气象预测将借助大模型技术进入一个新的阶段。本文将从架构角度详细探讨2025年大模型在气象预测中的应用,并分析其对商业化的潜在影响。 一、2025年大模…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...