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()将数据分为训练集和验证集(随机)

相关推荐
skywalk81633 分钟前
划时代的AI Agent qwen的回答和思考
人工智能
张较瘦_4 分钟前
[论文阅读] AI | 大语言模型服务系统服务级目标和系统级指标优化研究
论文阅读·人工智能·语言模型
golang学习记6 分钟前
Cursor 2.0正式发布:携自研模型Composer强势登场,不再只做「壳」
人工智能
文火冰糖的硅基工坊12 分钟前
[人工智能-大模型-97]:大模型应用层 - 随着技术的发展,软件工程与软件开发过程提效演进阶段(工具化 → 流程化 → 智能化)和未来的展望。
人工智能·软件工程
蛋王派26 分钟前
本地部署DeepSeek-OCR:打造高效的PDF文字识别服务
人工智能·自然语言处理·pdf·ocr
Pocker_Spades_A30 分钟前
Answer企业社区实战:零成本搭建技术问答平台,远程协作效率提升300%!
人工智能
南方的狮子先生32 分钟前
【深度学习】卷积神经网络(CNN)入门:看图识物不再难!
人工智能·笔记·深度学习·神经网络·机器学习·cnn·1024程序员节
@LetsTGBot搜索引擎机器人35 分钟前
从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战
开发语言·python·搜索引擎·github·全文检索
短鼻子小象1 小时前
DeepSeek-OCR:革命性文档识别模型全面解析及实测
python·ai·ocr
TOWE technology1 小时前
同为科技定制PDU赋能智联未来
人工智能·科技·物联网·数据中心·idc·智能pdu·定制pdu