NeRF用到的 torch.searchsorted 和 clamp_min、clamp_max样例

论文中用到的是参数 "side=‘right’ "
这个的含义是找到第一个大于该数的index

但是如果参数 “side=left”,则是
找到第一个大于等于该数的index

返回的值最小值是 0
返回的值可能超出索引的范围 1 个单位。

例子1

cdf = torch.tensor([-1,1,3,5,7,9])
u = -2
inds = torch.searchsorted(cdf, u, side='right')
print(inds)

输出:

tensor(0)

side=‘left’

输出:

tensor(0)

例子2

cdf = torch.tensor([-1,1,3,5,7,9])
u = -1
inds = torch.searchsorted(cdf, u, side='right')
print(inds)

输出:

tensor(1)

side=‘left’

输出:

tensor(0)

例子3

cdf = torch.tensor([-1,1,3,5,7,9])
u = 4
inds = torch.searchsorted(cdf, u, side='right')
print(inds)

输出:

tensor(3)

例子4

cdf = torch.tensor([-1,1,3,5,7,9])
u = 9
inds = torch.searchsorted(cdf, u, side='right')
print(inds)

输出:

tensor(6)

side=‘left’

输出:

tensor(5)

clamp_min、clamp_max

cdf = torch.tensor([-3,-1,0,1,3,5,7,9])
print(torch.clamp_min(cdf, 0)) # 输出的值都大于等于0
print(torch.clamp_max(cdf, 3)) # 输出的值都小于等于3

输出:

tensor([0, 0, 0, 1, 3, 5, 7, 9])
tensor([-3, -1,  0,  1,  3,  3,  3,  3])
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

培之

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

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

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

打赏作者

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

抵扣说明:

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

余额充值