是否可以给角膜图层提供除正方形以外的其他形状作为输入

时间:2019-03-27 15:36:26

标签: input keras shapes keras-layer

我正在使用keras对自动编码器进行编码。

我输入了一个对称矩阵,将其分解为N个子矩阵,以训练我的深度学习框架。

由于此矩阵是对称的,因此我想输入一个较低的三角形矩阵。但是,一半的子矩阵将变为“空”(等于0s),这对于训练而言不是很好。我可以删除所有空子矩阵,但是那些来自矩阵对角线的子矩阵仍将是一半的空/一半。另一种选择是将下部三角形矩阵拆分为三角形而不是正方形。

问题是我不知道keras层是否支持形状而不是正方形作为框架的输入。

1 个答案:

答案 0 :(得分:1)

支持非正方形形状(即不是N x N的矩阵),但是您的问题似乎是

how can I use the symmetric triangular 
feature matrix and deduplicate along the diagonal?

例如,如果您有一个上三角矩阵,只需排除对角线以下的所有索引并展平。

这将为您提供可重复的特征向量表示。

例如,使用numpy:

>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> a
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> a[np.triu_indices(3, k = 0)]
array([1, 2, 3, 5, 6, 9])