标签: torchtext

Torchtext 0.7 显示 Field 已被弃用。什么是替代方案?

看起来之前声明字段、示例和使用 BucketIterator 的范式已被弃用,并将在 0.8 中转移到旧版。但是,我似乎无法找到不使用 Field 的自定义数据集的新范式示例(例如,不是 torch.datasets 中包含的那些)。谁能给我指出一个最新的例子?

弃用参考:

https://github.com/pytorch/text/releases

pytorch torchtext

16
推荐指数
1
解决办法
2535
查看次数

如何直接从列表或字典创建 torchtext.data.TabularDataset

torchtext.data.TabularDataset可以从 TSV/JSON/CSV 文件创建,然后它可以用于从 Glove、FastText 或任何其他嵌入构建词汇表。但我的要求是torchtext.data.TabularDataset从 alist或 a直接创建一个dict

通过读取 TSV 文件当前实现的代码

self.RAW = data.RawField()
self.TEXT = data.Field(batch_first=True)
self.LABEL = data.Field(sequential=False, unk_token=None)


self.train, self.dev, self.test = data.TabularDataset.splits(
    path='.data/quora',
    train='train.tsv',
    validation='dev.tsv',
    test='test.tsv',
    format='tsv',
    fields=[('label', self.LABEL),
            ('q1', self.TEXT),
            ('q2', self.TEXT),
            ('id', self.RAW)])


self.TEXT.build_vocab(self.train, self.dev, self.test, vectors=GloVe(name='840B', dim=300))
self.LABEL.build_vocab(self.train)


sort_key = lambda x: data.interleave_keys(len(x.q1), len(x.q2))


self.train_iter, self.dev_iter, self.test_iter = \
    data.BucketIterator.splits((self.train, self.dev, self.test),
                               batch_sizes=[args.batch_size] * 3,
                               device=args.gpu,
                               sort_key=sort_key)
Run Code Online (Sandbox Code Playgroud)

这是从文件中读取数据的当前工作代码。所以,为了直接从列表/快译通我创建数据集试图像内置的功能Examples.fromDict或Examples.fromList但随后当来到最后一个for循环,它抛出一个错误AttributeError: 'BucketIterator' object has no attribute 'q1'

python dataset pytorch torchtext

8
推荐指数
1
解决办法
6847
查看次数

BucketIterator 抛出“Field”对象没有属性“vocab”

这不是一个新问题,我找到了没有任何解决方案的参考文献firstsecond。我是 PyTorch 的新手,AttributeError: 'Field' object has no attribute 'vocab'PyTorch使用torchtext.

继本书之后,Deep Learning with PyTorch我编写了与书中解释的相同的示例。

这是片段:

from torchtext import data
from torchtext import datasets
from torchtext.vocab import GloVe

TEXT = data.Field(lower=True, batch_first=True, fix_length=20)
LABEL = data.Field(sequential=False)
train, test = datasets.IMDB.splits(TEXT, LABEL)

print("train.fields:", train.fields)
print()
print(vars(train[0]))  # prints the object



TEXT.build_vocab(train, vectors=GloVe(name="6B", dim=300),
                 max_size=10000, min_freq=10)

# VOCABULARY
# print(TEXT.vocab.freqs)  # freq
# print(TEXT.vocab.vectors)  # vectors
# print(TEXT.vocab.stoi)  # Index

train_iter, test_iter …
Run Code Online (Sandbox Code Playgroud)

python iterator nlp pytorch torchtext

7
推荐指数
1
解决办法
5958
查看次数

如何在 conda 上安装 torchtext 0.4.0

torchtext 0.4.0 库存在(可以通过 pip 下载),但conda install torchtext=0.4.0不起作用。如何将 torchtext 下载到 anaconda 环境?

anaconda pytorch torchtext

7
推荐指数
2
解决办法
4220
查看次数

colab中的火炬文本导入错误

我正在尝试在 colab 中运行本教程

但是,当我尝试导入一堆模块时:

import io
import torch
from torchtext.utils import download_from_url
from torchtext.data.utils import get_tokenizer
from torchtext.vocab import build_vocab_from_iterator
Run Code Online (Sandbox Code Playgroud)

它给我的错误extract_archivebuild_vocab_from_iterator

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-a24e72502dbc> in <module>()
      1 import io
      2 import torch
----> 3 from torchtext.utils import download_from_url, extract_archive
      4 from torchtext.data.utils import get_tokenizer
      5 from torchtext.vocab import build_vocab_from_iterator

ImportError: cannot import name 'extract_archive'


ImportError                               Traceback (most recent call last)
<ipython-input-4-02a401fd241b> in <module>()
      3 from torchtext.utils import download_from_url
      4 …
Run Code Online (Sandbox Code Playgroud)

python importerror pytorch google-colaboratory torchtext

7
推荐指数
1
解决办法
6047
查看次数

OverflowError:Python int太大,无法转换为C long torchtext.datasets.text_classification.DATASETS ['AG_NEWS']()

我有64位Windows 10操作系统,我已经安装了python 3.6.8,我已经使用pip安装了torch和torchtext。火炬版本为1.2.0

我正在尝试使用以下代码加载AG_NEWS数据集:

import torch
import torchtext
from torchtext.datasets import text_classification
NGRAMS = 2
import os
if not os.path.isdir('./.data'):
    os.mkdir('./.data')
train_dataset, test_dataset = text_classification.DATASETS['AG_NEWS'](root='./.data', ngrams=NGRAMS, vocab=None)
Run Code Online (Sandbox Code Playgroud)

在上述代码的最后一条语句中,我得到以下错误:

---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)
<ipython-input-1-7e8544fdaaf6> in <module>
      6 if not os.path.isdir('./.data'):
      7     os.mkdir('./.data')
----> 8 train_dataset, test_dataset = text_classification.DATASETS['AG_NEWS'](root='./.data', ngrams=NGRAMS, vocab=None)
      9 # BATCH_SIZE = 16
     10 # device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

c:\users\pramodp\appdata\local\programs\python\python36\lib\site-packages\torchtext\datasets\text_classification.py in AG_NEWS(*args, **kwargs)
    168     """
    169 
--> 170     return _setup_datasets(*(("AG_NEWS",) + args), **kwargs) …
Run Code Online (Sandbox Code Playgroud)

python windows pandas pytorch torchtext

6
推荐指数
1
解决办法
452
查看次数

数据框作为torchtext中的数据源

我有一个数据框,其中有两列(评论和情感)。我正在使用pytorch和torchtext库预处理数据。是否可以使用数据帧作为源以torchtext读取数据?我正在寻找类似但不是的东西

data.TabularDataset.splits(path='./data')
Run Code Online (Sandbox Code Playgroud)

我已经对数据执行了一些操作(干净,更改为所需的格式),最终数据在数据框中。

如果不是torchtext,那么您建议使用什么其他软件包来帮助预处理dataram中存在的文本数据。我在网上找不到任何东西。任何帮助都会很棒。

nlp dataframe pytorch torchtext

5
推荐指数
1
解决办法
1285
查看次数

无法导入 torchtext.legacy.data

在此输入图像描述

据我所知,从torchtext 0.9.0开始,torchtext.data和torchtext.dataset被移至torchtext.legacy

但我的 0.12.0 torchtext 不能,import torchtext.legacy 但它可以import torchtext.data

我尝试是否再次移动到 torchtext.data 但我找不到任何文档

  • 火炬。版本==1.11.0

python import pytorch torchtext

5
推荐指数
1
解决办法
6064
查看次数

TorchText Vocab TypeError: Vocab.__init__() got an unexpected keyword argument 'min_freq'

I am working on a CNN Sentiment analysis machine learning model which uses the IMDb dataset provided by the Torchtext library. On one of my lines of code

vocab = Vocab(counter, min_freq = 1, specials=('\<unk\>', '\<BOS\>', '\<EOS\>', '\<PAD\>'))

I am getting a TypeError for the min_freq argument even though I am certain that it is one of the accepted arguments for the function. I am also getting UserWarning Lambda function is not supported for pickle, please use regular python function …

python imdb tokenize conv-neural-network torchtext

5
推荐指数
1
解决办法
4925
查看次数

AttributeError:模块“torchtext”没有属性“legacy”

我正在尝试使用 torchtext 来处理测试数据,但是,当我运行以下代码时,出现错误:“AttributeError:模块‘torchtext’没有属性‘legacy’”。谁能指导我这里的问题是什么?我正在使用 python 3.10.4。谢谢

import pandas as pd
import torch
import torchtext
import spacy


def prep_data(file_path):

    TEXT=torchtext.legacy.data.Field(tokenize='spacy', tokenizer_language='en_core_web_sm')
    LABEL=torchtext.legacy.data.LabelField(dtype=torch.long)

    fields=[('clean_text', TEXT), ('label',LABEL)]
    dataset = torchtext.legacy.data.TabularDataset(
    path=file_path, format='csv',
    skip_header=True, fields=fields)

    print(dataset.examples[0])


   if __name__=="__main__":
       train_path='./data/train.csv'
       test_path='./data/test.csv'
       prep_data(train_path)
Run Code Online (Sandbox Code Playgroud)

torchtext

5
推荐指数
1
解决办法
6877
查看次数