在windows10系统上安装docker,然后在容器中运行GPU版本的Pytorch,并使用vscode连接该容器

一 . 安装Docker Desktop

  1. 首先打开网址https://docs.docker.com/desktop/install/windows-install/
    在这里插入图片描述

  2. 下载完后,双击下面的exe文件进行安装,默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker
    在这里插入图片描述

  3. 出现提示时,请确保根据您选择的后端,在配置页面上选择使用 WSL 2 而不是 Hyper-V选项。
    如果您的系统仅支持两个选项中的一个,您将无法选择使用哪个后端。

  4. 按照安装向导上的说明授权安装程序并继续安装。

  5. 安装成功后,选择关闭,完成安装过程。

  6. Docker Desktop的界面说明,使用方法,配置镜像源,镜像存放路径修改
    可以参考https://blog.csdn.net/GoodburghCottage/article/details/131413312

  7. 安装完成Docker Desktop后,首先打开Docker Desktop,然后就可以在终端执行docker相关命令(此时就不要再使用命令systemctl start docker来启动Docker,因为它默认已经自动启动),如下所示:
    在这里插入图片描述

二. 在容器中运行 GPU版本的pytorch

这里共有两种方法,其中方法一是直接拉取一个pytorch镜像,然后运行这个镜像即可;方法二是拉取一个带有cuda和cudnn的ubuntu系统镜像,然后运行该镜像并在里面安装pytorch。

显然,第一种方法更简单。

方法一

  1. 打开网址:https://catalog.ngc.nvidia.com/containers,网页界面如下所示:
    在这里插入图片描述
  2. 查看不同版本的pytorch镜像所包括的信息

注意:pytorch镜像的版本和pytorch版本并不等同,不同版本的pytorch镜像中所安装的pytorch版本可能是不同的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 查看不同版本的Pytorch镜像
    在这里插入图片描述
  2. 这里以22.03版本的pytorch为例,进行镜像的拉取和运行操作
    在这里插入图片描述
    在这里插入图片描述

方法二

可以参考https://blog.csdn.net/qq_41204464/article/details/132891018

三. 使用vscode连接容器

  1. 首先安装docker插件
    在这里插入图片描述
    安装完该插件后,在vscode左侧会显示docker图标,并且也会展示本地的所有镜像和容器在这里插入图片描述​此时就可以在通过vscode终端连接到容器内部,具体操作如下:

注意:此时虽然可以连接容器,但是调试容器内部的代码非常不方便,所以还需要安装另外一个插件

在这里插入图片描述
2. 安装Dev Containers插件
在这里插入图片描述
3. 进入docker中的容器内部
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 在容器内部运行代码
    在这里插入图片描述
  2. 在容器内部调试代码
    在这里插入图片描述

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

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

相关文章

基于SpringBoot + Vue 的房屋租赁系统

基于springboot的房屋租赁管理系统-带万字文档 SpringBootVue房屋租赁管理系统 送文档 本项目有前台和后台两部分、多角色模块、不同角色权限不一样 共分三种角色:用户、管理员、房东 管理员:个人中心、房屋类型管理、房屋信息管理、预约看房管理、合…

C++特性——智能指针

为什么需要智能指针 对于定义的局部变量,当作用域结束之后,就会自动回收,这没有什么问题。 当时用new delete的时候,就是动态分配对象的时候,如果new了一个变量,但却没有delete,这会造成内存泄…

C语言之 循环语句:程序运行的核心动力(上)

个人主页:strive-debug 在 C 语言中,分支结构可以通过 if、switch 语句来实现,循环结构则可以通过 for、while、do while 语句来实现。 if 语句 if 语句的语法形式如下: if (表达式)语句; 如果表达式成立(为真&am…

FreeRTOSBug解析:一个任务printf打印一半突然跳转另一个任务,导致另一个任务无法打印

bug现象: key任务: 默认任务: 此时两个任务的优先级相同,抢占式调度,时间片轮转,空闲任务让步。 但是会出现一个问题,key任务在发送完队列之后不会立即跳转到默认任务的队列接收函数后的print…

操作系统八股文整理(一)

操作系统八股文整理 一、进程和线程的区别二、进程与线程的切换过程一、进程切换进程切换的步骤: 二、线程切换线程切换的步骤: 三、进程切换与线程切换的对比四、上下文切换的优化 三、系统调用一、系统调用的触发二、从用户空间切换到内核空间三、执行…

卷积神经网络(CNN)之 EfficientNet

在深度学习领域,模型的计算效率与性能之间的平衡一直是一个核心挑战。随着卷积神经网络(CNN)在图像分类、目标检测等任务中取得显著成果,模型的复杂度和计算需求也急剧增加。2019年,Google Research 提出的 EfficientN…

学生选课管理系统数据库设计报告

学生选课管理系统数据库设计报告 一、需求分析 (一)项目背景 学生选课管理系统是高校教学管理的重要组成部分,旨在实现学生选课、课程管理、成绩录入与查询等功能的自动化和信息化。通过该系统,学生可以方便地选择课程&#xf…

工具介绍《Awsome-Redis-Rogue-Server 与 redis-rogue-server》

1. 核心功能与攻击场景 redis-rogue-server 基于Redis主从复制漏洞(CVE未公开),针对Redis 4.x~5.0.5版本设计,通过伪造恶意主节点强制同步恶意模块(.so文件)实现远程代码执行(RCE)。…

Razor C# 变量

Razor C# 变量 引言 在ASP.NET MVC和Razor视图引擎中,变量是构建动态网页的基础。理解Razor C#变量的使用对于开发者来说至关重要。本文将详细介绍Razor C#变量的概念、类型、作用域以及如何在实际项目中有效使用它们。 一、Razor C# 变量的概念 Razor C# 变量是存储在Raz…

【QA】模板方法模式在Qt中有哪些应用?

在 Qt 框架中,模板方法模式(Template Method Pattern)被广泛应用于框架的设计中,通过定义算法骨架并允许子类在不改变结构的情况下重写部分步骤。以下是 Qt 中典型的应用场景及示例: 1. 事件处理(Event Ha…

有趣的算法实践:整数反转与回文检测(Java实现)

题目描述:整数反转与回文检测 要求实现两个功能: 将输入的整数反转(保留符号,如输入-123返回-321)判断反转后的数是否为回文数(正反读相同) 示例: 输入:123 → 反转结…

【协作开发】低成本一键复刻github的gitea

在阅读 next-public 时,反思原本的需求,是否本未倒置,故而重新调研当下开源现状。发现 gitea 完全满足商业软件的开发要求,并且价格足够低,使用足够方便,其他同类软件完全不用看了,真是世界级的…

基于“动手学强化学习”的知识点(二):第 15 章 模仿学习(gym版本 >= 0.26)

第 15 章 模仿学习(gym版本 > 0.26) 摘要 摘要 本系列知识点讲解基于动手学强化学习中的内容进行详细的疑难点分析!具体内容请阅读动手学强化学习! 对应动手学强化学习——模仿学习 # -*- coding: utf-8 -*-import gy…

JAVA面试_进阶部分_Java JVM:垃圾回收(GC 在什么时候,对什么东西,做了什么事情)

在什么时候: 首先需要知道,GC又分为minor GC 和 Full GC(major GC)。Java堆内存分为新生代和老年代,新生代 中又分为1个eden区和两个Survior区域。 一般情况下,新创建的对象都会被分配到eden区&#xff…

2024年消费者权益数据分析

📅 2024年315消费者权益数据分析 数据见:https://mp.weixin.qq.com/s/eV5GoionxhGpw7PunhOVnQ 一、引言 在数字化时代,消费者维权数据对于市场监管、商家诚信和行业发展具有重要价值。本文基于 2024年315平台线上投诉数据,采用数…

设计模式Python版 访问者模式

文章目录 前言一、访问者模式二、访问者模式示例 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组…

安全无事故连续天数计算,python 时间工具的高效利用

安全天数计算,数据系统时间直取,安全标准高效便捷好用。 笔记模板由python脚本于2025-03-17 23:50:52创建,本篇笔记适合对python时间工具有研究欲的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验&am…

大型语言模型(LLM)部署中的内存消耗计算

在部署大型语言模型(LLM)时,显存(VRAM)的合理规划是决定模型能否高效运行的核心问题。本文将通过详细的公式推导和示例计算,系统解析模型权重、键值缓存(KV Cache)、激活内存及额外开…

Mysql表的查询

一:创建一个新的数据库(companydb),并查看数据库。 二:使用该数据库,并创建表worker。 mysql> use companydb;mysql> CREATE TABLE worker(-> 部门号 INT(11) NOT NULL,-> 职工号 INT(11) NOT NULL,-> 工作时间 D…

ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术

本文涉及ASP.NET Webform和ASP.NET MVC 后台开发大概80%技术 2019年以前对标 深圳22K左右 广州18K左右 武汉16K左右 那么有人问了2019年以后的呢? 答:吉祥三宝。。。 So 想继续看下文的 得有自己的独立判断能力。 C#.NET高级笔试题 架构 优化 性能提…