transpose代码学习

论文:TransPose: Keypoint Localization via Transformer
Sen Yang Zhibin Quan Mu Nie Wankou Yang*
School of Automation, Southeast University, Nanjing 210096, China
{yangsenius, 101101872, niemu, wkyang}@seu.edu.cn
下载地址https://arxiv.org/pdf/2012.14214v5.pdf

本周任务:代码学习

Backbone

只保留原始 ImageNet 预训练 CNN 的最初几个部分,以从图像中提取特征。 我们将它们命名为 ResNet-S 和 HRNet-S,其参数数量仅为原始 CNN 的 5.5% 和 25% 左右。

计算网络的shape

ResNet

参数详见文件:TP_R_256x192_d256_h1024_enc3_mh8.yaml
训练好的模型文件:models/pytorch/transpose_coco/目录下的对应文件

直接用下面的语句运行test文件

python tools/test.py --cfg experiments/coco/transpose_r/TP_R_256x192_d256_h1024_enc3_mh8.yaml TEST.USE_GT_BBOX True

得到的loss和acc
请添加图片描述
这是个主要的切入点正如我们在论文中所描述的,计算前100幅图像的flops在COCO val2017上,并报告平均结果

python tools/compute_flops.py experiments/coco/transpose_r/TP_R_256x192_d256_h1024_enc3_mh8.yaml

注意在compute_flops会有一个报错
在这里插入图片描述
解决办法:修改compute_flops 第48行
用以下三种方式都可以
d1=yaml.load(file,Loader=yaml.FullLoader)
d1=yaml.safe_load(file)
d1 = yaml.load(file, Loader=yaml.CLoader)

得到的FPS如下图所示:
在这里插入图片描述

同理可以实现HRNet
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,根据提供的引用内容,没有提供具体的图像修复深度学习代码。但是,我可以为您提供一个常见的图像修复深度学习算法的代码示例,供您参考。 以下是一个使用深度学习框架PyTorch实现的图像修复算法的代码示例: ```python import torch import torch.nn as nn import torch.optim as optim from torchvision import transforms from torchvision.datasets import ImageFolder from torch.utils.data import DataLoader # 定义图像修复模型 class ImageRestorationModel(nn.Module): def __init__(self): super(ImageRestorationModel, self).__init__() # 定义网络结构 self.encoder = nn.Sequential( nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1), nn.ReLU(), nn.Conv2d(64, 128, kernel_size=3, stride=1, padding=1), nn.ReLU(), nn.Conv2d(128, 256, kernel_size=3, stride=1, padding=1), nn.ReLU() ) self.decoder = nn.Sequential( nn.ConvTranspose2d(256, 128, kernel_size=3, stride=1, padding=1), nn.ReLU(), nn.ConvTranspose2d(128, 64, kernel_size=3, stride=1, padding=1), nn.ReLU(), nn.ConvTranspose2d(64, 3, kernel_size=3, stride=1, padding=1), nn.Sigmoid() ) def forward(self, x): x = self.encoder(x) x = self.decoder(x) return x # 加载数据集 transform = transforms.Compose([ transforms.Resize((256, 256)), transforms.ToTensor() ]) dataset = ImageFolder('path/to/dataset', transform=transform) dataloader = DataLoader(dataset, batch_size=32, shuffle=True) # 初始化模型和优化器 model = ImageRestorationModel() optimizer = optim.Adam(model.parameters(), lr=0.001) # 训练模型 num_epochs = 10 device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model.to(device) criterion = nn.MSELoss() for epoch in range(num_epochs): for images, _ in dataloader: images = images.to(device) outputs = model(images) loss = criterion(outputs, images) optimizer.zero_grad() loss.backward() optimizer.step() print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}') # 使用模型进行图像修复 test_image = Image.open('path/to/test_image.jpg') test_image = transform(test_image).unsqueeze(0).to(device) restored_image = model(test_image) restored_image = restored_image.squeeze(0).cpu().detach().numpy() # 显示修复后的图像 plt.imshow(restored_image.transpose(1, 2, 0)) plt.axis('off') plt.show() ``` 请注意,这只是一个简单的示例代码,实际的图像修复深度学习算法可能更加复杂,并且需要根据具体的任务和数据集进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值