一篇论文里面看到特征融和方法

这段代码实现了一种特征融合的方法,通过矩阵乘法和softmax函数结合空间和光谱特征。可能的问题在于softmax层的使用。它尝试将空间特征转换到光谱特征空间,并反之,然后通过平均池化或取第一个通道的值来压缩特征。该方法可能适用于遥感图像分析或深度学习中的特征融合场景。
摘要由CSDN通过智能技术生成
    def feature_fusion(self, x_spatial, x_spectral, pool='mean'):
        x_spatial_transpose = x_spatial.permute(0, 2, 1)  # 2 1024 26
        x_spectral_transpose = x_spectral.permute(0, 2, 1)  # 2 1024 104
        spe2spa = torch.matmul(x_spatial, x_spectral_transpose)  # 26*1024 1024*104 26*104
        spa2spe = torch.matmul(x_spectral, x_spatial_transpose)  # 104*1024 1024*26 104*26
        spa_softmax = torch.softmax(spe2spa, dim=-1)  # 26*104
        spe_softmax = torch.softmax(spa2spe, dim=-1)  # 104*26
        X_spatial = torch.matmul(spa_softmax, x_spectral) + x_spatial  # 26*104 104*1024 26*1024
        X_spectral = torch.matmul(spe_softmax, x_spatial) + x_spectral
        X_spatial = X_spatial.mean(dim=1) if pool == 'mean' else X_spatial[:, 0]
        X_spectral = X_spectral.mean(dim=1) if pool == 'mean' else X_spectral[:, 0]
        return X_spatial.add(X_spectral)

论文在这,目前我没达到想要的效果,可能是softmax那有问题。先把代码放这保存一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值