在 PyTorch 中,torch.utils.data.random_split
是一个非常有用的函数,用于将数据集随机分割成多个子集
。这在机器学习和深度学习中非常常见,特别是当你需要将数据集分割成训练集
和测试集
或验证集
时。这里是 random_split
的详细用法介绍:
功能
random_split
用于随机地将一个完整的数据集划分为多个子集。它确保数据点被随机且独立
地分配到每个子集中。
参数
random_split
函数接受两个主要参数:
- dataset (
Dataset
): 要被分割的数据集,必须是继承自torch.utils.data.Dataset
的类的实例。 - lengths (
List[int]
): 一个整数列表,表示每个生成的子集应有的长度
。列表中的所有整数之和
应该等于原始数据集中的数据点总数
。
返回值
random_split
返回一个列表
,列表中的每个元素都是 Subset
类的实例,对应于输入的 lengths
参数中指定的长度。
示例用法
假设你有一个包含 1000 个数据点的数据集,并希望将其分为两个部分: