我正在使用数据集 api 从 tfrecords 读取数据。我正在使用以下代码将字符串数据转换为虚拟数据。
SFR1 = tf.feature_column.indicator_column(
tf.feature_column.categorical_column_with_vocabulary_list("SFR1 ",
vocabulary_list=("1", "2")))
但是当我运行我的代码时,张量流抛出以下错误。
tensorflow.python.framework.errors_impl.FailedPreconditionError:表
已经初始化了。 [[节点:
生成器/input_layer/SFR1_indicator/SFR1_lookup/hash_table/table_init
= InitializeTableV2[Tkey=DT_STRING, Tval=DT_INT64](生成器/input_layer/SFR1 _indicator/SFR1 _lookup/hash_table,
生成器/input_layer/SFR1_indicator/SFR1_lookup/Const,
生成器/input_layer/SFR1_indicator/SFR1_lookup/ToInt64)]]
[[节点:Generator2/IteratorGetNext =
IteratorGetNextoutput_shapes=[[?,10000,160]],
输出类型=[DT_FLOAT],
_device="/job:localhost/replica:0/task:0/device:CPU:0"]]
我尝试了多种组合来确定问题的根源。我知道当模型包含两者时会出现此问题tf.feature_column.categorical_column_with_vocabulary_list
and dataset
API。如果我选择TFRecordReader
代替dataset
,代码正在运行。
当我搜索 stackoverflow 时,我注意到有一个类似的问题。我在下面添加问题链接。由于两个问题都是相同的,所以我没有复制所有代码。下面的链接包含足够的数据来解释我的问题
数据集映射表中的 Tensorflow 特征列已初始化问题 https://stackoverflow.com/questions/48450785/tensorflow-feature-columns-in-dataset-map-table-already-initialized-issue
Thanks.
我遇到了同样的问题。然后根据 Tensorflow 的警告修改我的代码,它可以工作:
不支持在传递给 Dataset.map() 的函数内创建查找表。在函数外部创建每个表,并在函数内部捕获它以使用它。
希望它会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)