栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pytorch 中的 unfold 和 fold

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch 中的 unfold 和 fold

pytorch 中的 unfold 和 fold
inp = torch.randn(1, 16, 6, 6)  # [b, in_c, f_h, f_w]
print(inp.shape)  # torch.Size([1, 3, 6, 6])
patches = f.unfold(inp, (3, 3))
print(patches.shape)  # torch.Size([1, 144, 16])

W = torch.randn(64, 16, 3, 3)  # out_c, in_c, k_h, k_w

out_unf = patches.transpose(1, 2).matmul(W.view(W.size(0), -1).t()).transpose(1, 2)
print(out_unf.shape)  # torch.Size([1, 64, 16])

# 注意这里是 unfold 的反向操作,所以也是以 kernel_size 的大小做滑窗的
out = f.fold(input=out_unf, output_size=(4, 4), kernel_size=(1, 1))
print(out.shape)  # torch.Size([1, 64, 4, 4])
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号