能够应用 torch.numel()
办法来计算一个 PyTorch 张量占用的总字节数,以及 element_size()
办法来计算一个元素所占的字节数。将这两个办法返回的后果相乘即可失去 PyTorch 张量占用的总字节数。
例如,假如有一个形态为 (3, 4, 5)
的 PyTorch 张量 x
,每个元素占用 4 个字节:
import torch
x = torch.randn(3, 4, 5)
total_bytes = x.numel() * x.element_size()
print(total_bytes) # 输入 240
其中,x.numel()
返回张量中元素的总数,即 3 x 4 x 5 = 60
,x.element_size()
返回每个元素所占的字节数,即 4。
能够将这个办法封装成一个函数,不便在其余中央应用:
import torch
def get_tensor_bytes(tensor):
return tensor.numel() * tensor.element_size()
# 示例用法
x = torch.randn(3, 4, 5)
total_bytes = get_tensor_bytes(x)
print(total_bytes) # 输入 240
这样就能够不便地计算 PyTorch 张量的总字节数了。