我想创建一个简单的 Keras 神经网络,它接受维度 (rows, columns) = (n, m)
的输入矩阵,将矩阵展平为维度 (n *m, 1)
,将展平的矩阵发送到多个任意层,并在最后一层,在释放之前再次将矩阵展平到 (n, m)
维度这个最终矩阵作为输出。
我遇到的问题是,我在 keras.io 上没有找到任何有关 Unflatten 图层的文档。页面,我想知道是否存在这样一个看似标准的通用层不存在的原因。有没有一种更自然、更简单的方法来实现我的建议?
最佳答案
您可以使用Reshape
层用于此目的。它接受所需的输出形状作为其参数,并将输入张量 reshape 为该形状。例如:
from keras.layers import Reshape
rsh_inp = Reshape((n*m, 1))(inp) # if you don't want the last axis with dimension 1, you can also use Flatten layer
# rsh_inp goes through a number of arbitrary layers ...
# reshape back the output
out = Reshape((n,m))(out_rsh_inp)
关于python - Keras 中的反展平层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53329659/