【发布时间】:2018-04-22 03:49:12
【问题描述】:
我有 one-hot 编码标签(从 0 到 10 的 11 个类别):
# one-hot encode labels
from sklearn.preprocessing import OneHotEncoder
labels = df.rating.values.reshape([-1, 1])
encoder = OneHotEncoder(sparse=False)
encoder.fit(labels)
labels = encoder.transform(labels)
并且有以下占位符:
# create the graph object
graph = tf.Graph()
# add nodes to the graph
with graph.as_default():
inputs_ = tf.placeholder(tf.int32, [None, None], name='inputs')
labels_ = tf.placeholder(tf.int32, [None, 1], name='labels')
keep_prob = tf.placeholder(tf.float32, name='keep_prob')
我正在使用sparse_softmax_cross_entropy:
with graph.as_default():
logits = tf.layers.dense(inputs=outputs[:, -1], units=1)
loss = tf.losses.sparse_softmax_cross_entropy(labels=labels_, logits=logits)
optimizer = tf.train.AdamOptimizer(learning_rate).minimize(loss)
TF 抛出:ValueError: Cannot feed value of shape (500, 1, 11) for Tensor 'labels:0', which has shape '(?, 1)'
我已经尝试了所有方法,但无法正常工作。 one-hot 编码数据的正确占位符是什么?
【问题讨论】:
标签: python tensorflow