基于docker-compose和ngc cloud快速创建指定pytorch版本的jupyter-lab环境

Docker:使用Nvidia官方的pytorch、tensorflow、TensorRT镜像创建Container容器 相信大家在学习新的知识前都遇到过开发环境安装不上,或者环境冲突和版本不匹配的情况,如果我们使用虚拟机或者WSL技术新建一个完整系统,这又往往需要耗费很长时间,同时在我们学习深度学习等相关技术时,CUDA、cuDNN、cuBLAS、TensorRT等GPU支持库都有强版本依赖,手动安装需要耗费很长时间,本文将以创建一个包含python=3.8、CUDA=12.1、cuBLAS=12.1 、cuDNN=8.9、TensorRT=8.6.1、pytorch的container为例,介绍使用docker创建容器。 阅读详情

简介

本博客以构建指定版本的pytorch运行环境为例,给出Dockerfile、docker-compose.yml以及启动容器的运行脚本。

找到想要的容器

从中 https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/overview.html#overview中找到想要的镜像版本。本文以torch 1.8为例,要安装的镜像版本为pytorch:20.12-py3
在https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch/tags中找到镜像的pull tag:

docker pull nvcr.io/nvidia/pytorch:20.12-py3

文件目录

文件目录如下

  • torch_1_8
    • Dockerfile
    • run.sh
    • docker-compose.yml

Dockerfile

FROM nvcr.io/nvidia/pytorch:20.12-py3 # 此处修改为根镜像的tag
MAINTAINER yourname

RUN apt-get update
RUN apt-get install -y openssh-server curl screen
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && apt install -y nodejs

RUN python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlab ipympl nodejs ptvsd
RUN jupyter labextension install @jupyterlab/debugger
RUN conda install xeus-python -c conda-forge

RUN sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -ri 's/^#PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config

COPY run.sh /run.sh
RUN chmod 777 /run.sh

ENV NOTEBOOK_APP_TOKEN=jupyter_passwd NOTEBOOK_DIR=/data # 此处设定jupyterlab的访问密码以及容器内的数据路径
RUN echo "root:ssh_passwd" | chpasswd

# ssh
EXPOSE 22
# jupyter
EXPOSE 8888
# tensorboard
EXPOSE 6006

docker-compose.yml

version: '3'
services:
  dl:
    build: .
    entrypoint: /run.sh
    ports:
      - "12222:22"   #对应ssh端口,注意填写前先查看端口号占用情况(可只更改x)
      - "18888:8888" #对应jupyter端口,注意填写前先查看端口号占用情况(可只更改x)
      - "16006:6006" #tensorboard
    volumes:
      - ${host_data}:/data # {要挂载的主机数据目录}:{容器内的数据目录}
    cap_add:
      - SYS_ADMIN
      - DAC_READ_SEARCH
    security_opt:
      - apparmor:unconfined
    deploy:
      restart_policy:
        condition: on-failure
      resources:
        reservations:
          devices:
            - driver: nvidia
              device_ids: ['2'] # gpu编号,可以写多个
              capabilities: [gpu]

run.sh

#!/bin/bash
service ssh start # 容器打开时打开ssh sever
jupyter lab  --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token=${NOTEBOOK_APP_TOKEN} --notebook-dir=${NOTEBOOK_DIR}

docker-compose构建镜像及启动容器

构建镜像同时启动容器

docker-compose up -d

关闭并删除容器

docker-compose down

构建镜像

docker-compose build

容器的访问

ssh访问

ssh访问机器的12222端口,账户为root,密码ssh_passwd

浏览器访问upyter lab

浏览器访问18888端口,密码为jupyter_passwd

【Tools】NGC Pytorch使用 NGC:Nvidia Gpu Container https://www.nvidia.cn/gpu-cloud/deep-learning-containers/ NVIDIA GPU Cloud (NGC) NGC 提供的高性能 AI 容器包含 TensorFlow、PyTorch 和 MXNet 等深度学习框架,可以为 AI 研究人员提供诸多帮助。这些预先集成的 GPU 加速框架以及诸如 CUDA 运行时库、NVIDIA 库和操作系统之类的所有必要相关项都由 NVIDIA 进行了调整、测试和验证,现 阅读详情

相关推荐

使用 Docker + NVidia 运行 Pytorch 验证 GPU 是否真的有效

继续带 GPU 干活之旅,完成先决条件的理解与深入。

ndscvipuser的专栏 4192

pytorch学习

1.pytorch环境配置(docker) docker环境--配置过程(配置成功--能使用nvidia-docker命令) 拉取pytorch镜像--参考网站(命令--docker pull nvcr.io/nvidia/pytorch:19.01-py3) 启动docker容器--参考网站(命令--sudo nvidia-docker run -it --rm -v local_dir:...

lantuxin的博客 5485

在 Windows 下的 Docker + NVidia 验证运行 Pytorch GPU 并使用 prettytable 打印漂亮输出

注意这样的代码会有计算结果的差别:`torch.mm(tensor_gpu, tensor_gpu).cpu()` ,它是一个张量的方法,用于将张量从 GPU 内存转移到 CPU 内存。它的作用是将计算结果从 GPU 上移动到 CPU 上,以便在 CPU 上进行后续的操作或访问结果。需要注意的是,频繁地在 GPU 和 CPU 之间移动数据可能会影响性能,因为数据传输是一个相对较慢的操作。可以看到随着 dim_number 的增加,CPU 一直都是递增成正比的,而 GPU 从 2000 开始就是良好的开端。

ndscvipuser的专栏 1603

NVIDIA PyTorch Docker 镜像安装

是一个 NVIDIA 提供的 PyTorch Docker 镜像,其中包含了 PyTorch 以及与 NVIDIA GPU 相关的库,这个过程可能会需要一些时间,取决于你的网络速度和镜像大小。运行此命令后,你将进入容器的 bash shell。表示将容器的8888端口映射到宿主机的8888端口,这样就能从宿主机访问容器中的服务。参数指定使用所有可用的 GPU,如果你想使用特定的 GPU,可以例如使用。如果需要挂载宿主机的目录到容器中,可以使用。如果想要使用指定的端口,需要增加。表示这个镜像的版本号,

星辰火之梦 3809

Torch-TensorRT安装、简单使用;查看显卡实时情况nvitop、nvidia-smi、gpustat

***因为需要各种tensort、cuda等环境配置,所以可以直接安装索引环境都已经搭好的docker 参考:https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch ****** docker images:nvcr.io/nvidia/pytorch 22.05-py3 14.6GB*****运行: 进入docker: 2、简单使用Torch-TensorRT 参考:https://

weixin_42357472的博客 4760

火山引擎之火山方舟知识库+OpenWebUI,搭建独属于自己的AI智能客服

创建接入点,接入点名称可按个人需求而定,比如Doubao-1.5-pro-32k,在添加模型选择Doubao-1.5-pro-32k,点击确定(PS:有些模型不支持知识库,若发现后续无法选择,请重新创建推理接入点。选择应用广场,创建零代码应用,在创建好的应用设置内编辑相关信息,并选择推理接入点,即先前建好的推理接入点;此处的模型名称是火山的模型ID名称,可在OpenWebUI设置-模型 中修改名称。至此所需的apikey和模型ID和请求的api地址(可选配置,非本文重点参数)。进入火山官网,注册账号。

AmaZInGvCH的博客 2651

docker简单使用

docker简单使用

weixin_46455141的博客 1483

GD32F470实战:如何用EXMC+SDRAM搞定LVGL大内存需求(附完整代码)

本文详细介绍了如何在GD32F470微控制器上通过EXMC接口驱动外部SDRAM,以满足LVGL图形库的大内存需求。内容涵盖硬件连接、EXMC时序配置、轻量级内存管理器实现,以及将LVGL帧缓冲和资源无缝集成到SDRAM的实战方法,并提供了完整的代码示例和调试技巧,帮助开发者构建稳定可靠的嵌入式GUI系统。

k9l0m1的博客 442

docker run使用--gpus all报错

缺少依赖nvidia-container-toolkit(需yum安装)加载NVIDIA驱动nvidia-smi。验证可识别宿主机显卡。

dacming的博客 2672

Rocky Linux 8.10下用cephadm快速搭建Ceph集群(附华为云镜像源配置)

本文详细介绍了在Rocky Linux 8.10操作系统上使用cephadm快速部署Ceph集群的实战指南,包括环境准备、系统配置、华为云镜像源优化、集群初始化及节点扩展等关键步骤。通过配置华为云镜像源,显著提升部署效率,适合企业级存储解决方案的需求。

weixin_30839881的博客 147

Silvaco TCAD仿真例库——肖特基二极管正向特性(例子)

此示例演示了肖特基二极管正向特性的仿真。 展示了: 使用 Atlas 语法形成二极管结构 设置阳极的肖特基势垒高度 正向偏置阳极 代码 第一部分:描述设备 mesh(网格) electrodes locations(电极位置) doping distribution(掺杂分布) 这是位于结构左侧和右侧的,2维n型器件,具有重掺杂浮动 p 型保护环区域, (2D n-type device with heavily doped floating p-type guard ring regio.

weixin_41788560的博客 2万+

使用Dockerfile构建一个包含NVIDIA的PyTorch和Detectron2的镜像

构建镜像:基于指定的Dockerfile和上下文(包括detectron2目录),构建并标签为。查看镜像:构建成功的镜像大小为20.7GB。保存镜像:将镜像保存为文件,便于分发和备份。这样通过这些步骤,用户可以构建、查看和保存一个包含Detectron2的Docker镜像。这个过程详细展示了每一步的执行和输出,对于理解Docker操作和镜像管理具有很好的参考价值。这一段内容说明了如何使用docker run命令来启动一个包含Detectron2环境的Docker容器,并查看正在运行的容器。

fydw_715的博客 1659

完整的 Python 数据分析案例:新能源汽车续航里程预测

随着新能源汽车的普及,续航里程成为消费者关注的重要指标。准确预测新能源汽车的续航里程,有助于车企优化电池管理系统、提升车辆性能,也能帮助消费者合理规划出行。本案例将基于新能源汽车的各项参数,如电池容量、行驶速度、环境温度等,构建续航里程预测模型。通过以上改进,可以提高数据处理的准确性、模型的性能和可视化的效果。

daqsdfas的博客 1587

在RTX 3090上安装Pytorch-1.6

近来因为复现别人的工作需要,必须使用1.6版本的Pytorch,但是Pytorch官方说明1.6版本最高只支持CUDA10.2,而实验室最近服务器升级了RTX 3090,至少要求CUDA11,因此两者无法兼容。 经过一通折腾,最后采用在服务器上安装nvidia-docker来解决这一需求。 初始时服务器的配置如下: 操作系统:Ubuntu 20.04 Nvidia-driver:495.46 CUDA:11.5 cudnn:8.3.2 安装nvidia-docker Installation

huitailangyz的博客 3756

《QGIS快速入门与应用基础》010:下载过程中常见问题(如网速慢、文件损坏)

针对QGIS下载过程中的常见问题提供了系统解决方案。主要解决下载速度慢(≤100KB/s)和文件损坏两大核心问题:通过切换国内镜像源(如清华大学、阿里云)、使用专业下载工具提升速度;采用MD5/SHA256校验确保文件完整性,并排查存储介质和杀毒软件干扰。文章还包含macOS权限问题、Linux依赖缺失等高频问题的速解方案,并附详细的排查流程图和预防技巧,帮助用户顺利完成QGIS下载。后续将详细介绍安装流程,适合零基础用户参考。

LuckyHanMo的博客 482

【Network Management】AUTOSAR局部网络管理从0到1配置实践

AUTOSAR局部网络管理从0到1配置实践

qq_36056498的博客 2914

CUDA驱动更新指南:升级以支持新版PyTorch

深度学习中PyTorch无法使用GPU常因CUDA驱动版本过低。通过nvidia-smi检查驱动支持的CUDA版本,确保其不低于PyTorch所需的运行时版本。正确升级NVIDIA驱动并结合官方Docker镜像可彻底解决兼容性问题,实现高效稳定的GPU加速。

weixin_42451850的博客 1112

寒武纪面试——数字IC,数字逻辑岗

面试过程:面试是电话面试,通话时间大致在40分钟左右!面试体验挺不错的。面试的岗位是数字逻辑工程师。本人双非,拿过一个国一(南京FPGA大赛),一个数学建模省二。

FPGA/MATLAB学习教程/源码/项目合作开发 1374

2024 最新PyTorch源码编译流程和踩坑记录,PyTorch build from source

2024 最新PyTorch源码编译流程和踩坑记录,PyTorch build from source

qq_36755743的博客 9903

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Docker-compose部署多容器项目+pycharm管理项目(终极)

Docker-compose是一个用来定义和运行复杂应用的 Docker 工具。pycharm管理docker中的Django项目

qq_53217531的博客 2146

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux下的docker使用

一、docker安装 二、docker使用 1、镜像 docker images ls: 123@123-optiplex-7071:~$ sudo docker images ls REPOSITORY TAG IMAGE ID CREATED SIZE docker images: 123@123-optiplex-7071:~$ sudo docker images REPOSITORY...

wenshuifuping的专栏 346

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NVIDIA Jetson系列,ARM架构创建docker容器

【代码】NVIDIA Jetson系列,ARM架构创建docker容器。

zxw的博客 1036

PyTorch安装教程GPU模式下如何共享CUDA资源?

在多任务或多用户场景下,如何通过CUDA上下文管理、容器隔离、MIG分割与资源调度,实现PyTorch对GPU的高效共享。涵盖MPS加速、显存控制、Kubernetes配额与监控告警等工程实践,提升利用率并避免资源争抢。

weixin_42600407的博客 910

【Pandas】Docker-compose 一键搭建Jupyter Notebook

jupyter notebook 一键部署

yqyn6的博客 2644
上一篇: 基于docker-deepo安装定制化jupyterlab+ssh访问
下一篇: Ubuntu系统 配置docker tcp访问
Farm_Coder
博客等级 码龄10年 16粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值