torch.random.choice最新api
时间: 2024-12-11 07:13:12 浏览: 21
`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)
```
阅读全文