Win10 + 4090显卡配置深度学习环境 + gaussian-splatting配置 + 实测自己的场景

news2024/11/15 11:03:20

目录

1 安装Anaconda 2023.09版本

2 安装CUDA11.8

3 安装深度学习库Cudnn8.6.0

4 安装VSCODE2019

 5 安装Colmap3.8

6 安装git

7 安装Python3.10 + Pytorch2.0.0

7 安装项目

8 采集数据

8.1 IPhone 14 pro 拍摄30张照片左右 + 做预处理

8.2 生成colmap位姿等信息

8.3 开始训练!启动!

8.4 资源占用

8.5 训练完成

8.5 可视化


1 安装Anaconda 2023.09版本

Download Success | Anacondaicon-default.png?t=N7T8https://www.anaconda.com/download-success        在这个网站下载最新版Anaconda。

        安装直接执行就行,一直点next。

        这样就是安装成功了。

        输入nvcc -V查看cuda版本。

        没安装过cuda,开始安装cuda。

2 安装CUDA11.8

CUDA Toolkit 11.8 Downloads | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local        这个网址下载cuda11.8。点击Download下载。

        直接赋予管理员权限安装就行。

        这样就是安装成功了。

        验证cuda安装:

3 安装深度学习库Cudnn8.6.0

cuDNN Archive | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/rdp/cudnn-archive         在这个网站下载。

        要注册英伟达账号。

        这里下载好是一堆库文件,我们需要移动到cuda安装目录下。

        a) 把cuda\bin目录下的文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin 目录下.
        b) 把\cuda\ include目录下的文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include 目录下.
        c) 把\cuda\lib\x64\目录下的文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib\x64 目录下.        就是这样。

        添加cudnn到环境变量:

        安装完毕。

        测试安装:

        两个都要PASS成功!

4 安装VSCODE2019

         下载好安装程序。

        等待安装。

        一定要勾选这个!!!

        成功

 5 安装Colmap3.8

        下载链接:

Release 3.8 · colmap/colmap · GitHubicon-default.png?t=N7T8https://github.com/colmap/colmap/releases/tag/3.8        由于我们安装了cuda,下载cuda版本的。

        解压后移动到C盘非中文目录下。添加这个路径到环境变量。

        OK。

6 安装git

        下载完安装就行,一直下一步。

        到命令行查看是否安装成功

        成功!

7 安装Python3.10 + Pytorch2.0.0

        创建python3.10的虚拟环境。 

conda create -n 3DGS python=3.10

        启动环境:

conda activate 3DGS

        安装pytorch2.0.0

conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia

        测试pytorch是否可用:

        可用,成功。

7 安装项目

        克隆项目:

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive

        安装项目的依赖:

SET DISTUTILS_USE_SDK=1
pip install gaussian-splatting\submodules\diff-gaussian-rasterization
pip install gaussian-splatting\submodules\simple-knn
pip install plyfile tqdm

        这步成功了就差不多了哈哈!

8 采集数据

8.1 IPhone 14 pro 拍摄30张照片左右 + 做预处理

        放入文件夹data中,再新建一个文件夹input把照片全部放进去。

        用这个脚本转换图像的名称:

import os


folder_path = r'C:\Users\lhwnb\Desktop\data\input'


files = os.listdir(folder_path)


counter = 0


for file_name in files:
    if file_name.endswith('.jpg') or file_name.endswith('.jpg') or file_name.endswith('.png'):
        new_name = f"{counter:06}.jpg"  # 6位数字格式,如000000.jpg
        current_path = os.path.join(folder_path, file_name)
        new_path = os.path.join(folder_path, new_name)
        os.rename(current_path, new_path)
        counter += 1

8.2 生成colmap位姿等信息

        将文件夹移动到项目文件夹,执行

python convert.py -s data

        处理中.....

        处理完毕。

        我们看data文件夹:

        colmap帮我们生成了很多文件,不用理会。

8.3 开始训练!启动!

         我们监视一下显卡与内存的状态:

        显存大概需要7G左右,可能是我图片少的缘故吧!

        内存大概占用12G左右

8.4 资源占用

        博主的电脑为联想拯救者Y9000p 2023 4090款:

        CPU  I9 13900HX 24核心32线程 支持超线程技术。

        GPU  4090 16G。

        Memory 32G。

        在训练过程中,采用默认参数进行训练 图像为42张4K图像,程序进行过剪裁:

        显存占用大约在7G左右,CPU占用率大约为12% 4.40GHz(I9 13代还是强),内存占用大约为12.6G。

        显存快爆炸了。

8.5 训练完成

        训练完成。

        output文件夹就是训练生成的产物:

8.5 可视化

         下载可视化工具:

可视化工具下载icon-default.png?t=N7T8https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip

        下载好解压到viewer文件夹中(需要自己去创建这个文件夹)。

        安装完成之后,在地址栏输入cmd,通过下列命令运行:

.\viewers\bin\SIBR_gaussianViewer_app -m data/output

        操作方法:

        WSAD控制上下左右,UIOJKL旋转相机,

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

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

相关文章

starrocks集群fe/be节点进程守护脚本

自建starrocks集群,有时候服务会挂掉,无法自动拉起服务,于是采用supervisor进行进程守护。可能是版本的原因,supervisor程序总是异常,无法对fe//be进行守护。于是写了个简易脚本。 #!/bin/bash AppNameFecom.starrock…

Xshell连接ubuntu,从github克隆项目,用Xshell克隆项目

访问不了github:https://blog.csdn.net/liu834189447/article/details/135246914 短暂解决访问问题。 ping不通虚拟机/无法连接虚拟机:https://blog.csdn.net/liu834189447/article/details/135240276 ps: Xshell、ubuntu的粘贴快捷键为 Shift Insert …

日志框架简介-Slf4j+Logback入门实践 | 京东云技术团队

前言 随着互联网和大数据的迅猛发展,分布式日志系统和日志分析系统已广泛应用,几乎所有应用程序都使用各种日志框架记录程序运行信息。因此,作为工程师,了解主流的日志记录框架非常重要。虽然应用程序的运行结果不受日志的有无影…

Android : 画布绘制矩形和文字 让其居中显示简单应用

示例图: CenterView.java package com.example.demo;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.Log; import android.view.View;public class Center…

c语言用四种方式求解成绩之中最高分和最低分的差值

文章目录 一,题目二,方法1,方法一2,方法二3,方法三4,方法四 三,示例结果 一,题目 最高分最低分之差 输入n个成绩,换行输出n个成绩中最高分数和最低分数的差 输入 : 两行…

利用网络教育系统构建个性化学习平台

在现代教育中,网络教育系统作为一种创新的学习方式,为学生提供了更加个性化和灵活的学习体验。在本文中,我们将通过简单的技术代码,演示如何构建一个基础的网络教育系统,为学生提供个性化的学习路径和资源。 1. 环境…

Undo Log 、Binary Log、Redo Log之间到底有什么区别?

Undo Log 、Binary Log、Redo Log各自的作用 先抛结论:他们各自的作用是什么 Undo Log :用于保证数据库事务原子性Binary Log:用于数据库的数据备份/主从复制Redo Log:用于保证数据库事务持久性 接下来详细谈谈它们 Undo Log …

关于Java并发、JVM面试题

前言 之前为了准备面试,收集整理了一些面试题。 本篇文章更新时间2023年12月27日。 最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv 并发 进程与线程的区别 线程属于进程,进程可以拥有多个线程。进程独享…

【项目】玩具租赁博客测试报告

目录 一、项目背景 二、项目功能 三、功能测试 一、项目背景 玩具租赁系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有十五个页面构成:用户注册、管理员注册、登录页、用户和管理…

java浅拷贝BeanUtils.copyProperties引发的RPC异常 | 京东物流技术团队

背景 近期参与了一个攻坚项目,前期因为其他流程原因,测试时间已经耽搁了好几天了,本以为已经解决了卡点,后续流程应该顺顺利利的,没想到 人在地铁上,bug从咚咚来~ 没有任何修改的服务接口,抛出…

IT安全:实时网络安全监控

了解庞大而复杂的网络环境并非易事,它需要持续观察、深入分析,并对任何违规行为做出快速反应。这就是为什么实时网络安全监控工具是任何组织 IT 安全战略的一个重要方面。 网络攻击和合规性法规是 IT 安全的两个主要驱动因素。同时,数据泄露…

Spring Cloud Gateway 常见过滤器的基本使用

目录 1. 过滤器的作用 2. Spring Cloud Gateway 过滤器的类型 2.1 内置过滤器 2.1.1 AddResponseHeader 2.1.2 AddRequestHeader 2.1.3 PrefixPath 2.1.4 RequestRateLimiter 2.1.5 Retry 2.2 自定义过滤器 1. 过滤器的作用 过滤器通常用于拦截、处理或修改数据流和事…

Springboot+vue的医疗报销系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的医疗报销系统(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的医疗报销系统,采用M(model&a…

百度沧海文件存储CFS推出新一代Namespace架构

随着移动互联网、物联网、AI 计算等技术和市场的迅速发展,数据规模指数级膨胀,对于分布式文件系统作为大规模数据场景的存储底座提出了更高的要求。已有分布式文件系统解决方案存在着短板,只能适应有限的场景: >> 新型分布式…

【产品经理】axure中继器的使用——表格增删改查分页实现

笔记为个人总结笔记,若有错误欢迎指出哟~ axure中继器的使用——表格增删改查分页实现 中继器介绍总体视图视频预览功能1.表头设计2.中继器3.添加功能实现4.删除功能实现5.修改功能实现6.查询功能实现7.批量删除 中继器介绍 在 Axure RP9 中,中继器&…

IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!

作者:刘军 最受欢迎的 Java 集成开发环境 IntelliJ IDEA 与开源微服务框架 Apache Dubbo 社区强强合作,给广大微服务开发者带来了福音。与 IntelliJ IDEA 2023.2 版本一起,Jetbrains 官方发布了一款全新插件 - Apache Dubbo in Spring Frame…

matlab列优先与高维矩阵重构

由于matlab在列化a(:)以及reshape(a)等操作中是列优先的,所以要重构出新的高维度矩阵,通常要把reshape和permute结合起来使用。 先到 http://caffe.berkeleyvision.org/ 下载 训练好的model bvlc_reference_caffenet.caffemodel; 更多caffe使用也请参看…

C#编程艺术:Fizzler库助您高效爬取www.twitter.com音频

数据是当今数字时代的核心资源,但是从互联网上抓取数据并不容易。本文将教您如何利用C#编程艺术和Fizzler库高效爬取Twitter上的音频数据,让您轻松获取所需信息。 Twitter简介 Twitter是全球最大的社交媒体平台之一,包含丰富的音频资源。用…

机器学习系列--R语言随机森林进行生存分析(1)

随机森林(Breiman 2001a)(RF)是一种非参数统计方法,需要没有关于响应的协变关系的分布假设。RF是一种强大的、非线性的技术,通过拟合一组树来稳定预测精度模型估计。随机生存森林(RSF&#xff0…

【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec

【Pytorch】学习记录分享7——PyTorch自然语言处理基础-词向量模型Word2Vec 1. 词向量模型Word2Vec)1. 如何度量这个单词的?2.词向量是什么样子?3.词向量对应的热力图:4.词向量模型的输入与输出![在这里插入图片描述](https://img-blog.csdni…