我正在尝试实现一个神经网络,该神经网络为每列输出具有softmax激活的二维矩阵。
我已经使用下面的代码完成了此操作,但是当列数增加时,它看起来非常慢。
input = Input(shape=[100])
h1 = Dense(200, activation='relu')(input)
output = []
for i in range(n_cols):
output.append(Dense(n_rows, activation='softmax')(h1))
outputs = concatenate(output, axis=1)
model = Model(inputs=input, outputs=output)
有人可以给我建议更快的方法吗?任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试使用list comprehension,它通常比for循环快{em> 。
代替:
output = []
for i in range(n_cols):
output.append(Dense(n_rows, activation='softmax')(h1))
您可以尝试:
output = [(Dense(n_rows, activation='softmax')(h1)) for i in range(n_cols)]
但是,一般而言,您添加的列越多,速度就越慢。