2

我正在尝试训练模型并使用 tf.contrib.data.batch_and_drop_remainder 来准备我的数据集。当我运行 estimator.train 时,出现以下错误:

NotFoundError:在 n-be8b2535-w-0 上运行的二进制文件中未注册操作类型“BatchDatasetV2”。确保在此进程中运行的二进制文件中注册了 Op 和 Kernel。请注意,如果您正在加载使用来自 tf.contrib 的操作的已保存图, tf.contrib.resampler则应在导入图之前完成访问(例如),因为首次访问模块时会延迟注册 contrib 操作。

我不是试图从保存的图表中运行,我确保我使用的是新的 model_dir。我该如何解决?这只发生在我在 TPU 上运行时。在 CPU 上运行工作正常。

4

1 回答 1

2

如果您的 VM 和 TPU 上有不同版本的 tensorflow,则可能会出现此错误。通过运行以下命令检查 VM 上的版本:

    import tensorflow
    print tensorflow.__version__

通过转到 GCP 控制台上的 TPU 页面检查 TPU 上的版本: https ://console.cloud.google.com/compute/tpus

通过 pip 在你的虚拟机上设置 tensorflow 的版本。因此,如果要将 VM tensorflow 版本设置为 1.9,请运行:

    pip install tensorflow==1.9
于 2018-08-17T23:27:12.933 回答