MutableHashTable字面意思理解是一个动态的hashmap,初始化时确认key和value,提供lookup
调用将key值替换为value
import tensorflow as tf
from tensorflow.contrib.lookup.lookup_ops import MutableHashTable
from tensorflow.python.framework import constant_op
# 构建一个MutableHashTable
mht = MutableHashTable(key_dtype=tf.string,value_dtype=tf.int64,default_value=1,name="in_table",checkpoint=True)
# insert key和value值
ins = mht.insert(constant_op.constant(['a','b','c']),constant_op.constant(list(range(3)),dtype=tf.int64))
# lookup对应的int值
idx = mht.lookup(tf.Variable([['a','b','c','a']],dtype=tf.string))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
sess.run(ins)
print(sess.run(idx))
输出:
[[0 1 2 0]]