繁体   English   中英

形状必须是 2 级,但它是 1 级

[英]Shape must have rank 2 but it is rank 1

我正在尝试在 python 中使用 tensorflow 制作一个聊天机器人。 但是在训练数据集时出现此错误。

引发 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') 输入形状:[?]。

任何帮助表示赞赏。 谢谢

当我尝试在 tensorflow 1.0 上运行与旧版本兼容的 tensorflow“seq2seq 教程代码”时,我遇到了类似的错误,这主要是由于函数( tf.nn.sampled_softmax )的参数顺序发生了变化。 它期待输入(等级 2),但您正在传递标签(等级 1)所以根据函数的定义更改参数的顺序。

在 tf 0.12.0 中:定义:tf.nn.sampled_softmax_loss(weights, biases, input, labels, num_sampled, num_classes, num_true=1, sampled_values=None, remove_accidental_hits=True, partition_strategy="mod", name="sampled_softmax_loss"

在 tf 1.0 中: tf.nn.sampled_softmax_loss(weights,biases, labels,inputs, num_sampled, num_classes, num_true=1, sampled_values=None, remove_accidental_hits=True, partition_strategy='mod', name='sampled_softmax_loss')

labels_one_hot = tf.reshape(labels_one_hot, (-1, params['n_classes']))```

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM