來自文本文件的表初始值設定項。
用法
tf.lookup.TextFileInitializer(
filename, key_dtype, key_index, value_dtype, value_index, vocab_size=None,
delimiter='\t', name=None, value_index_offset=0
)
參數
-
filename
用於初始化的文本文件的文件名。該路徑必須可以從圖形初始化的任何地方訪問(例如,訓練師或評估工人)。文件名可以是標量Tensor
。 -
key_dtype
key
數據類型。 -
key_index
表示要從中獲取表'key' 值的行信息的索引。 -
value_dtype
value
數據類型。 -
value_index
表示要從中獲取表'value' 值的行信息的索引。 -
vocab_size
文件中的元素數量(如果已知)。 -
delimiter
分隔行中字段的分隔符。 -
name
操作的名稱(可選)。 -
value_index_offset
添加到從文件中提取的所有索引的數字 這對於用戶希望為控製字符保留一個或多個低索引值的情況很有用。例如,如果您想確保沒有詞匯項映射到索引 0(因此您可以為掩碼值保留 0),您可以將 value_index_offset 設置為 1;這意味著第一個詞匯表元素被映射到 1 而不是 0。
拋出
-
ValueError
當文件名為空,或者表鍵和值數據類型與預期數據類型不匹配時。
屬性
-
key_dtype
預期的表鍵 dtype。 -
value_dtype
預期的表值 dtype。
此初始化程序為文件中的每一行分配表中的一個條目。
要初始化的表的鍵和值類型由 key_dtype
和 value_dtype
給出。
從每一行獲取的鍵和值內容由 key_index
和 value_index
指定。
TextFileIndex.LINE_NUMBER
表示使用從零開始的行號,需要數據類型 int64。TextFileIndex.WHOLE_LINE
表示使用整行內容,需要數據類型字符串。- 值
>=0
表示使用基於delimiter
的分割線的索引(從零開始)。
例如,如果我們有一個包含以下內容的文件:
import tempfile
f = tempfile.NamedTemporaryFile(delete=False)
content='\n'.join(["emerson 10", "lake 20", "palmer 30",])
f.file.write(content.encode('utf-8'))
f.file.close()
以下代碼片段初始化了一個表,其中第一列作為鍵,第二列作為值:
emerson -> 10
lake -> 20
palmer -> 30
init= tf.lookup.TextFileInitializer(
filename=f.name,
key_dtype=tf.string, key_index=0,
value_dtype=tf.int64, value_index=1,
delimiter=" ")
table = tf.lookup.StaticHashTable(init, default_value=-1)
table.lookup(tf.constant(['palmer','lake','tarkus'])).numpy()
類似地將整行初始化為鍵,將行號初始化為值。
emerson 10 -> 0
lake 20 -> 1
palmer 30 -> 2
init = tf.lookup.TextFileInitializer(
filename=f.name,
key_dtype=tf.string, key_index=tf.lookup.TextFileIndex.WHOLE_LINE,
value_dtype=tf.int64, value_index=tf.lookup.TextFileIndex.LINE_NUMBER)
table = tf.lookup.StaticHashTable(init, -1)
table.lookup(tf.constant('palmer 30')).numpy()
2
相關用法
- Python tf.lookup.KeyValueTensorInitializer用法及代碼示例
- Python tf.lookup.experimental.MutableHashTable用法及代碼示例
- Python tf.lookup.StaticHashTable用法及代碼示例
- Python tf.lookup.experimental.MutableHashTable.lookup用法及代碼示例
- Python tf.lookup.experimental.DenseHashTable用法及代碼示例
- Python tf.lookup.StaticVocabularyTable用法及代碼示例
- Python tf.linalg.LinearOperatorFullMatrix.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.solve用法及代碼示例
- Python tf.linalg.LinearOperatorIdentity.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorPermutation.solve用法及代碼示例
- Python tf.lite.Interpreter.get_signature_runner用法及代碼示例
- Python tf.lite.experimental.QuantizationDebugger用法及代碼示例
- Python tf.linalg.band_part用法及代碼示例
- Python tf.linalg.LinearOperatorKronecker.diag_part用法及代碼示例
- Python tf.linalg.lu_matrix_inverse用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorBlockLowerTriangular.solvevec用法及代碼示例
- Python tf.lite.Interpreter.tensor用法及代碼示例
- Python tf.linalg.LinearOperatorLowerTriangular.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant2D.solve用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.lookup.TextFileInitializer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。