簡體   English   中英

torchtext function 中的“未找到令牌第二\團隊且未設置默認索引”錯誤

[英]"Token second\team not found and default index is not set" error in torchtext function

這是我的代碼,function 適用於訓練集,但對於測試集返回此錯誤RuntimeError: Token second\team not found and default index is not set

train_data, train_labels = text_classification._create_data_from_iterator(
    vocab, text_classification._csv_iterator(train_csv_path, ngrams, yield_cls=True), False)
test_data, test_labels = text_classification._create_data_from_iterator(
    vocab, text_classification._csv_iterator(test_csv_path, ngrams, yield_cls=True), False)

有誰知道出了什么問題?

詞匯表充當將str轉換為int的數據的查找表。 當給定字符串(在本例中為“second\team”)未出現在詞匯表中時,有兩種策略可以彌補:

  1. 拋出一個錯誤,因為你不知道如何處理它。 想象一下在KeyError中調用{}[1]時出現類似 KeyError 的情況
  2. 為丟失的令牌分配一個默認的“未知”令牌。 想象一下像 Python 中的{}.get(1, "I don't know!")的默認值。

您的代碼目前正在執行 #1。 你似乎想要#2,你可以使用vocab.set_default_index來實現。 構建詞匯時,添加specials=["<unk>"]誇爾格,然后調用vocab.set_default_index(vocab['<unk>'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM