该函数用于将张量的值四舍五入为最接近的整数或保留到指定精度的小数。
def round(tensor: open3d.core.Tensor, decimals: Optional[int] = None) -> open3d.core.Tensor:
tensor
:要进行四舍五入操作的张量。decimals
:可选参数,指定要保留的小数位数。默认为None
,即四舍五入为整数。返回一个新的张量,其中所有元素被四舍五入到指定的小数位数或整数值。
import open3d.core as o3c
import numpy as np
a = np.array([1.234, 2.678, -3.456, 4.999])
# 创建张量并将其四舍五入到第二位小数
tensor = o3c.Tensor(a)
rounded_tensor = o3c.round(tensor, decimals=2)
print(rounded_tensor)
# 创建张量并将其四舍五入为整数
tensor2 = o3c.Tensor(a)
rounded_tensor2 = o3c.round(tensor2)
print(rounded_tensor2)
输出:
[1.23, 2.68, -3.46, 5.0]
[1., 3., -3., 5.]
上述示例将一个NumPy数组转换为张量,并将它们分别四舍五入到第二位小数或整数。结果都是新的张量。
ValueError
:decimals
是负数。