- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
torchtext.data.TabularDataset
可以从 TSV/JSON/CSV 文件创建,然后可用于从 Glove、FastText 或任何其他嵌入构建词汇表。但我的要求是直接从 list
或 dict
创建一个 torchtext.data.TabularDataset
。
当前通过读取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)
这是从文件中读取数据的当前工作代码。因此,为了直接从 List/Dict 创建数据集,我尝试了内置函数,例如 Examples.fromDict
或 Examples.fromList 但是当进入最后一个 for 循环时,它抛出了一个错误 AttributeError: 'BucketIterator' 对象没有属性 'q1'
最佳答案
它要求我编写一个自己的类来继承 Dataset 类,并在 torchtext.data.TabularDataset
类中进行少量修改。
class TabularDataset_From_List(data.Dataset):
def __init__(self, input_list, format, fields, skip_header=False, **kwargs):
make_example = {
'json': Example.fromJSON, 'dict': Example.fromdict,
'tsv': Example.fromTSV, 'csv': Example.fromCSV}[format.lower()]
examples = [make_example(item, fields) for item in input_list]
if make_example in (Example.fromdict, Example.fromJSON):
fields, field_dict = [], fields
for field in field_dict.values():
if isinstance(field, list):
fields.extend(field)
else:
fields.append(field)
super(TabularDataset_From_List, self).__init__(examples, fields, **kwargs)
@classmethod
def splits(cls, path=None, root='.data', train=None, validation=None,
test=None, **kwargs):
if path is None:
path = cls.download(root)
train_data = None if train is None else cls(
train, **kwargs)
val_data = None if validation is None else cls(
validation, **kwargs)
test_data = None if test is None else cls(
test, **kwargs)
return tuple(d for d in (train_data, val_data, test_data)
if d is not None)
关于python - 如何直接从列表或字典创建 torchtext.data.TabularDataset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53046583/
我有一个数据框,其中有两列(评论和情绪)。我正在使用 pytorch 和 torchtext 库来预处理数据。是否可以使用 dataframe 作为源来读取 torchtext 中的数据?我正在寻找类
我的机器上安装了 PyTorch,但每当我尝试执行以下操作时 - from torchtext import data from torchtext import datasets 我收到以下错误。
torchtext 能够读取包含一些列的文件,每一列对应一个字段。如果我想创建一个新列(我将其用作一项功能)怎么办?例如,假设文件有两列,文本和目标,我想从文本中提取一些信息并生成一个新特征(例如,如
我有一个来自 torchtext 的 Bucketiterator,我将它提供给 pytorch 中的模型。如何构造迭代器的示例: train_iter, val_iter = BucketItera
我正在处理文本并使用 torchtext.data.Dataset .创建数据集需要花费大量时间。对于只是运行程序,这仍然是可以接受的。但我想调试神经网络的 torch 代码。如果 python 在
我在 torchtext 中遇到了一个问题,并为此苦苦挣扎了很长时间。我试图使用 torchtext 和 spacy 对文本进行标记和数字化。我将我的分词器定义如下: def Sp_Tokenizer
我正在尝试使用 torchtext 进行序列标记,其中序列是句子。因此,每个 Example 都是句子及其标签的列表: [ { 'texts': ["An example.", "It's
据我所知,从 torchtext 0.9.0 开始,torchtext.data 和 torchtext.dataset 被移动到 torchtext.legacy 但我的 0.12.0 torcht
torchtext.data.TabularDataset 可以从 TSV/JSON/CSV 文件创建,然后可用于从 Glove、FastText 或任何其他嵌入构建词汇表。但我的要求是直接从 lis
使用 pytorch 的 torchtext 构建文本分类模型。词汇表对象在 data.field 中: def create_tabularDataset_object(self,csv_path)
我最近开始使用 PyTorch 进行 ML/DL。以下 pytorch 示例说明了我们如何训练一个简单的模型来将德语翻译成英语。 https://pytorch.org/tutorials/begin
我想用 pytorch 从 tsv 文件创建一个数据集。 我正在考虑使用 torchtext.data.TabularDataset.splits 但我收到一条错误消息。 AttributeError
我想运行一个 git project使用 pytorch 和 torchtext 但是当我运行它时,它会引发错误: File "main.py", line 60, in main()
torchtext 0.4.0 库存在(可以通过 pip 下载),但是 conda install torchtext=0.4.0不管用。如何将 torchtext 下载到 anaconda 环境?
看起来之前声明字段、示例和使用 BucketIterator 的范式已被弃用,并将在 0.8 中转移到旧版。但是,我似乎无法找到不使用 Field 的自定义数据集的新范式示例(例如,不是 torch.
我正在使用 RNN 并使用 Pytorch 和 Torchtext。我在 RNN 中构建词汇时遇到问题。我的代码如下: TEXT = Field(tokenize=tokenizer, lower=T
如何在pytorrch中读入.txt文件(语料库)到torchtext? 我只看到 data.Dataset 的示例数据集和 data.TabularData 的 csv、json 和 tsv。 ht
当我尝试查看批处理时,通过打印 BucketIterator 对象的下一次迭代,抛出了 AttributeError。 tv_datafields=[("Tweet",TEXT), ("Anger",
我有 64 位 Windows 10 操作系统我已经安装了python 3.6.8我已经使用 pip 安装了 torch 和 torchtext。手电筒版本为1.2.0 我正在尝试使用以下代码加载 A
我是一名优秀的程序员,十分优秀!