torch.empty_like#
- torch.empty_like(input, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format) Tensor#
返回一個大小與 `input` 相同的未初始化張量。`torch.empty_like(input)` 等價於 `torch.empty(input.size(), dtype=input.dtype, layout=input.layout, device=input.device)`。
注意
如果
torch.use_deterministic_algorithms()和torch.utils.deterministic.fill_uninitialized_memory都設定為True,則輸出張量會被初始化,以防止使用資料作為操作輸入的任何可能的非確定性行為。浮點數和複數張量將填充 NaN,整數張量將填充最大值。當使用 `torch.preserve_format` 時:如果輸入張量是稠密的(即非重疊跨步),則會保留其記憶體格式(包括跨步)。否則(例如,非稠密檢視,如步進切片),輸出將被轉換為稠密格式。
- 引數
input (Tensor) –
input的大小將決定輸出張量的大小。- 關鍵字引數
dtype (
torch.dtype, optional) – 返回的 Tensor 的所需資料型別。預設值:如果None,則預設為input的 dtype。layout (
torch.layout, optional) – 返回的張量的所需佈局。預設值:如果None,則預設為input的佈局。device (
torch.device, optional) – 返回的張量的所需裝置。預設值:如果None,則預設為input的裝置。requires_grad (bool, optional) – 如果 autograd 應記錄在返回的張量上的操作。預設值:
False。memory_format (
torch.memory_format, optional) – 返回的 Tensor 的所需記憶體格式。預設值:torch.preserve_format。
示例
>>> a=torch.empty((2,3), dtype=torch.int32, device = 'cuda') >>> torch.empty_like(a) tensor([[0, 0, 0], [0, 0, 0]], device='cuda:0', dtype=torch.int32)