【问题标题】:FailedPreconditionError: Table already initializedFailedPreconditionError: 表已经初始化
【发布时间】:2018-05-18 13:32:05
【问题描述】:

我正在使用数据集 api 从 tfrecords 中读取数据。我正在使用以下代码将字符串数据转换为虚拟数据。

SFR1 = tf.feature_column.indicator_column(
    tf.feature_column.categorical_column_with_vocabulary_list("SFR1 ",
                                                             vocabulary_list=("1", "2")))

但是当我运行我的代码时,tensorflow 会抛出以下错误。

tensorflow.python.framework.errors_impl.FailedPreconditionError: 表 已经初始化。 [[节点: 生成器/input_layer/SFR1 _indicator/SFR1 _lookup/hash_table/table_init = InitializeTableV2[Tkey=DT_STRING, Tval=DT_INT64](Generator/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]], output_types=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

我尝试了多种组合来确定问题的根源。我知道当模型同时包含tf.feature_column.categorical_column_with_vocabulary_listdataset api 时会出现此问题。如果我选择TFRecordReader 而不是dataset,代码正在运行。

当我搜索 stackoverflow 时,我注意到有一个类似的问题。我在下面添加问题链接。由于两个问题相同,我没有复制所有代码。下面的链接包含足够的数据来解释我的问题

Tensorflow feature columns in Dataset map Table already initialized issue

谢谢。

【问题讨论】:

  • 我刚刚给了a potential answer to that similar question。如果您在迭代数据集后可以在 TFRecord 中解析示例,请查看。
  • 感谢您的回答。我在我的示例中检查了您的解决方案。它正在工作,但我怎样才能并行运行?并行化参数在 map 函数中。我还有一个问题。 read_up_to 是读取 tfrecords 的快速方法。数据集中有像“read_up_to”这样的解决方案吗?
  • 对不起,我真的不知道如何在地图中使用tf.feature_column。我认为这不会是直截了当的,因为地图有自己的图表,独立于“主”图表。我认为这里的一个想法是您正在逐批解析和转换/预处理数据。因此,您可能能够以类似于进行分布式训练的方式使用一些并行性。我确实意识到这可能无法满足您的需求。

标签: python-3.x tensorflow tensorflow-datasets


【解决方案1】:

我遇到了同样的问题。然后根据 Tensorflow 的警告修改了我的代码,它可以工作:

不支持在传递给 Dataset.map() 的函数内创建查找表。在函数外创建每个表,并在函数内捕获它以使用它。

希望对您有所帮助。

【讨论】:

  • 谢谢!捕获意味着将表对象作为参数传递给 map 函数,只是为了向其他人澄清。
【解决方案2】:

这是 TensorFlow 早期版本的问题,更新到 TF2.0 应该可以解决此问题。

pip install --upgrade tensorflow

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多