如何在keras中将三维数组转换为五维数组[重复]
Posted
技术标签:
【中文标题】如何在keras中将三维数组转换为五维数组[重复]【英文标题】:how to convert an array of dimension three to five in keras [duplicate] 【发布时间】:2019-07-15 19:45:49 【问题描述】:我有一个形状数组(?, ?, 128)
,我想将其转换为(?, ?, 128,1,1)
。
我试图搜索它,但我没有找到任何好东西,或者我没有使用正确的词来找到我正在寻找的东西。 有什么有效的方法可以做到这一点吗?
This 是我发现的最相关的东西,与我想要的东西不一样。
提前致谢:)
【问题讨论】:
使用numpy
数组很容易做到这一点——无论是在np.newaxis
上使用reshape
。我不知道keras
允许什么。
@hpaulj 你能给出 Numpy 中的等价物吗?
@user2699 但单独添加 newaxis 会创建一个没有的维度。也在这里 ?正在制造一个问题。我的意思是我不知道前两个轴的正确尺寸,所以我想保持原样。
arr[..., np.newaxis, np.newaxis]
, arr.reshape(arr.shape + (1,1))
。这是使用tuple
连接来创建一个新形状。这 '?' keras 尺寸是一个很大的未知数。 keras 文档肯定有一些关于重塑的东西吗?
@sariii,不,第一个答案在重复地址中给出。维度的数量发生了变化,但原始维度的形状保持不变。
【参考方案1】:
使用 Numpy,你可以做到reshape
a = np.random.rand(2, 3, 128)
b = a.reshape(a.shape + (1, 1))
使用Keras,您可以使用keras.backend.expand_dims(x, axis=-1)
添加1 尺寸的尺寸。
【讨论】:
感谢您的回复。其实我想在 keras 中做到这一点 official Keras document 表示keras.backend.expand_dims(x, axis=-1)
“在索引轴上添加一个 1 尺寸的维度”。
您能否更新您的答案以便我接受?
更新了答案!以上是关于如何在keras中将三维数组转换为五维数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 中将数字字符串转换为 int 数组 [重复]