手把手教你用 PyTorch 创建文本 Dataset 和 DataLoader
以下是为您补充完整的创建 `Dataset` 和 `DataLoader` 的代码示例: ```python import torch from torch.utils.data import Dataset, DataLoader from torch.nn.utils.rnn import pad_sequence from transformers import BertTokenizer # 假设 vocab 是词表,unk 是未知词标记 class TextDataset(Dataset): def __init__(self, data): # 初始化函数,接受数据作为参数 self.data = data # 将输入文本的句子列表进行分词,并将每个词转换为词表中的 id self.sequences = [[vocab.get(word, vocab.get(unk)) for word in sentence] for sentence in tokenizer(data['text'].values)] def __len__(self): return len(self.sequences) def __getitem__(self, index): return self.sequences[index] def collate_fn(batch): # 对句子进行填充,使得每个 batch 内句子长度相同 return pad_sequence([torch.tensor(seq) for seq in batch], batch_first=True) # 示例数据 data = {'text': ['This is a sample sentence.', 'Another example here.']} tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') # 创建数据集实例 dataset = TextDataset(data) # 设置 batch size 大小,创建数据加载器实例 batch_size = 32 dataloader = DataLoader(dataset, batch_size=batch_size, collate_fn=collate_fn) ``` ######[AI写代码神器 | 338点数解答 | 2024-11-03 11:46:00]
- Python 实现:带输入验证与优化查找的随机整数定位程序(字节豆包 | 253点数解答 | 2024-11-20 13:17:34)92
- Java 创建 HTTP POST 请求实现文件上传:代码示例与注意要点 (字节豆包 | 300点数解答 | 2024-12-06 16:07:20)341
- 手把手教你用 PyTorch 创建文本 Dataset 和 DataLoader(字节豆包 | 338点数解答 | 2024-11-03 11:46:00)197
- Python 代码:从 CSV 加载数据,处理异常值并归一化(字节豆包 | 34点数解答 | 2024-11-09 10:50:56)322
- Python 正则表达式:从“文本+数字+顿号”字符串中精准提取内容(字节豆包 | 218点数解答 | 2024-11-07 12:17:47)224
- Minecraft基岩版:定制start_screen.json,点击按钮弹出居中文本弹窗!(讯飞星火 | 628点数解答 | 2024-11-16 19:45:41)142
- Minecraft基岩版:为开始界面UI添加点击弹窗按钮的详细指南(百度文心 | 1123点数解答 | 2024-11-16 19:46:05)225
- Minecraft基岩版:教你打造带弹窗按钮的开始界面UI(start_screen.json)(字节豆包 | 181点数解答 | 2024-11-16 19:46:26)191
- Minecraft基岩版:教你在start_screen.json添加点击弹窗按钮! (GPT | 478点数解答 | 2024-11-16 19:46:41)144
- MySQL:创建 schooldb 数据库及 teacher、class、course、student 表的完整 SQL 实现(字节豆包 | 312点数解答 | 2024-11-18 14:36:45)305
- JavaScript开发难题破解:模拟“原生”方法及Node.js中的相关应用(阿里通义 | 192点数解答 | 2023-11-09 01:16:49)312
- Spring框架实战:从配置到实现,搞定员工信息查询功能(GPT | 2135点数解答 | 2024-06-12 08:32:35)317