深度学习的一些工具函数

本文介绍了在深度学习项目中如何有效地划分数据集,包括针对小数据集的随机打乱方法,以及处理大数据集时根据比例或数量划分的get_dataset_split_num函数。还详细讲解了cut_datasets函数,用于根据给定比例切分训练、验证和测试数据集。
摘要由CSDN通过智能技术生成

简介

记录深度学习编写程序过程中的一些工具函数

数据集

划分数据集

数据集划分思路:

  • 若数据集很小,直接随机打乱
    	import random  
    	random.shuffle(data)
    
  • 若数据集很大,选择随机打乱下标,根据下标实现数据集划分
  • get_dataset_split_num

    无需输入训练集,只输入验证集和测试集的比例或具体数量

    def get_dataset_split_num(n, valid=0, test=0):
    	"""
    		n: 数据集数量
    		valid, test: 可为比例和具体数值
    	"""
        if valid < 1:
            assert test < 1
            assert valid + test > 0
            valid_num = int(n * valid)
            test_num = int(n * test)
            train_num = n - valid_num - test_num
        else:
            valid_num = valid
            test_num = test
            train_num = n - valid_num - test_num
        return train_num, valid_num, test_num
    

    运行:

    train_num, valid_num, test_num = get_dataset_split_num(100, valid=0.2, test=0.31)
    train_num, valid_num, test_num = get_dataset_split_num(100, valid=20, test=31)
    
  • cut_datasets
    数据集打乱

    def cut_datasets(arr, valid=0, test=0):
    	"""
    		arr: 为下标数组
    	"""
        train_num, valid_num, _ = get_dataset_split_num(len(arr), valid, test)
        a1 = arr[:train_num]
        a2 = arr[train_num:train_num + valid_num]
        a3 = arr[train_num + valid_num:]
        return a1, a2, a3
    
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jieshenai

为了遇见更好的文章

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

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

打赏作者

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

抵扣说明:

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

余额充值