Android 无效参数:NodeDef提到attr';t形状';不在Op

Android 无效参数:NodeDef提到attr';t形状';不在Op,android,python,java-native-interface,tensorflow,Android,Python,Java Native Interface,Tensorflow,我得到错误无效参数:nodededf在Op输出中提到attr'Tshape':T;attr=T:type>;NodeDef:Y_GroundTruth=reforme[T=DT_FLOAT,Tshape=DT_INT32](LOut_Add,Y_GroundTruth/shape)尝试使用tensorflow::Status s=session->Create(graph_def)在Android上加载文件时 有类似问题的人提到升级到Tensorflow 0.9.0rc0解决了他们的问题。然而,

我得到错误
无效参数:nodededf在Op输出中提到attr'Tshape':T;attr=T:type>;NodeDef:Y_GroundTruth=reforme[T=DT_FLOAT,Tshape=DT_INT32](LOut_Add,Y_GroundTruth/shape)
尝试使用
tensorflow::Status s=session->Create(graph_def)在Android上加载文件时

有类似问题的人提到升级到Tensorflow 0.9.0rc0解决了他们的问题。然而,我已经在jni构建中使用了最新的Tensorflow构建

生成protobuf文件时声明的变量是否会出现问题

片段

def reg_perceptron(t, weights, biases):
    t = tf.nn.relu(tf.add(tf.matmul(t, weights['h1']), biases['b1']), name = "layer_1")
    t = tf.nn.sigmoid(tf.add(tf.matmul(t, weights['h2']), biases['b2']), name = "layer_2")
    t = tf.add(tf.matmul(t, weights['hOut'], name="LOut_MatMul"), biases['bOut'], name="LOut_Add")

    return tf.reshape(t, [-1], name="Y_GroundTruth")

g = tf.Graph()
with g.as_default():
   ...
   rg_weights = {
    'h1': vs.get_variable("weights0", [n_input, n_hidden_1], initializer=tf.contrib.layers.xavier_initializer()),
    'h2': vs.get_variable("weights1", [n_hidden_1, n_hidden_2], initializer=tf.contrib.layers.xavier_initializer()),
    'hOut': vs.get_variable("weightsOut", [n_hidden_2, 1], initializer=tf.contrib.layers.xavier_initializer())
    }


    rg_biases = {
    'b1': vs.get_variable("bias0", [n_hidden_1], initializer=init_ops.constant_initializer(bias_start)),
    'b2': vs.get_variable("bias1", [n_hidden_2], initializer=init_ops.constant_initializer(bias_start)),
    'bOut': vs.get_variable("biasOut", [1], initializer=init_ops.constant_initializer(bias_start))
    }

    pred = reg_perceptron(_x, rg_weights, rg_biases)
    ...
...

g_2 = tf.Graph()
with g_2.as_default():
    ...
    rg_weights_2 = {
    'h1': vs.get_variable("weights0", [n_input, n_hidden_1], initializer=tf.contrib.layers.xavier_initializer()),
    'h2': vs.get_variable("weights1", [n_hidden_1, n_hidden_2], initializer=tf.contrib.layers.xavier_initializer()),
    'hOut': vs.get_variable("weightsOut", [n_hidden_2, 1], initializer=tf.contrib.layers.xavier_initializer())
    }

    rg_biases_2 = {
    'b1': vs.get_variable("bias0", [n_hidden_1], initializer=init_ops.constant_initializer(bias_start)),
    'b2': vs.get_variable("bias1", [n_hidden_2], initializer=init_ops.constant_initializer(bias_start)),
    'bOut': vs.get_variable("biasOut", [1], initializer=init_ops.constant_initializer(bias_start))
    }

    pred_2 = reg_perceptron(_x_2, rg_weights_2, rg_biases_2)
    ...
为了避免文章过于混乱,我上传了生成.PB文件的代码和在Pastebin上创建模型的模型


我看不出它不起作用的明显原因。您是否尝试在桌面上运行该模型?该模型在Python上运行。我还没有在我创建.PB文件的图形上测试它。我用来测试图形中经过训练的模型的代码用于在PBFileGeneration中生成.PB文件,运行时没有错误。好的,可能是个bug。如果你可以在我们的页面上交叉发布,我们可以在那里跟踪。谢谢你的回复。现在可以在上找到这个问题。我看不出它不起作用的明显原因。您是否尝试在桌面上运行该模型?该模型在Python上运行。我还没有在我创建.PB文件的图形上测试它。我用来测试图形中经过训练的模型的代码用于在PBFileGeneration中生成.PB文件,运行时没有错误。好的,可能是个bug。如果你可以在我们的页面上交叉发布,我们可以在那里跟踪。谢谢你的回复。现在可以在上找到该问题。