當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch vocab用法及代碼示例


本文簡要介紹python語言中 torchtext.vocab.vocab 的用法。

用法:

torchtext.vocab.vocab(ordered_dict: Dict, min_freq: int = 1) → torchtext.vocab.vocab.Vocab

參數

  • ordered_dict-有序字典將標記映射到它們相應的出現頻率。

  • min_freq-在詞匯表中包含標記所需的最小頻率。

返回

Vocab 對象

返回類型

torchtext.vocab.詞匯

用於創建將標記映射到索引的詞匯對象的工廠方法。

請注意,在構建 vocab 時將遵守在 ordered_dict 中插入鍵值對的順序。因此,如果按令牌頻率排序對用戶很重要,則應以反映這一點的方式創建ordered_dict

例子

>>> from torchtext.vocab import vocab
>>> from collections import Counter, OrderedDict
>>> counter = Counter(["a", "a", "b", "b", "b"])
>>> sorted_by_freq_tuples = sorted(counter.items(), key=lambda x: x[1], reverse=True)
>>> ordered_dict = OrderedDict(sorted_by_freq_tuples)
>>> v1 = vocab(ordered_dict)
>>> print(v1['a']) #prints 1
>>> print(v1['out of vocab']) #raise RuntimeError since default index is not set
>>> tokens = ['e', 'd', 'c', 'b', 'a']
>>> v2 = vocab(OrderedDict([(token, 1) for token in tokens]))
>>> #adding <unk> token and default index
>>> unk_token = '<unk>'
>>> default_index = -1
>>> if unk_token not in v2: v2.insert_token(unk_token, 0)
>>> v2.set_default_index(default_index)
>>> print(v2['<unk>']) #prints 0
>>> print(v2['out of vocab']) #prints -1
>>> #make default index same as index of unk_token
>>> v2.set_default_index(v2[unk_token])
>>> v2['out of vocab'] is v2[unk_token] #prints True

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchtext.vocab.vocab。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。