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后面的,不能在其他位置,不然就…...
Java SSRF漏洞深度解析:从URLConnection到安全防御实战
1. 项目概述:从一次内部安全审计说起最近在帮一个朋友的公司做代码安全审计,他们有一个对外提供数据聚合服务的Java Web应用。在翻看一个看似平平无奇的“网页内容抓取”功能模块时,我一眼就看到了那段熟悉的、几乎每个Java开发者都写过的代码…...
大语言模型记忆增强框架:LightMem原理、实现与工程实践
1. 项目概述:当大模型遇上“记忆”瓶颈最近在折腾大语言模型(LLM)应用开发的朋友,估计都遇到过同一个头疼的问题:模型记不住事儿。你精心设计了一个对话系统,希望它能记住用户的历史偏好,比如“…...
不只是大小端:用Python脚本自动解析DBC文件中的Motorola和Intel信号
自动化解析DBC信号:Python实战Motorola与Intel字节顺序处理 在汽车电子和工业控制领域,CAN总线通信扮演着至关重要的角色。DBC文件作为描述CAN通信协议的标准化格式,包含了消息、信号以及各种通信参数的完整定义。对于测试工程师和嵌入式开发…...
如何在Windows 11上完美运行经典游戏:DDrawCompat终极兼容性解决方案
如何在Windows 11上完美运行经典游戏:DDrawCompat终极兼容性解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mir…...
在OpenClaw中配置Taotoken作为其AI模型供应商的详细步骤
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在OpenClaw中配置Taotoken作为其AI模型供应商的详细步骤 OpenClaw是一个功能强大的AI智能体开发框架,它允许开发者灵活…...
D2DX暗黑2宽屏补丁:3分钟让经典游戏焕发新生的终极优化方案
D2DX暗黑2宽屏补丁:3分钟让经典游戏焕发新生的终极优化方案 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还在…...
PangoDesign Suite与Modelsim协同仿真:从库编译到实战排错全解析
1. 为什么需要PangoDesign Suite与Modelsim协同仿真 第一次接触FPGA仿真时,我也被各种专业术语绕晕了。直到某次项目出现时序问题,才发现仿真工具就像汽车的"安全气囊"——平时感觉不到存在,关键时刻能救命。PangoDesign Suite&…...
告别混乱!用EPLAN高效管理端子连接图的5个实战技巧与常见坑点复盘
告别混乱!用EPLAN高效管理端子连接图的5个实战技巧与常见坑点复盘 在电气工程设计领域,端子连接图的质量直接影响着生产效率和调试准确性。许多工程师在项目后期常常陷入反复修改端子图表的泥潭,不仅耗费宝贵时间,还可能因疏忽导致…...
信息量模型避坑指南:用ArcGIS做地灾评价,这3个细节错了全盘皆输
信息量模型避坑指南:用ArcGIS做地灾评价,这3个细节错了全盘皆输 地质灾害易发性评价是地质工程领域的核心课题之一。在山区开发、城市规划等场景中,准确预测地质灾害风险区域,能够为防灾减灾提供科学依据。信息量模型因其计算简单…...
SpringBoot配置加载顺序实战:从踩坑到精通,搞懂spring.profiles.active和spring.config.location
SpringBoot配置加载顺序实战:从踩坑到精通 在SpringBoot项目的开发与部署过程中,配置加载顺序往往是开发者最容易踩坑的环节之一。你是否遇到过本地测试正常,但打包部署后配置突然失效的情况?或者在不同环境间切换时,某…...
