【问题标题】:FileNotFoundError: [Errno 2] No such file or directory: '.data/multi30k/train.fr'FileNotFoundError:[Errno 2] 没有这样的文件或目录:'.data/multi30k/train.fr'
【发布时间】:2021-09-24 05:58:18
【问题描述】:

我正在尝试使用 google colab 加载 Multi30k torchtext 数据集。当我加载.de 时,它工作正常,但一旦我从.de 更改,我就会收到此错误:

FileNotFoundError: [Errno 2] No such file or directory: '.data/multi30k/train.fr'

这就是我加载.de 的方式,它起作用了:

train_data, valid_data, test_data = datasets.Multi30k.splits(
    root=".data",
    exts=('.de', '.en'),
    fields = (SRC, TRG),
    
)

只要我通过将 .de 更改为 .fr 来更改此代码,就会出现错误:

train_data, valid_data, test_data = datasets.Multi30k.splits(
    root=".data",
    exts=('.fr', '.en'),
    fields = (SRC, TRG),
    
)

进口

import torch
from torch import nn
from torch.nn  import functional as F
import spacy, math, random
import numpy as np
from torchtext.legacy import datasets, data
import time
from prettytable import PrettyTable
from matplotlib import pyplot as plt

种子

SEED = 42
np.random.seed(SEED)
torch.manual_seed(SEED)
random.seed(SEED)
torch.cuda.manual_seed(SEED)
torch.backends.cudnn.deteministic = True

分词器spacy

import spacy
spacy.cli.download('fr_core_news_sm')

spacy_fr = spacy.load('fr_core_news_sm')
spacy_en = spacy.load('en_core_web_sm')

def tokenize_fr(sent):
  return [tok.text for tok in spacy_fr.tokenizer(sent)]

def tokenize_en(sent):
  return [tok.text for tok in spacy_en.tokenizer(sent)]

字段

SRC = data.Field(
    tokenize= tokenize_fr,
    lower= True,
    init_token = "<sos>",
    eos_token = "<eos>",
    include_lengths =True
)

TRG = data.Field(
    tokenize = tokenize_en,
    lower= True,
    init_token = "<sos>",
     eos_token = "<eos>"
)

抛出错误的单元格

train_data, valid_data, test_data = datasets.Multi30k.splits(
    root=".data",
    exts=('.fr', '.en'),
    fields = (SRC, TRG),
)

【问题讨论】:

  • .data/multi30k/train.fr 文件是否存在?
  • 你为什么使用google-colaboratory标签,你的问题中没有提到任何关于它的事情!删除它或提及它!
  • @Michael_H 不是我运行单元格时会创建它吗?
  • 我不知道。能否请您发布带有导入的完整代码,以便我重现错误?
  • @Michael_H 我发布了我目前拥有的所有当前单元格。

标签: python pytorch machine-translation torchtext


【解决方案1】:

这是因为数据集本身没有train.fr文件。

如果你列出 pytorch 下载的内容,

$ !ls -al .data/multi30k
total 5.4M
drwxr-xr-x 2 root root 4.0K Jul 15 14:26 .
drwxr-xr-x 3 root root 4.0K Jul 15 14:26 ..
-rw-r--r-- 1 root root  65K Jul 15 14:26 mmt_task1_test2016.tar.gz
-rw-rw-r-- 1 1000 1000  69K Oct 17  2016 test2016.de
-rw-rw-r-- 1 1000 1000  61K Oct 17  2016 test2016.en
-rw-rw-r-- 1 1000 1000  71K Feb 11  2017 test2016.fr
-rw-rw-r-- 1 1000 1000 2.1M Feb  2  2016 train.de
-rw-rw-r-- 1 1000 1000 1.8M Feb  2  2016 train.en
-rw-r--r-- 1 root root 1.2M Jul 15 14:26 training.tar.gz
-rw-rw-r-- 1 1000 1000  75K Feb  2  2016 val.de
-rw-rw-r-- 1 1000 1000  62K Feb  2  2016 val.en
-rw-r--r-- 1 root root  46K Jul 15 14:26 validation.tar.gz

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2019-11-03
    • 2021-08-24
    • 2021-03-07
    • 2015-06-09
    • 2021-04-01
    • 2021-10-15
    相关资源
    最近更新 更多