在 PyTorch 中,你可以使用 torch.randint
或 torch.empty
加上 random_
方法来初始化张量并填充随机整数值。以下是两种常用的方法:
1. 使用 torch.randint
torch.randint
直接生成一个指定形状的张量
,并填充在给定范围内的随机整数。
示例代码:
import torch
# 生成一个 3x3 的张量,填充 0 到 9 之间的随机整数(不包括 10)
tensor = torch.randint(low=0, high=10, size=(3, 3))
print(tensor)
2. 使用 torch.empty
和 random_
torch.empty
先生成一个未初始化的张量,然后用 random_
方法填充随机整数值。
示例代码:
import torch
# 生成一个未初始化的 3x3 张量
tensor = torch.empty(3, 3, dtype=torch.long)
# 用 0 到 9 之间的随机整数(不包括 10)填充张量
tensor = tensor.random_(10)
print(tensor)
解释:
torch.randint
是更直接的方式,一步完成张量的初始化和填充。torch.empty
+random_
的组合提供了更多的控制权,比如可以指定张量的dtype
。
这两种方法都可以用于生成指定形状和范围的随机整数张量。