[英]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.