Tensorflow:注册两个名为';局部变量';错误

Tensorflow:注册两个名为';局部变量';错误,tensorflow,Tensorflow,我正在尝试在tensorflow中导入元图,当我要初始化权重变量时: W = tf.get_collection('W')[0] session.run([W.initializer]) 我得到一个错误: 'Tensor' object has no attribute 'initializer'" 我在这里发现()这个问题与“目标集合上的局部变量不是变量而是张量,因为局部变量没有注册它的proto-fn”这一事实有关。他们建议将此代码添加到模型核心: from tensorflow.cor

我正在尝试在tensorflow中导入元图,当我要初始化权重变量时:

W = tf.get_collection('W')[0]
session.run([W.initializer])
我得到一个错误:

'Tensor' object has no attribute 'initializer'"
我在这里发现()这个问题与“目标集合上的局部变量不是变量而是张量,因为局部变量没有注册它的proto-fn”这一事实有关。他们建议将此代码添加到模型核心:

from tensorflow.core.framework import variable_pb2
from tensorflow.python.framework import ops
from tensorflow.python.ops import variables
from tensorflow.python.framework.ops import register_proto_function

register_proto_function(
  ops.GraphKeys.LOCAL_VARIABLES,
  proto_type=variable_pb2.VariableDef,
  to_proto=variables.Variable.to_proto,
  from_proto=variables.Variable.from_proto)
因此,我在add_final_training_ops函数中添加了上述代码,但现在出现以下错误:

KeyError: "Registering two proto functions with name 'local_variables' !(Previous registration was in _find_and_load_unlocked <frozen importlib._bootstrap>:950)"
KeyError:“注册两个名为“local_variables”的原型函数!”(以前的注册是在_find_和_load_unlocked:950中)

有人能帮忙吗?

你用的是哪个TF版本?@MPękalski,我也有同样的问题,我使用的是Python 3.6和TF 1.12.0;(尝试运行ludwig 0.1.0)如果没有一个最小的端到端示例,我认为这将很难帮助您。您可能希望重新打开他们提到的问题,该问题已在TF 1.4.1最小端到端上修复:Windows 10、CUDA 9.2和相关cuDNN;conda create test_env python=3.6;激活该环境;然后pip安装ludwig(收集所有需求)。然后pip卸载tensorflow;然后pip安装tensorflow gpu==1.12.0;然后是jupyter笔记本;然后在笔记本中,尝试“从路德维希导入路德维希模型”。。。无法满足上述条件。