当前位置: 首页 > news >正文

数据加载器

数据集类必要的三个方法:

init:从哪里读取数据,写路径

getitem:获取数据的内容

len:获取数据的总个数

数据加载器类相当于一个容器,你把数据放进去由它进行下一步管理。

注意文件的路径

import torch
from torch.utils.data import Dataset,DataLoader

data_path = r"C:\Users\Li\Desktop\learnPytorch\2\smsspamcollection\SMSSpamCollection"

#完成数据集类
class MyDateset(Dataset):
    def __init__(self):
        self.lines = open(data_path,'r',encoding='utf-8').readlines()

    def __getitem__(self, index):
        #获取索引对应位置的一条数据  这里有无strip都无关紧要
        cur_line = self.lines[index].strip()
        #将是否是骚扰和短信的内容分开。label表示标记,content是里面的内容
        label = cur_line[:4].strip()
        content = cur_line[4:].strip()
        return label,content

    def __len__(self):
        #返回数据的总数量
        return len(self.lines)

my_dataset = MyDateset()

data_loader = DataLoader(dataset=my_dataset,batch_size=2,shuffle=True)

if __name__ == '__main__':
    # my_dataset = MyDateset()
    # print(my_dataset[0])
    # print(my_dataset.__len__())
    for i in data_loader:
        print(i)


相关文章:

  • AI开源概览及工具使用
  • 在Sequence中缓存Niagara粒子轨道
  • CI/CD实战-jenkins部署 3
  • css的text-shadow详解
  • Python并发编程的三种方式:多线程(threading)、多进程(multiprocessing),以及基于协程的异步I/O(asyncio)
  • 02 React 组件使用
  • RAFT: Adapting Language Model to Domain Specific RAG
  • 钡铼技术R40路由器助力构建无人值守的智能化污水处理厂
  • java Web餐馆订单管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
  • opencv各个模块介绍(1)
  • Visual Studio QT6 工程引入组件模块,例如:QtXml
  • LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement
  • c语言函数大全(C开头)
  • 快速区分清楚图形渲染中的AABB,KD树和BVH这些概念
  • 【C++】static关键字及其修饰的静态成员变量/函数详解
  • 代码随想录训练营Day32:● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II
  • Java 中的 Math. round(-1. 5) 等于多少?
  • 软件测试 - postman高级使用
  • leetcode35-Search Insert Position
  • Saltstack 最大打开文件数问题之奇怪的 8192
  • 巴基斯坦称对印度发起军事行动
  • 习近平出席俄罗斯纪念苏联伟大卫国战争胜利80周年庆典
  • 中俄元首今年首次面对面会谈,达成哪些新的重要共识?
  • 独家丨刘家琨获普利兹克奖感言:守护原始的感悟力
  • 中国海警依法驱离日非法进入我钓鱼岛领海船只
  • 马新民卸任外交部条约法律司司长