ZBLOG

对于10*3数据用 滑动窗口3*3 构建三维张量

可以按照以下方式使用滑动窗口构建三维张量:

import numpy as np

# 创建一个 2D 张量 X
X = np.random.rand(10, 3)

# 定义窗口大小 T,并计算输出张量 Y 的形状
T = 3
output_shape = (X.shape[0] - T + 1, X.shape[1] - T + 1, T * X.shape[1])

# 初始化输出张量 Y
Y = np.zeros(output_shape)

# 滑动窗口,填充输出张量 Y 中的元素
for i in range(X.shape[0] - T + 1):
    for j in range(X.shape[1] - T + 1):
        window = X[i:i+T, j:j+T]
        Y[i,j,:] = window.flatten()

print(X.shape)   # 输出 (10, 3)
print(Y.shape)   # 输出 (8, 1, 27)

在上面的代码中,我们首先创建了一个随机生成的二维张量X,形状为(10,3),然后定义了窗口大小T=3,并计算出了输出张量Y的形状(8,1,T*X.shape[1]),即(8,1,27)。因为对于这个数据集而言只有一个通道(每个样本只有三个特征),所以第二个维度是1。

接着使用两个嵌套的for循环,滑动窗口并将每个窗口中的元素展平后填充到输出张量Y中。

最终输出了X和Y的形状,可以看到经过转换后,Y的形状变成了(8,1,27),符合我们预期的三维形式。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1067

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?