读gaitset代码

2023-10-25 04:28
文章标签 代码 gaitset

本文主要是介绍读gaitset代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

输入:12830,64,64预处理后
ipts[128, 30, 64, 44]->sils[128,1, 1186, 64, 44]
GaitSet((set_block1): SetBlockWrapper(sils先transpose且reshape成torch.Size([3840, 1, 64, 44])(forward_block): Sequential((0): BasicConv2d((conv): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), bias=False))(1): LeakyReLU(negative_slope=0.01, inplace=True)(2): BasicConv2d((conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(3): LeakyReLU(negative_slope=0.01, inplace=True)(4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False))得到torch.Size([3840, 32, 32, 22])后再reshape且transpose成torch.Size([128, 32, 30, 32, 22])outs)(set_pooling): PackSequenceWrapper()对outs最大池化得到gl(gl_block2): Sequential(这里其实是set_block2的深拷贝gl_block2输入gl[128, 32, 32, 22](0): BasicConv2d((conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(1): LeakyReLU(negative_slope=0.01, inplace=True)(2): BasicConv2d((conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(3): LeakyReLU(negative_slope=0.01, inplace=True)(4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False))得到gl(set_block2): SetBlockWrapper(也是先把outs[128, 32, 30, 32, 22]转置(forward_block): Sequential((0): BasicConv2d((conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(1): LeakyReLU(negative_slope=0.01, inplace=True)(2): BasicConv2d((conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(3): LeakyReLU(negative_slope=0.01, inplace=True)(4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False))得到torch.Size([128, 64, 30, 16, 11])-》outs)(set_pooling): PackSequenceWrapper()outs再最大池化后与gl求和得到torch.Size([128, 64, 16, 11])-》gl(gl_block3): Sequential(输入gl(0): BasicConv2d((conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(1): LeakyReLU(negative_slope=0.01, inplace=True)(2): BasicConv2d((conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(3): LeakyReLU(negative_slope=0.01, inplace=True))得到gl[128, 128, 16, 11](set_block3): SetBlockWrapper(这里输入的是outs[128, 64, 30, 16, 11](forward_block): Sequential((0): BasicConv2d((conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(1): LeakyReLU(negative_slope=0.01, inplace=True)(2): BasicConv2d((conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False))(3): LeakyReLU(negative_slope=0.01, inplace=True)))得到outs[128, 128, 30, 16, 11](set_pooling): PackSequenceWrapper()outs再最大池化后得到[128, 128, 16, 11]与gl求和得到torch.Size([128, 128, 16, 11])-》gl(HPP): HorizontalPoolingPyramid()输入outs[128, 128, 16, 11]根据bin[16, 8, 4, 2, 1]把outs给view成对应形状的z,例如取8时有[128, 128, 8, 22]随后将z的最大值和均值求和得到[128, 128, 16][128, 128, 8]等等最后拼接得到feature1[128, 128, 31]同样输入gl[128, 128, 16, 11]得到feature2[128, 128, 16]两个feature拼接得到feature[128, 128, 62](Head): SeparateFCs()输入feature得到embs[128, 256, 62](loss_aggregator): LossAggregator((losses): ModuleDict((triplet): TripletLoss()))
)

最后有

{'training_feat': {'triplet': {'embeddings': embs[128, 256, 62], 'labels': 128}},'visual_summary': {'image/sils': sils给view成[3840, 1, 64, 44]}, 'inference_feat': {	'embeddings': embs[128, 256, 62]}}

这篇关于读gaitset代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280004

相关文章

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.