我在Tensorflow中有以下代码,其中包含使用Keras创建的自定义估算器。错误会显示损失函数Map<Long, Map<Long, String>> groups = new HashMap<>();
groups.merge(groupId, innerMerge(innerGroupId, groupName, (v1, v2) -> v1), (v1, v2) -> {v1.putAll(v2); return v1;});
。
该错误消息很清楚,我的标签和logit形状不同。只是不确定如何解决。我还附加了输入功能。
真的很感谢您的帮助。
谢谢 约翰
这是我的代码:
Map<Long, Map<Long, Map<Long, String>>> groups = new HashMap<>();
// You could use utility function get multi level Map merge
groups.merge(groupId,
innerMerge(innerGroupId,
innerMerge(innerAnotherGroupId, groupName,
(v1, v2) -> v1 + "," + v2),
(v1, v2) -> {v1.putAll(v2); return v1;}),
(v1, v2) -> {v1.putAll(v2); return v1;});
这是我得到的堆栈跟踪:
map1.putAll(map2)
答案 0 :(得分:1)
好的。如果labels
是张量,请使用tf.reshape()
方法并运行:
labels = tf.reshape(labels, [-1, 1])
否则,如果它是一个Numpy数组,请执行以下操作:
labels = np.reshape(labels, (-1, 1))