Python用torch.random.choice从张量中抽取随机样本

要使用torch.random.choice从张量中抽取随机样本,您可以按照以下步骤进行操作:

  1. 导入PyTorch库:
import torch
  1. 创建一个张量(例如一维张量):
x = torch.tensor([1, 2, 3, 4, 5])
  1. 使用torch.random.choice从张量中抽取随机样本:
`torch.random.choice` 是 PyTorch 中用于从给定的一维张量或列表中随机选择元素的函数。以下是关于 `torch.random.choice` 的最新 API 介绍: ### 函数签名 ```python torch.random.choice(input, num_samples, replacement=True, *, generator=None, out=None) ``` ### 参数说明 - `input` (Tensor or List): 一维张量或列表,从中随机选择元素。 - `num_samples` (int): 要选择的样本数量。 - `replacement` (bool, optional): 是否进行有放回抽样。默认为 `True`,即有放回抽样。 - `generator` (torch.Generator, optional): 用于采样的随机数生成器。 - `out` (Tensor, optional): 输出张量。 ### 返回值 - `Tensor`: 包含随机选择元素的一维张量。 ### 示例 ```python import torch # 示例张量 input_tensor = torch.tensor([1, 2, 3, 4, 5]) # 从张量中随机选择3个元素,有放回抽样 random_sample = torch.random.choice(input_tensor, num_samples=3, replacement=True) print(random_sample) # 从张量中随机选择3个元素,无放回抽样 random_sample_no_replacement = torch.random.choice(input_tensor, num_samples=3, replacement=False) print(random_sample_no_replacement) ``` ### 注意事项 - `input` 必须是一维张量或列表。 - 当 `replacement=False` 时,`num_samples` 不能大于 `input` 的长度。 ### 高级用法 可以使用 `generator` 参数来指定随机数生成器,从而确保随机性的可重复性。 ```python # 定义随机数生成器 generator = torch.Generator().manual_seed(42) # 使用指定的生成器进行随机选择 random_sample = torch.random.choice(input_tensor, num_samples=3, replacement=True, generator=generator) print(random_sample) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小纯洁w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值