周报5<仅供自己学习>

一、NeRF代码

def spherify_poses(poses, bds):
    
    p34_to_44 = lambda p : np.concatenate([p, np.tile(np.reshape(np.eye(4)[-1,:], [1,1,4]), [p.shape[0], 1,1])], 1)
    
    rays_d = poses[:,:3,2:3]
    rays_o = poses[:,:3,3:4]

    def min_line_dist(rays_o, rays_d):
        A_i = np.eye(3) - rays_d * np.transpose(rays_d, [0,2,1])
        b_i = -A_i @ rays_o
        pt_mindist = np.squeeze(-np.linalg.inv((np.transpose(A_i, [0,2,1]) @ A_i).mean(0)) @ (b_i).mean(0))
        return pt_mindist

1.齐次化位姿坐标

p34_to_44 = lambda p : np.concatenate([p, np.tile(np.reshape(np.eye(4)[-1,:], [1,1,4]), [p.shape[0], 1,1])], 1)

2.理解rays_d和rays_o

①rays_d表示相机坐标系的z轴向量,也就是向前向量
②rays_o表示相机坐标系在世界坐标系的原点坐标

3.min_line_dist的函数

问题1:该函数的作用

问题2:为何要计算ray_d的外积

①形成投影矩阵

(1)投影矩阵

任意向量v,左乘d的外积,形成的结果为(d·v)d,d·v是向量的点乘,是标量,也就是说结果平行于向量d,从而达到了将v向量投影到了向量d的方向上

(2)投影矩阵的性质

投影矩阵的秩为1,表示行和列都线性相关,并且都和d线性相关

(3)投影长度的计算

v·d/||d||

②A_i和b_i的含义!!!


我的理解是
A_i是一个系数
我们先看A_i@ray_o
假设绿线是光线向量。那么红线就是原点和相机原点的向量,也就是A_i中的np.eye(3)@ray_o
刚才我们已经外积是一个投影矩阵,那么外积@ray_o,就是将红线投影到绿线上,也是绿线的红线部分,那么(np.eye(3) - rays_d * np.transpose(rays_d, [0,2,1]))@ray_o,就是进行向量的减法,就是蓝线的,取反方向就是灰线

4.最小二乘法

因为这个函数在实现最小二乘法,所以我进行了具体的学习

①目标


举例



求第三个式子最小的x1,x2取值

②数学模型

(1)目标函数

最小化残差求出参数x的值

(2)方程的解

(3)残差r=Ax-b的空间意义


b正交A的值域:这里可以联想到B_id的作用

问题:什么是值域空间

(4)目标求解


二、集合论到位运算

1.哈希表

①属性

模表大小
哈希函数

②表现方式

数组+链表(解决哈希冲突)

③结构

数组 链表 哈希函数 插入 获取 删除

2.二级制和集合论的关系

在这里插入图片描述
也就是加入集合{0,2,4} 用二进制表示10101

3.位运算的优势

并行运算

4.集合与集合

交集

A&B

并集

A|B

对称差

A⊕B

A&~B
A⊕B

包含于

A&B=B
A|B=A

5.集合与元素

单元素集合

1<<2 ={2}

全集

1<<3-1 ={0,1,2}

补集

((1<<4)-1)⊕s

属于

判断i是否属于s
(s<<i)&1=1

添加元素

(1<<i)|s

删除元素

~(1<<i)&s
s⊕(1<<i)
删除最小
s&(s-1)

取最小元素

s&~(s-1)

6.一些库函数

集合大小
__builtin_popcount(s) C/C++
s.bit_count() python
二进制长度
__lg(s)+1 C++
log2(s)+1 c
s.bit_length() python

7.遍历集合

#include<stdio.h>
int main()
{
    unsigned int s =5;
    int n=3;
    for (int i = 0; i < n; i++) {
    if ((s >> i) & 1) { printf("%d in range\n",i);}
    }
}

最小元素遍历

for(int s=n;s&(~s+1);s-=s&(~s+1))
### 深度学习周报最新进展概述 深度学习领域的发展日新月异,最新的研究动态通常集中在模型架构优化、训练效率提升以及跨学科应用等方面。以下是关于深度学习周报中的几个核心主题及其相关内容: #### 新兴框架与工具 近年来,多个新兴的深度学习框架不断涌现并得到广泛应用。例如,PyTorch Lightning 和 Hugging Face Transformers 提供了更高效的开发体验和预训练模型支持[^1]。这些工具不仅简化了复杂模型的设计过程,还显著提升了实验迭代的速度。 #### 关键论文进展 在自然语言处理 (NLP) 领域,《Scaling Laws for Neural Language Models》探讨了大规模参数量对性能的影响规律,并揭示了随着模型规模增加所带来的收益边界效应[^2]。而在计算机视觉方面,“Vision Transformer”系列文章展示了基于纯注意力机制构建图像分类器的可能性,挑战传统卷积神经网络的地位[^3]。 #### 技术趋势分析 联邦学习成为隐私保护场景下的热点方向之一;强化学习则继续向多智能体协作及真实世界机器人控制等领域深入探索 。此外 ,自监督 学习方法通过利用未标注数据来增强表示能力,在减少人工成本的同时提高了泛化效果 [^4]. ```python import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased") model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") inputs = tokenizer("Hello world!", return_tensors="pt") outputs = model(**inputs) print(outputs.logits) ``` 上述代码片段演示如何使用HuggingFace库加载BERT模型并对输入文本进行情感分类预测操作.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只特立独行猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值