如果遇到了无法使用这个文件:File is not a zip file
表明这个文件的网站已经不 work了
可以进行下面的步骤解决问题:
第一步:在wikitext at main 中download文件 train-00000-of-00001.parquet
第二步:重写函数read_wiki
import pandas as pd
def _read_wiki(data_dir):#这个是train-00000-of-00001.parquet的路径
# 读取 Parquet 文件为 DataFrame
df = pd.read_parquet(data_dir)
print(df.columns)
# 提取文本内容列并转换为列表
lines = df['text'].tolist()
print("reading")
paragraphs = [line.strip().lower().split(' . ')
for line in lines if len(line.split(' . ')) >= 2]
random.shuffle(paragraphs)#在段落间进行打乱
return paragraphs
第三步:重写函数load_data_wiki
def load_data_wiki(batch_size, max_len):
“”“加载WikiText-2数据集”“”
num_workers = d2l.get_dataloader_workers()
paragraphs = _read_wiki1(your file data_dir)
train_set = _WikiTextDataset(paragraphs, max_len)#返回数据集
train_iter = torch.utils.data.DataLoader(train_set, batch_size,
shuffle=True, num_workers=0)
print(“done”)
print(train_set.vocab)
#每次取这么多个样本
return train_iter, train_set.vocab
第四步:
batch_size, max_len = 512, 64
train_iter, vocab = load_data_wiki(batch_size, max_len)
完成上面4步
it works!