Pytorch:torch.utils.data.random_split()

random_split() 函数说明:

torch.utils.data.random_split(dataset, lengths, generator=<torch._C.Generator object>)

参数:

  • dataset(Dataset) -要拆分的数据集
  • lengths(序列) -要产生的分割长度
  • generator(torch.Generator) -用于随机排列的生成器。

注:关于torch.Generator详见笔记:Pytorch:torch.Generator()

pytorch: random_split(),函数的具体定义如下:

python 复制代码
def random_split(dataset, lengths):
    r"""
    Randomly split a dataset into non-overlapping new datasets of given lengths.

    Arguments:
        dataset (Dataset): Dataset to be split
        lengths (sequence): lengths of splits to be produced
    """
    if sum(lengths) != len(dataset):
        raise ValueError("Sum of input lengths does not equal the length of the input dataset!")

    indices = randperm(sum(lengths)).tolist()
    return [Subset(dataset, indices[offset - length:offset]) for offset, length in zip(_accumulate(lengths), lengths)]

以U-Net代码(详见:U-Net代码复现)为例:

python 复制代码
n_val = int(len(dataset) * val_percent)
n_train = len(dataset) - n_val
train_set, val_set = random_split(dataset, [n_train, n_val], generator=torch.Generator().manual_seed(0))

通过random_split()将数据分为训练集和验证集(随机)

相关推荐
LiFileHub2 分钟前
神经网络全栈指南:从经典架构到NL范式落地(附12套工程化模板)
人工智能
AI_56788 分钟前
智慧交通:基于边缘计算的信号灯智能调度系统
人工智能·边缘计算
min18112345612 分钟前
因果推理在机器学习中的集成路径
人工智能
小鸡吃米…17 分钟前
机器学习——生态系统
人工智能·机器学习
说私域25 分钟前
基于开源AI大模型、AI智能名片与商城小程序的购物中心“人货场车”全面数字化解决方案研究
人工智能·小程序·开源
丝斯201125 分钟前
AI学习笔记整理(38)——自然语言处理的‌基于深度学习的语言模型
人工智能·学习·自然语言处理
小毅&Nora27 分钟前
【人工智能】【大模型】大语言模型最新进展:2025年技术演进与实用指南
人工智能·语言模型·自然语言处理
Codebee28 分钟前
惊了!ooder-org藏提示词彩蛋|AI驱动工程典范,1小时焕新DSM全靠A2UI
人工智能·编程语言·全栈
Coder_Boy_31 分钟前
基于SpringAI的智能平台基座开发-(二)
java·人工智能·springboot·aiops·langchain4j
编码小哥31 分钟前
OpenCV轮廓检测与绘制实战
人工智能·opencv·计算机视觉