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


Python tf.feature_column.sequence_categorical_column_with_vocabulary_file用法及代碼示例


一係列分類術語,其中 id 使用詞匯文件。

用法

tf.feature_column.sequence_categorical_column_with_vocabulary_file(
    key, vocabulary_file, vocabulary_size=None, num_oov_buckets=0,
    default_value=None, dtype=tf.dtypes.string
)

參數

  • key 標識輸入特征的唯一字符串。
  • vocabulary_file 詞匯文件名。
  • vocabulary_size 詞匯表中元素的數量。這必須不大於 vocabulary_file 的長度,如果小於長度,則忽略後麵的值。如果為 None,則設置為 vocabulary_file 的長度。
  • num_oov_buckets 非負整數,詞匯表外的桶數。所有超出詞匯表的輸入都將根據輸入值的散列分配 [vocabulary_size, vocabulary_size+num_oov_buckets) 範圍內的 ID。不能用 default_value 指定正的 num_oov_buckets
  • default_value 為詞匯外特征值返回的整數 ID 值,默認為 -1 。這不能用正的 num_oov_buckets 來指定。
  • dtype 特征的類型。僅支持字符串和整數類型。

返回

  • 一個SequenceCategoricalColumn

拋出

  • ValueError vocabulary_file 丟失或無法打開。
  • ValueError vocabulary_size 缺失或
  • ValueError num_oov_buckets 是一個負整數。
  • ValueError num_oov_bucketsdefault_value 均已指定。
  • ValueError dtype 既不是字符串也不是整數。

將此傳遞給 embedding_columnindicator_column 以將序列分類數據轉換為密集表示,以輸入到序列 NN,例如 RNN。

例子:

states = sequence_categorical_column_with_vocabulary_file(
    key='states', vocabulary_file='/us/states.txt', vocabulary_size=50,
    num_oov_buckets=5)
states_embedding = embedding_column(states, dimension=10)
columns = [states_embedding]

features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
sequence_feature_layer = SequenceFeatures(columns)
sequence_input, sequence_length = sequence_feature_layer(features)
sequence_length_mask = tf.sequence_mask(sequence_length)

rnn_cell = tf.keras.layers.SimpleRNNCell(hidden_size)
rnn_layer = tf.keras.layers.RNN(rnn_cell)
outputs, state = rnn_layer(sequence_input, mask=sequence_length_mask)

相關用法


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