李沐60_机器翻译数据集——自学笔记

本文介绍了如何使用d2l库下载和预处理英文到法文的翻译数据,包括去除非连续空格、转小写、词元化,以及创建词表和处理小批量数据,为后续的神经网络翻译模型训练做准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

!pip install d2l
import os
import torch
from d2l import torch as d2l

下载和预处理数据集

在这个将英语翻译成法语的机器翻译问题中, 英语是源语言(source language), 法语是目标语言(target language)。

d2l.DATA_HUB['fra-eng'] = (d2l.DATA_URL + 'fra-eng.zip',
                           '94646ad1522d915e7b0f9296181140edcf86a4f5')

def read_data_nmt():
    """载入“英语-法语”数据集"""
    data_dir = d2l.download_extract('fra-eng')
    with open(os.path.join(data_dir, 'fra.txt'), 'r',
             encoding='utf-8') as f:
        return f.read()

raw_text = read_data_nmt()
print(raw_text[:75])
Downloading ../data/fra-eng.zip from http://d2l-data.s3-accelerate.amazonaws.com/fra-eng.zip...
Go.	Va !
Hi.	Salut !
Run!	Cours !
Run!	Courez !
Who?	Qui ?
Wow!	Ça alors !

下载数据集后,原始文本数据需要经过几个预处理步骤。 例如,我们用空格代替不间断空格(non-breaking space), 使用小写字母替换大写字母,并在单词和标点符号之间插入空格。

def preprocess_nmt(text):
    """预处理“英语-法语”数据集"""
    def no_space(char, prev_char):
        return char in set(',.!?') and prev_char != ' '

    # 使用空格替换不间断空格
    # 使用小写字母替换大写字母
    text = text.replace('\u202f', ' ').replace('\xa0', ' ').lower()
    # 在单词和标点符号之间插入空格
    out = [' ' + char if i > 0 and</
是一位著名的计算机科学家,他在物体检测和数据集方面做出了很多贡献。在物体检测方面,他提到了目标检测和图片分类的区别。图片分类是找出主体,而目标检测是在图片中识别所有感兴趣的物体,并知道它们的位置,通常使用边缘框来表示物体的位置。边缘框可以通过4个数字定义,即左上x坐标、左上y坐标、右下x坐标和右下y坐标,或者左上x坐标、左上y坐标、宽度和高度。目标检测数据集一般以每行表示一个物体的方式存放,包括图片文件名、物体类别和边缘框的位置。一个著名的目标检测数据集是COCO,它包含80类物体、330k张图片和1.5M个物体。\[1\] 在数据集方面,创建了一个自定义的Dataset实例,用于加载香蕉检测数据集。这个自定义数据集实例包括了读取数据、获取图片和物体标签以及获取数据集长度的功能。通过这个自定义数据集实例,可以方便地加载和处理香蕉检测数据集。\[2\] 此外,还提供了一个函数用于返回训练集和测试集的数据加载器实例。这个函数可以根据设置的批量大小,加载并返回训练集和测试集的数据加载器实例。在物体检测任务中,一个批量的数据格式通常是(批量大小, 图片中的物体个数, 特征),其中特征包括物体的标号、框的坐标等。\[3\] #### 引用[.reference_title] - *1* *2* *3* [动手学深度学习之物体检测和数据集](https://blog.youkuaiyun.com/qq_38689352/article/details/119925965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值