首页 文章

形状必须具有等级2,但它是等级1

提问于
浏览
-2

我想在python中使用tensorflow创建一个聊天机器人 . 但是我在训练数据集时遇到了这个错误 .

raise ValueError(err.message) ValueError: Shape must be rank 2 but is rank 1 for 'model_with_buckets/sequence_ loss/sequence_loss_by_example/sampled_softmax_loss/LogUniformCandidateSampler' ( op: 'LogUniformCandidateSampler') with input shapes: [?].

任何帮助赞赏 . 谢谢

1 回答

  • 6

    当我尝试在tensorflow 1.0上运行与旧版本兼容的tensorflow "seq2seq tutorial code"时,我得到了类似的错误,这主要是由于函数参数的顺序改变( tf.nn.sampled_softmax ) . 它期待 inputs(rank 2) 但是你正在传递l abels(rank 1) 所以根据函数的定义改变参数的顺序 .

    In tf 0.12.0: 定义:tf.nn.sampled_softmax_loss(权重,偏差, inputs, labels, num_sampled,num_classes,num_true = 1,sampled_values =无,remove_accidental_hits = True,partition_strategy = "mod",name = "sampled_softmax_loss")

    In tf 1.0: tf.nn.sampled_softmax_loss(权重,偏差, labels, inputs, num_sampled,num_classes,num_true = 1,sampled_values =无,remove_accidental_hits = True,partition_strategy = 'mod',name = 'sampled_softmax_loss')

相关问题