周报(1)<仅供自己学习>

news2024/9/21 22:26:46

文章目录

  • 一.pytorch学习
    • 1.配置GPU
    • 2.数据读取
      • 问题1(已解决
      • 问题2(已解决
    • 3.卷积的学习
  • 二.NeRF学习
    • 1.介绍部分
      • 问题1(已解决
    • 2.神经辐射场表示
      • 问题2(已解决
      • 问题3(已解决
      • 问题4(已解决
      • 问题5:什么是视图依赖(已解决
    • 3.体渲染部分
      • 问题1:体积密度到底是什么?(已解决
      • 问题2:体渲染第一个积分公式的理解(已解决
      • 问题3:分层抽样(已解决
      • 问题4:位置编码

一.pytorch学习

1.配置GPU

os.environ[‘CUDA_VISIBLE_DEVICE’]=0’    xxx.cuda()
device=torch.device[‘cuda:1if torch cuda is avilable()else ‘cpu’]
xxx.to_device(device)

2.数据读取

问题1(已解决

问题:为什么要先转换为PIL?
PIL可以调整尺寸并且转化为ToTensor

data_transform=transform.Compose([transforms.ToPILimage(),transform.Resize(size),transform.ToTensor()])
#官方读取:
train_data=datasets.FashionMNST(root=./,train=True,download=True,tramsfrom=data_transform)
csv:
def __init__(self,df,transform=None)
self.df=df
self.transform=transform:
#图像简单处理
self.images=df.iloc[:,1:].values.astype(np.uint8)
self.labels=df.iloc[:,0:1].values
def __len__:
return len(self.images)
def __getitem__(self,idx):
image=self.images[idx].reshape(28,28,1)
label=int(self.labels[idx])
if self.transform is not None:
image=self.transform(image)
else:
image=torch.tensor(image)
lable=torch.tensor(lable,dytpe=torch.long)
return image,lable

问题2(已解决

问题:为什么要转换为int?
原本是字符串

3.卷积的学习

卷积的目的:特征划分之后提取最有用的特征,使得特征减少。

#模型构造
class CNN(nn.Module)
##初始化
def __init__(self):
super(CNN,self).__init__():
self.conv(个人属性)=nn.Sequential(
nn.Conv2d(1,32,5),
nn.RuLu(),
nn.MaxPool2d(2,stride=2)
nn.Conv2d(32,64,5),
nn.RuLu(),
nn.MaxPool2d(2,stride=2)
nn.Droput(0.3)
)
self.fn=nn.Sequential(
nn.Linear(64*4*4,512)
nn.ReLu()
nn.Linear(512,10)
)
##前向传播函数
def forward(self,x):
x=self.conv(x)
x=x.view(-1,64*4*4)
x=self.fc(x)
return x
##准确率函数
def accuracy(predictions,labels):
pred=torch.max(predictions.data,1)[1]
rights=pred.eq(labels.data.view_as(pred)).sum()
return rights,len(labels)
##实例化
net=CNN()
##损失函数
criterion=nn.CrossEntropyLoss()
##优化器(怎么实现的?)
optimizer=optim.Adam(net.parameters(),lr=0.001)
for epoch in range(num_epochs):
train_rights=[]
for batch_idx,(data,target) in enumerate(train_loader):	
net.train()
output=net(data)
loss=criterion(output,target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
right=accuracy(output,target)
train_rights.append()
 net.eval()(评估模式)

二.NeRF学习

  1. 学会了NeRF的输入输出以及NeRF的过程

1.介绍部分

问题1(已解决

已知相机姿态的图像?相机姿态也就是指的是两个观察角么?
可以获得获取到相机位置和方向信息的图片

2.神经辐射场表示

问题2(已解决

1.5D函数是什么(不是一组5D点么,怎么会有函数)?
2.文中所说可以通过相机光线获得一组3D点,再根据两个观察方向输入神经网络(这两个观察方向怎么确定的?)
3.两个观察方向就可以确定相机光线的位置么?

两个观察方向决定:光线从相机射向场景中某一点的方向,其中θ表示与z轴的夹角(俯仰角),而φ表示与x-y平面的夹角(极坐标)
这里的“5D函数”实际上是指一个将5D坐标映射到输出值(颜色和密度)的数学模型
这个就是5D函数

问题3(已解决

x和d是什么玩意F是什么玩意?
x是空间坐标,d是两个方位角

问题4(已解决

怎么限制两个相关
(构建MLP体现了)

问题5:什么是视图依赖(已解决

不仅考虑像素空间位置还会考虑观察者的方向
体现在这个公式d就是观察方向

3.体渲染部分

问题1:体积密度到底是什么?(已解决

文中说是射线在位置 x 处终止于无穷小粒子的微分概率。

可以理解为σ(x) 指的是在空间中位置 x 处单位体积对光线的阻挡能力

从数学上说

如果 σ(x) 很小,这意味着在位置 x 的单位体积内粒子较少,射线穿过这个体积而没有被终止的概率较高。
如果 σ(x) 很大,这意味着在位置 x 的单位体积内粒子较多,射线穿过这个体积时被终止的概率较高。

问题2:体渲染第一个积分公式的理解(已解决

第一种思想:
参考了这篇文章
可以联系Max文章
结合了两种模型,发射模型和吸收模型

解出

根据文章内容写出该项是背景光所以约去(NeRF文章中不考虑背景光)
为什么是背景光?
我的理解可能是那些从介质外部进入并穿过介质到达观察者的光。这部分光可能来自于远处的光源,如太阳,或者是场景中的其他照明。
最终

第二种思想:

T(s)表示从s=0点到s=s点光没有被遮挡的概率,是一个积累量,感觉类似与光线在每个位置的权重
乘上体积密度和颜色值积累就可以表现出反应了物体的反射,吸收等光效应的光点。
T(s+ds)=T(s)(1-体积密度*ds)体积密度是概率密度函数。

问题3:分层抽样(已解决

抽出一份Ci


抽出的一份认为体积密度和颜色值不变
将T值拆解
化简得到:


将T(0->tn)拆解就是
T(0->tn)=(1-a0)(1-a2)…(1-an-1)

问题4:位置编码

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

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

相关文章

NSSCTF中24网安培训day1中web的题目

我flag呢 直接查看源代码即可CtrlU [SWPUCTF 2021 新生赛]Do_you_know_http 用Burpsuite抓包,之后在User-agent下面添加XFF头,即X-Forwarded-For:127.0.0.1 [SWPUCTF 2022 新生赛]funny_php 首先是php的弱比较,对于num参数,我们…

【ChatGPT】深入解析Prompt提示词及如何高效使用ChatGPT

一、Prompt提示词是什么? 1.1 Prompt的定义 Prompt是人工智能领域中的一个关键概念,尤其在自然语言处理(NLP)和生成型AI模型中。简而言之,prompt是一段文本或指令,用于引导或启动AI模型的特定响应或操作。…

在pycharm 2023.2.1中运行由R语言编写的ipynb文件

在pycharm 2023.2.1中运行由R语言编写的ipynb文件 背景与目标: 项目中包含由R语言编写的ipynb文件,希望能在pycharm中运行该ipynb文件。 最终实现情况: 未能直接在pycharm中运行该ipynb文件,但是替代的实现方法有:…

SuperCLUE:中文大模型基准测评2024年上半年报告

SuperCLUE是一个中文通用大模型的综合性评测基准,其前身是CLUE(The Chinese Language Understanding Evaluation),自2019年成立以来,CLUE基准一直致力于提供科学、客观和中立的语言模型评测。SuperCLUE继承并发展了CLU…

【前端Vue3】——Vue基础知识点总结(万字总结)

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门知识专栏:🎇【MySQL&#…

24.7.14(板刷数据结构,警钟长鸣)

上周六: 算是暑假训练第一天,期末考完了真好 cf round951 div2 D cf传送门 之前用正解补过,又臭又长,写完就跑了,这次用哈希补一发 思路:目标字符…

2022睿抗CAIP-编程技能赛-本科组省赛(c++)(未完结)

RC-u1 不要浪费金币 模拟 AC: #include<iostream> #define int long long using namespace std; const int N1e35; int n,m,p[N],ans; signed main(){cin>>n>>m;for(int i1;i<n;i) cin>>p[i];int sum0;for(int i1;i<n;i){if(sump[i]<m) sump…

昇思25天学习打卡营第21天|ResNet50迁移学习

在实际应用场景中&#xff0c;由于训练数据集不足&#xff0c;所以很少有人会从头开始训练整个网络。普遍的做法是&#xff0c;在一个非常大的基础数据集上训练得到一个预训练模型&#xff0c;然后使用该模型来初始化网络的权重参数或作为固定特征提取器应用于特定的任务中。 …

STM32MP135裸机编程:BOOT跳转到APP前关闭所有中断、清除所有中断挂起标志操作方法

0 前言 一般来说&#xff0c;MCU/SOC的BOOT在跳转到APP前都需要进行环境清理的操作&#xff0c;其中必须进行的一项操作便是关闭所有中断、清除所有中断挂起标志。本文介绍基于STM32MP135裸机编程下关闭所有中断、清除所有中断挂起标志的操作方法。 1 操作方法 STM32MP135裸…

缓存与分布式锁

一、缓存 1、缓存使用 为了系统性能的提升&#xff0c;我们一般都会将部分数据放入缓存中&#xff0c;加速访问。 适合放入缓存的数据有&#xff1a; 即时性、数据一致性要求不高的&#xff1b;访问量大且更新频率不高的数据。 在开发中&#xff0c;凡是放入缓存中的数据我们都…

机器人前沿--PalmE:An Embodied Multimodal Language Model 具身多模态大(语言)模型

首先解释这篇工作名称Palm-E&#xff0c;发表时间为2023.03&#xff0c;其中的Palm是谷歌内部在2022.04开发的大语言模型&#xff0c;功能类似ChatGPT&#xff0c;只是由于各种原因没有那样火起来&#xff0c;E是Embodied的首字母&#xff0c;翻译过来就是具身多模态大语言模型…

基于5个K7的多FPGA PCIE总线架构的高性能数据预处理平台

板载FPGA实时处理器&#xff1a;XCKU060-2FFVA15172个QSFP光纤接口&#xff0c;最大支持10Gbps/lane板载DMA控制器&#xff0c;能实现双向DMA高速传输支持x8 PCIE主机接口&#xff0c;系统带宽5GByte/s1个R45自适应千兆以太网口1个FMC子卡扩展接口 基于PCIE总线架构的高性能数据…

c++包管理器

conan conan search&#xff0c;查看网络库 conan profile detect&#xff0c;生成缓存信息conan new cmake_exe/cmake_lib&#xff0c;创建cmakelists.txtconan install .&#xff0c;执行Conanfile.txt中的配置&#xff0c;生成相关的bat文件 项目中配置Conanfile.txt(或者…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十一)-无人机服务可用性用例需求

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

口袋算法的示例

原理 口袋算法是感知器(Perceptron)算法的一种改进。感知器算法是一种线性分类算法,但在训练数据不是线性可分的情况下,它可能无法收敛,即无法找到一个线性分类器来正确分类所有的训练样本。为了解决这个问题,口袋算法引入了一个"口袋"(Pocket),用来存储迄…

Redis② —— Redis线程模型

1. Redis是单线程吗&#xff1f; 指 接受客户请求 --> 解析请求 --> 进行数据读写操作 --> 发送数据给客户端 这个过程由一个主线程完成redis程序并不是单线程的&#xff0c;在启动时会启动后台进程 2.6之前启动两个后台线程&#xff0c;分别处理关闭文件、AOF刷盘4.…

Go 语言返回组装数据

文章id 文章标题 ..... 分类 字段 &#xff1a;[分类名&#xff0c;分类描述 .... ]标签字段 : [标签名, 标签id ..... ]type ArticleWithCategoryLabel struct {system.SysArticleCategoryName system.SysCategorie json:"category_name"LabelName system.SysLab…

CSS选择器(1)

以内部样式表编写CSS选择器&#xff0c;其主要编写在<head></head>元素里&#xff0c;通过<style></style>标签来定义内部样式表。 基本语法为&#xff1a; 选择器{ 声明块 } 声明块&#xff1a;是由一对大括号括起来&#xff0c;声明块中是一个一个的…

23种设计模式之责任链模式

责任链模式 1、定义 避免将一个请求的发送者与接受者耦合在一起&#xff0c;让多个对象都有机会处理请求。将接受请求的对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有一个对象能够处理它为止 2、责任链模式结构 Handler(抽象处理者)&#xff1a;定…

使用Python和MediaPipe实现手势控制音量(Win/Mac)

1. 依赖库介绍 OpenCV OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它包含了数百个计算机视觉算法。 MediaPipe MediaPipe是一个跨平台的机器学习解决方案库&#xff0c;可以用于实时人类姿势估计、手势识…