吴恩达深度学习作业Neural+machine+translation+with+attention+-+yangdaxia运行报错:
原因如下:模型要求输入维度为(m, 30, 37)
实际输入维度为(37, 30)
所以经过两部处理:
1,转置transpose()
2.增加一维
EXAMPLES = ['3 May 1979', '5 April 09', '21th of August 2016', 'Tue 10 Jul 2007', 'Saturday May 9 2018', 'March 3 2001', 'March 3rd 2001', '1 March 2001']
for example in EXAMPLES:
source = string_to_int(example, Tx, human_vocab)
source = np.array(list(map(lambda x: to_categorical(x, num_classes=len(human_vocab)), source))).swapaxes(0,1)
source = source.transpose()#交换两个轴
source = np.expand_dims(source, axis=0)#增加一维轴
prediction = model.predict([source, s0, c0])
prediction = np.argmax(prediction, axis = -1)
output = [inv_machine_vocab[int(i)] for i in prediction]
print("source:", example)
print("output:", ''.join(output))