我有一个数组的值,我剪辑到一定范围内。但是我不希望大量的值是相同的,所以我在操作之后添加了少量的随机噪声。我想我需要考虑浮点分辨率,这样才能工作
现在我有这样的代码:
import numpy as np
np.minimum(x[:,0:3],topRtBk,x[:,0:3])
np.maximum(x[:,0:3],botLftFrnt,x[:,0:3])
np.add(x[:,0:3],np.random.randn(x.shape[0],3).astype(real_t)*5e-5,x[:,0:3])
其中topRtBk
和botLftFrnt
是三维边界限制(对于球体有另一个版本)
real_t
可配置为np.float32
或np.float64
(代码的其他部分是GPU加速的,这可能最终也是如此)
5e-5
是一个神奇的数字,它是np.finfo(np.float32).resolution
的两倍,我的问题的关键是:这里使用的正确值是什么
我想用尽可能小的量来抖动这些值,同时保留足够的变化量——我承认,足够的定义是相当错误的。我正在尝试最小化重复值,但是有一些不会杀死我
我想我的问题有两个:这是正确的使用方法吗?什么是合理的随机数比例因子
目前没有回答
相关问题 更多 >
编程相关推荐