我在Keras中创建了以下模型:
# Test 1
t = np.array([[65, 17], [14, 25], [76, 22]])
idx = np.array([[0], [1], [0]])
dim = 1
result = gather(t, dim=dim, index=idx)
expected = np.array([[65], [25], [76]])
print(np.array_equal(result, expected))
# Test 2
t = np.array([[47, 74, 44], [56, 9, 37]])
idx = np.array([[0, 0, 1], [1, 1, 0], [0, 1, 0]])
dim = 0
result = gather(t, dim=dim, index=idx)
expected = np.array([[47, 74, 37], [56, 9, 44.], [47, 9, 44]])
print(np.array_equal(result, expected))
该模型似乎是从数据中学到的,但变化很小。我不明白为什么输出会移位。我的模型出了什么问题?如何避免这个问题?我试图用“ Sigmoid”交换“ tanh”激活,但是输出仍然被转移了。有任何建议吗?