【发布时间】:2021-06-17 19:20:40
【问题描述】:
我有一个与将 tf.dictionary 的元素作为字典键传递相关的问题。我已将其简化为以下最小示例:
def example(x,d):
w=tf.vectorized_map(lambda y: d[y],tf.cast(x, tf.string))
return w
dataset = tf.data.Dataset.from_tensor_slices([['a','d','s'],['b','e','a'],['c','f','d']])
d={'a':1,'b':2,'c':3,'d':4,'e':6,'f':5,'s':1}
dataset.map(lambda x: example(x,d))
我得到错误:
TypeError: Failed to convert object of type <class 'tensorflow.python.util.object_identity.Reference'> to Tensor. Contents: <Reference wrapping <tf.Tensor 'args_0:0' shape=(3,) dtype=string>>. Consider casting elements to a supported type.
我试图解决它,删除tf.cast(x, tf.string) 并将tf.vectorized_map 更改为tf.map_fn。在这两种情况下,我都会遇到相同的错误。
如何运行代码?
【问题讨论】:
标签: python tensorflow tensorflow-datasets