是否可以将另一种形状而不是方形的形状作为输入给予keras层

问题描述 投票:0回答:1

我正在用keras编写一个Autoencoder。

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

由于这个矩阵是对称的,我想在输入中给出一个下三角矩阵。然而,一半的子矩阵将是“空的”(等于0),这对训练来说不是很好。我可以删除所有空的子矩阵,但是来自矩阵对角线的子矩阵仍然是半空/半填充。另一种选择是将下三角矩阵分成三角形而不是正方形。

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

input keras shapes keras-layer
1个回答
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])
© www.soinside.com 2019 - 2024. All rights reserved.