nvdiadocker相关配置S3Gaussian
https://download.csdn.net/download/sinat_21699465/89458214
dockerfile文件参考:
https://download.csdn.net/download/sinat_21699465/89458214
prework:
显卡驱动决定了cuda版本支持的上限。例如nvdia535驱动最高支持cuda12.2所以显卡驱动版本选择也不要盲目求稳。
nvidiadocker解决了除驱动外的所有问题。所以驱动还是得手动安装。
main work:
安装docker可以参考https://blog.csdn.net/sinat_21699465/article/details/139068631
在安装好docker的基础上安装nvidia-container-toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
验证是否安装好:
dpkg -l | grep nvidia-container-toolkit
修改配置:
修改/etc/docker/daemon.json文件如下所示
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
重启docker服务:sudo systemctl restart docker
创建镜像:
docker pull ubuntu:22.04
cd path/to/dockerenv/
cd ubuntu2204/base/
docker build --build-arg IMAGE_NAME=nvidia/cuda --build-arg TARGETARCH=amd64 -t 11.8.0-base-ubuntu22.04 .
cd ../runtime/
docker build --build-arg IMAGE_NAME=nvidia/cuda --build-arg TARGETARCH=amd64 -t nvidia/cuda:11.8.0-runtime-ubuntu22.04 .
cd ../devel/
docker build --build-arg IMAGE_NAME=nvidia/cuda --build-arg TARGETARCH=amd64 -t nvidia/cuda:11.8.0-devel-ubuntu22.04 .
cd cudnn8/
docker build --build-arg IMAGE_NAME=nvidia/cuda --build-arg TARGETARCH=amd64 -t nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 .
cd ../../..
docker build --build-arg IMAGE_NAME=nvidia/cuda --build-arg TARGETARCH=amd64 -t 3dgsenv:v1.0 .
docker run -it --gpus all -v /home:/home --name s3gs 3dgsenv:v1.0 /bin/bash
其中 --gpus all很关键!!!此处也可以指定gpu的机器号。选定使用哪个gpu
其他
如果在安装驱动过程中在本机编译过cuda,那么在用dockerfile创建镜像时会大大缩短用时。与之相对应的就是,需要增加本级编译cuda的工作和对应时间消耗。
可以自行取舍。本文章内的环境是已经本机编译好过cuda。
具体可以参考我的装机流程文章里的nvdia驱动安装链接内的内容。
注意事项:
创建3dgs镜像过程中有一点要注意:
# 安装 PyTorch 2.2.1 和 CUDA 11.8
# RUN pip3 install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cu118
# pytorch版本对应关系可以参考:https://pytorch.org/get-started/previous-versions/
# 建议安装miniconda3,在conda虚拟环境中进行pytorch安装
验证:
root@c1d989c4faf7:/usr/bin# python3
Python 3.9.19 (main, Apr 6 2024, 17:57:55)
[GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.Tensor(1).cuda()
tensor([4.3771], device='cuda:0')
>>>
另启动一个终端就可以看到有个python3占住了138显存

随着验证的python退出,这个138mb的显存占用也被释放了
对应的3dgs的git使用上的一点小技巧:
先浅拷贝,再分别拉子模块
git clone --depth 1 https://github.com/nnanhuang/S3Gaussian.git
cd S3Gaussian
git submodule update --init --recursive
cd S3Gaussian conda create -n S3Gaussian python=3.9 conda activate S3Gaussianpip install -r requirements.txt pip install -e submodules/depth-diff-gaussian-rasterization pip install -e submodules/simple-knn
进入虚拟环境后再装pytorch相关内容:
pip3 install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cu118
然后再
安装libgl库
apt-get install libgl1-mesa-glx 否则会无法使用open3d
pip install open3d==0.16.0
安装这些环境的前提是有网,没有网的话,就只能用服务器上的torch改代码了
或者使用自己的机器进行训练,但是会遇到cuda内存不足的问题,可以考虑调整batch size等解决方案。
相关文章:
nvdiadocker相关配置S3Gaussian
https://download.csdn.net/download/sinat_21699465/89458214 dockerfile文件参考: https://download.csdn.net/download/sinat_21699465/89458214 prework: 显卡驱动决定了cuda版本支持的上限。例如nvdia535驱动最高支持cuda12.2所以显卡驱动版本选…...
【科技前沿】电子设计新贵SmartEDA:为何它引领行业风潮?
在当今这个电子科技日新月异的时代,电子设计工具如同设计师的魔法棒,不断推动着产品创新的速度。而近期,一款名为SmartEDA的电子国产设计仿真软件异军突起,成为了行业内的新宠。那么,SmartEDA究竟有何过人之处…...
免费悬浮翻译器哪个好?测评5款悬浮翻译器
在享受休闲时光时,我们通常都希望不被打扰,对吧? 然而,有时打扰我们的并非是外界的干扰,而是在观看外语视频时,无法理解视频内容的烦躁感。 不过,今天本文将为大家揭开几款屏幕悬浮翻译软件的…...
压缩文件解压方法总结
在日常工作和生活中,压缩文件已经成为我们传输和存储大文件的常见方式。压缩文件可以将多个文件或文件夹打包成一个文件,并通过压缩算法减小文件的体积,从而节省存储空间和传输时间。收到压缩文件后,我们需要将其解压才能查看和使…...
探索Elastic Search:强大的开源搜索引擎,详解及使用
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引…...
vue中的代码分割
随着Web应用的日益复杂化,用户对页面加载速度的期望越来越高。在这种背景下,前端性能优化成为了开发者们必须面对的挑战。Vue.js,作为现代前端开发的首选框架之一,其轻量级和灵活性为构建高性能的Web应用提供了可能。然而…...
java课程设计GUI学生信息管理系统
目录 系统内容.. 3 用户界面模块... 4 数据存储模块... 4 信息管理模块... 4 管理模块.. 4 主要模块的算法描述... 4 –简要的语言描述... 4 运行及调试分析(测试数据及测试结果).. 5 课程设计总结... 7 参考文献(至少三个…...
一网通办怎么办?一网统管怎么管?
一网通办怎么办?一网统管怎么管? 下面资源来源于网络,如有侵权请联络删除! **一网通办与一网统管的建设背景、建设情况及建设意义** 一、建设背景随着信息技术的飞速发展,传统的政务服务方式已难以满足人民群众日益增长的需求。各部门信息系统独立运行,导致信息孤岛现象…...
Kubernetes Dashboard
Minikube 环境搭建 Kubernetes 的基本架构 Kubernetes 声明式语言 YAML YAML操作Kubernetes核心对象 CentOs搭建Kubernetes集群 Kubernetes进阶对象Deployment、DaemonSet、Service Kubernetes进阶对象Ingress、Ingress Class、Ingress Controller Kubernetes集群部署项目实践 …...
NSSCTF-Web题目15
目录 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]Ez_upload 1、题目 2、知识点 3、思路 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 SSTI、Jinja2 参考链接:1. SSTI(模板注入)漏洞(…...
每天认识:轮询和中断
轮询(Polling)和中断(Interrupt)是两种不同的事件处理机制,通常用于操作系统、硬件设备或软件程序中,以响应外部事件或内部状态变化。下面分别解释这两个概念: 轮询(Polling&#x…...
SpringBoot中使用MQTT实现消息的订阅和发布
SpringBoot中使用MQTT实现消息的订阅和发布 背景 java框架SpringBoot通过mQTT通信 控制物联网设备 还是直接上代码 第一步依赖: <!--mqtt相关依赖--><dependency><groupId>org.springframework.integration</groupId><artifactId>s…...
等保测评练习10
等级保护初级测评师试题10 姓名: 成绩: 判断题(10110分) 1.等级保护2.0三级系统测评合格最低分为60分() 70分且不能有高风险 2.当远程管理云计算平台中设备是…...
VBA学习(16):工作表事件示例:输入数据后锁定单元格
在工作表单元格中输入数据后,该单元格就被锁定,不能再编辑。 打开VBE,在工程资源管理器中双击该工作表名称打开其代码模块,在其中输入下面的代码: 假设整个工作表的LockedFalse Private Sub Worksheet_Change(ByVal …...
mysql学习——SQL中的DDL和DML
SQL中的DDL和DML DDL数据库操作:表操作 DML添加数据修改数据删除数据 学习黑马MySQL课程,记录笔记,用于复习。 DDL DDL:Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表&…...
什么是多态?一文彻底搞懂!
什么是多态 面向对象程序设计有三要素:封装、继承(或组合)、多态,前两者较好理解,多态总让人困惑,不知道具体有什么作用,更不知道为什么要用多态。今天就来详细分析下什么是多态,以…...
CST电磁仿真软件的参数类型和含义【电磁仿真入门教程】
如果你是一位工程师或设计师,那你对电磁仿真软件CST Studio Suite一定不会感到陌生。CST软件可以帮助你模拟电磁场和电路行为,从而优化产品设计。本文将带你了解CST电磁仿真软件的一些关键参数,并解释其含义。CST电磁仿真软件的参数是指在使用…...
华为HCIA综合实验(结合前几期所有内容)
第一章 实验目的 (1)配置Telnet,要求所有网络设备支持远程管理,密码为admin(2)配置Trunk,交换机之间的链路均为Trunk模式(3)配置VLAN,在SW2和SW3上创建相关…...
git 拉下来的项目,出现“加载失败”的解决方法
现象: 1、对加载失败的项目,尝试重新加载 解决思路:根据上面的提示,打开F盘对应的 .vcxproj文件,查看里面关于opencv454.props的内容 先删了,后面再补 2、当前的工作重点是消除加载失败的情况,…...
sql资料库
1、distinct(关键词distinct用于返回唯一不同的值):查询结果中去除重复行的关键字 select distinct(university) from user_profile select distinct university from user_profile distinct是紧跟在select后面的,不能在其他位置,不然就…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
