win11,vscode上用docker环境跑项目

news2024/12/25 9:35:22

1.首先用dockerfile创建docker镜像

以下是dockerfile文件的内容:

FROM pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel
LABEL Service="SparseInstanceActivation"

ENV TZ=Europe/Moscow
ENV DETECTRON_TAG=v0.6
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-key del 7fa2af80 && \
    apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub && \
    apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
RUN apt update && apt install vim git g++ python3-tk ffmpeg libsm6 libxext6 -y

RUN python3 -m pip install --no-cache-dir --upgrade pip && \
    python3 -m pip install --no-cache-dir opencv-python opencv-contrib-python scipy cython
RUN python3 -m pip install --no-cache-dir pycocotools>=2.0.2

WORKDIR /workspace
RUN git clone https://github.com/facebookresearch/detectron2.git && \
    cd detectron2/ && git checkout tags/${DETECTRON_TAG} && python3 setup.py build develop

RUN python3 -m pip uninstall -y iopath fvcore portalocker yacs && \
    python3 -m pip install --no-cache-dir iopath fvcore portalocker yacs timm pyyaml==6.0.1 shapely

RUN git clone https://github.com/hustvl/SparseInst
WORKDIR /workspace/SparseInst
RUN ln -s /usr/bin/python3 /usr/bin/python

ENTRYPOINT bash

在该dockerfile文件的目录下打开终端

然后在终端里执行(要挂梯子)

docker build -t my_custom_image .

经过一段时间的下载之后就能看到镜像

2.打开vscode安装docker和dev Containers插件

3.然后将刚刚的docker镜像运行为容器,有两种方式:

1.

2.使用指令,将docker镜像运行为容器。可以顺带把docker容器里的文件对应到本机目录下的文件,方便之后调试代码(推荐方式)

docker run -it  --gpus all --name gpu_test -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  -v I:\Code\PythonCode\GithubPrioject\SparseInst-main:/workspace --name SparseInst   my_custom_image:latest  bash

#docker run -it --gpus all --name gpu_test -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  -v [本地目录]:[容器目录]  [镜像名字]

成功运行起来之后会看到有个绿色的三角形在自己创建的容器名字旁边:

4.用vscode在运行docker容器里的代码

按图点击,会出现弹窗

然后就能愉快跑项目了

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

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

相关文章

JavaScript:js;知识回顾;笔记分享

一,js前奏 1,js简介: Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题&a…

数据结构与算法(1)

抽象数据类型定义 算法的效率 时间效率 一个算法的运行时间是指一个算法在计算机上运行所耗费的时间 大致可以等于计算机执行一种简单的操作(如赋值、比较、移动等) 所需的时间与算法中进行的简单操作次数乘积。 比较时间复杂度(看数量级) 空…

【STM32】RTC

忠实的时间记录者——RTC,板子断电也能继续记录(当然,得有纽扣电池供电)。 大部分图片来源:正点原子HAL库课程 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 概述 2 应用 3 RTC方案 4 …

javacv-ffmpeg ProcessBuilder批量旋转图片

javacv-ffmpeg ProcessBuilder实现对图片的旋转,最近需要处理很多图片,量有点多,所以不能一个一个去编辑旋转图片,所以写一个工具类,实现对图片的旋转 maven配置文件,加上对ffmpeg的依赖,由于f…

关于自定义控件,头文件找不到问题的解决办法

在ui文件中使用控件提升的时候,突然发现ui_xxxx.h竟然报错了, 这在之前是没有碰到过,苦思过后认为是环境变量的问题,因为现在正在用的构建套件是 mingw 的,但在此之前我一直用的是msvc,并且环境变量的配置…

骑行耳机该怎么选?精选南卡、骨聆、小米多款顶尖实用品牌!

骨传导耳机,作为运动骑行领域的黑科技伴侣,以其独特的传音方式,让众多骑行运动爱好者在享受音乐的同时,依然能清晰感知外界环境,提升运动安全与乐趣。然而,随着骨传导耳机热度增加,市面上开始出…

Prometheus监控Kubernetes ETCD

文章目录 一、kubeadm方式部署etcd1.修改etcd指标接口监听地址2.prometheus中添加etcd的服务发现配置3.创建etcd的service4.grafana添加etcd监控模版 二、二进制方式部署k8s etcd1.将etcd服务代理到k8s集群2.创建etcd证书的secrets3.prometheus挂载etcd证书的secrets4.promethe…

63. 不同路径 II -dp7

63. 不同路径 IIhttps://leetcode.cn/problems/unique-paths-ii/ 输入:obstacleGrid [[0,0,0],[0,1,0],[0,0,0]] 输出:2 解释:3x3 网格的正中间有一个障碍物。 从左上角到右下角一共有 2 条不同的路径: 1. 向右 -> 向右 ->…

Chrome 中的 RCE 会在 JIT 编译器中产生不正确的副作用

此类漏洞通常是“一键式”攻击的起点,当受害者访问恶意网站时,该漏洞会危害受害者的设备。Chrome 中的渲染器 RCE 允许攻击者危害 Chrome 渲染器进程并执行任意代码。但是,渲染器进程的权限有限,因此攻击者需要将此类漏洞与第二个“沙盒逃逸”漏洞串联起来:Chrome 浏览器进…

C#WinFrom 中实现可自定义按钮和事件的消息提示框

实现效果: public partial class CustomMessageBox : Form {// 声明按钮和标签控件private Button btnOption1;private Button btnOption2;private Label lblMessage;// 自定义属性用于获取对话框的结果public DialogResult DialogResult1 { get; private set; }// …

一文弄懂SQL事务隔离级别

SQL 事务隔离级别 在多用户数据库系统中,为了保证数据的完整性和一致性,SQL 标准提出了四种事务隔离级别,以规避脏读、不可重复读和幻读等问题。以下是四种隔离级别的简要介绍: 读未提交(read uncommitted&#xff09…

产业报告 | 2024年中国低空经济产业研究报告

低空经济是指以各种有人驾驶和无人驾驶航空器的各类低空飞行活动为牵引,辐射带动航空器研发、生产、销售以及低空飞行活动相关的基础设施建设运营、飞行保障、衍生综合服务等领域产业融合发展的综合经济形态。 基于启信产业大脑的海量数据与专业研判模型&#xff0…

【Linux C++】log4cpp日志库的安装和使用详解

log4cpp 是一个开源的 C 日志库,灵感来源于 Java 的 log4j。它提供了灵活的日志记录功能,可以帮助开发者在 C 应用程序中记录、管理和格式化日志信息。log4cpp 支持多种日志记录策略和输出目标,可以满足各种不同的需求。 1.安装 下载压缩包…

2.2.2 Posix API与网络协议栈2

接上回2.2.2 posix api 2 传输数据 四线一⚪,kernel 协议栈 send- write, recv-read 如何知道send成功? 如果返回整数,只能证明data从user copy到内核kernel wmemory了 就是数据传输是异步的,send是从application cop…

二叉树的层序遍历 C++

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]示例 2: 输入&…

李宏毅 机器学习与深度学习【2022版】 02

文章目录 一、机器学习任务攻略二、优化失败1、梯度很小的情况2、Batch and Momentum 三、自适应学习率 Adaptive Learning Rate四、分类问题简述五、重温神奇宝贝和数码宝贝分类器六、深度学习的优化 一、机器学习任务攻略 因为在训练集中,56层的network一定至少和…

等保测评(三级)服务器和终端-测评项及整改措施(详细)

本文按照三级等保标准进行测评,可参考进行加固。 等保测评是信息安全等级保护工作的基本制度、基本策略和基本方法。 等保测评是信息安全等级保护工作的基本制度、基本策略和基本方法。信息系统运营、使用单位应选择符合国家要求的测评机构,依据《信息…

Java中常用的API

具体的例子就不再列出了 自己尝试 // 注意第三个方法 1.如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错 2.如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型 public cl…

并发服务器---IO多路复用

单循环服务器:同一时刻只能处理一个客户端任务 并发服务器: 同一时刻,只能处理多个客户端的任务 实现方法:多进程 多线程 IO多路复用 IO多路复用: 1.阻塞io(fgets scanf recv getchar read&#x…

【python计算机视觉编程——1.基本的图像操作和处理】

python计算机视觉编程——1.基本的图像操作和处理 1.基本的图像操作和处理1.1 PIL:Python图像处理类库1.1.1 转换图像格式1.1.2 创建缩略图1.1.3 复制和粘贴图像区域1.1.4 调整尺寸和旋转 1.2 Matplotlib1.2.1绘制图像、点和线1.2.2 图像轮廓和直方图 1.3 Numpy1.3.1 图像数组表…