Open3D中的open3d.core.Tensor的函数,用于创建指定大小并填充指定标量值的张量。
open3d.core.Tensor.full(
shape: Union[int, List[int]], fill_value: float, dtype: Optional[open3d.core.Dtype] = None, device: Optional[Union[str, open3d.core.Device]] = None
) -> open3d.core.Tensor
shape
:张量的大小,可以是整数或整数列表。fill_value
:张量要填充的标量值。dtype
:张量的数据类型。如果没有提供,则默认为 Float32
。device
:张量所在的设备。如果没有提供,则默认为当前设备。返回一个指定大小并填充指定标量值的张量。
import open3d.core as o3c
# 创建一个填充了0的大小为(3, 3, 3)的张量
tensor1 = o3c.Tensor.full((3, 3, 3), 0)
# 创建一个填充了1.5的大小为(5,)的张量
tensor2 = o3c.Tensor.full(5, 1.5)
# 创建一个填充了2的大小为(2, 3)常量张量
tensor3 = o3c.Tensor.full((2, 3), 2, o3c.Dtype.Int32, o3c.Device("CUDA:0"))
以上示例中,tensor1
是一个大小为(3, 3, 3)
的 Float32
张量,所有元素都被填充为0。tensor2
是一个大小为(5,)
的 Float32
张量,所有元素都被填充为1.5。tensor3
是一个在GPU上的大小为(2, 3)
的 Int32
张量,所有元素都被填充为2。
如果指定的 shape
不是整数或整数列表,则会引发 TypeError
异常。如果 fill_value
的数据类型不匹配,则会引发 TypeError
异常。如果指定的设备不存在,则会引发 RuntimeError
异常。