来自文本文件的表初始值设定项。
用法
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。