首页 > 其他分享 >记录零基础的行人重识别---2024.3.4 第一天

记录零基础的行人重识别---2024.3.4 第一天

时间:2024-03-05 18:22:06浏览次数:27  
标签:2024.3 ft 第一天 代码 --- 知乎 https model self

本人研一小白一枚, 老师给定的研究方向为行人重识别的方向, 最近在知乎上面看到了郑哲东大佬以及他们悉尼科技大学小组曾经写的知乎帖子https://zhuanlan.zhihu.com/p/50387521, 随手也附上他们的GitHub项目链接https://github.com/layumi/Person_reID_baseline_pytorch/tree/master/tutorial,方便后续进行温故复习, 如果过程中出现错误还请各位大佬指点,非常感谢!
由于代码发布时间和现在相比很遥远,而且当时郑大佬在写代码时采用的是Linux操作系统而不是Windows操作系统,导致代码在进行运行时出现了一些错误, 下面对错误和代码的一些理解进行记录, 代码理解可能有不对之处还请各位指正。

step1 下载数据集

按照知乎帖子里面的流程, 先下载Market1501的数据集, 由于这个数据集放在了Google Drive因此需要采用魔法方法进入, 也可以采用百度网盘的方式进行下载, 链接https://pan.baidu.com/s/1ntIi2Op?at=1709632053048, 数据集的Google Drive链接https://drive.google.com/file/d/0B8-rUzbwVRk0c054eEozWG9COHM/view?resourcekey=0-8nyl7K9_x37HlQm34MmrYQ。最好解压完以后的文件夹和GitHub上面的项目并行, 如图所示:

step2 在anaconda里面创建虚拟环境

在anaconda中创建虚拟环境

conda create -n ReID_base python=3.6

安装pytorch和torchvision

可以根据自己电脑的GPU对应自己的cuda号(貌似只支持Nvidia的显卡, 查看cuda的命令为nvidia-smi), 然后在pytorch官网中查找对应的安装命令进行安装。
注:一定要先进入虚拟环境中进行安装!!(conda activate ReID_base)

安装对应的包

先利用命令行找对对应下载项目的目录, 然后pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple, 进行安装, 基本上配置环境大功告成, 可以开始编译代码了。

step2 运行prepare.py

按照知乎流程操作即可。

step3 查看model.py

把原先的class fc_net那里屏蔽掉改成如下的代码:

点击查看代码
class ft_net(nn.Module):
    def __init__(self, class_num=751):
        super(ft_net, self).__init__()

        model_ft = models.resnet50(pretrained=True)
        model_ft.avgpool = nn.AdaptiveAvgPool2d((1, 1))
        self.model = model_ft
        self.classifier = ClassBlock(2048, class_num, 0.5)

    def forward(self, x):
        x = self.model.conv1(x)
        x = self.model.bn1(x)
        x = self.model.relu(x)
        x = self.model.maxpool(x)
        x = self.model.layer1(x)
        x = self.model.layer2(x)
        x = self.model.layer3(x)
        x = self.model.layer4(x)
        x = self.model.avgpool(x)
        x = torch.squeeze(x)
        x = self.classifier(x)
        return x

step4 修改train.py的代码

在第166行左右这个代码进行修改

点击查看代码
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=opt.batchsize,
                                             shuffle=True, num_workers=0, pin_memory=True,)
                                             #prefetch_factor=2, persistent_workers=True) # 8 workers may work faster
              for x in ['train', 'val']}
然后按照帖子的内容基本上可以顺利执行对应章节的1.3了。 后面有机会再介绍一下后续的操作!

标签:2024.3,ft,第一天,代码,---,知乎,https,model,self
From: https://www.cnblogs.com/xiaoyaoxie/p/18054618

相关文章

  • 一、jsPlumb实现流程图配置--jsPlumb介绍
    jsPlumb是一个前端库,用来实现类似MicrosoftVisio的Web端流程图,可以实现拖拽节点,连线,填充文案等方式生成一个流程图。jsPlumb有两个版本,一个是商业版需要收费,另一个是社区版开源免费。目前社区版的最新的文档地址一、jsPlumb中的基本概念节点(Node)节点就是流程图中可以连线或......
  • cmd--net命令
    学校里刚学到net命令,当时课上主要讲的是net的账户管理功能,但之前也碰到过使用net命令来开启mysql这样的网络服务,所以觉得总结一下net命令还是很有必要的!用户管理提权用户:netlocalgroupadministrators用户名/add创建隐藏用户:netuser用户名$网络服务启动netstartmysql......
  • 基于SWIFT和Qwen1.5-14B-Chat进行大模型全参微调测试
    基于SWIFT和Qwen1.5-14B-Chat进行大模型全参微调测试环境准备基础环境操作系统:Ubuntu18.04.5LTS(GNU/Linux3.10.0-1127.el7.x86_64x86_64)Anaconda3:Anaconda3-2023.03-1-Linux-x86_64根据服务器网络情况配置好conda源和pip源,此处使用的是超算山河源服务器硬件配置:CPU......
  • 网页浏览器Chrome开发者调试工具-Application(应用程序)
    前言全局说明网页浏览器Chrome开发者调试工具-Application(应用程序)一、网页浏览器Chrome开发者调试工具-Application(应用程序)Application:应用面板,用于记录网站加载的所有资源信息,如存储、缓存、字体、图片等,同时也可以对一些资源进行修改和删除。二、关闭标签页......
  • 调度器56—1-deadline文档翻译
    注:本文翻译自msm-5.4/Documentation/scheduler/sched-deadline.rst=======================Deadline任务调度=======================..内容0.警告1.概述2.调度算法2.1主要算法2.2带宽回收3.调度实时任务3.1定义3.2单处理器系统的可调度性分析3.3多处理器系统的可调......
  • Django中的Swagger文档库--drf-spectacular
    在用django开发后端接口的时候,通常会面临写接口文档的问题,尤其项目大了之后,写文档就更加头疼了,如果能够在写完代码后,自动生成接口文档,那该多好啊所以,咱们这里要介绍一个比较厉害的库drf-spectacular这个库能够自动生成OpenApi3.0的接口文档,并给出目前比较流行的swaggerUI的......
  • 网页浏览器Chrome开发者调试工具-Network(网络)
    前言全局说明网页浏览器Chrome开发者调试工具-Network(网络)一、网页浏览器Chrome开发者调试工具-Network(网络)网络标签页是对网页请求过程的监视,这里可以看到网页链接发送了什么请求,接收到了什么内容。都可以直观的看到二、关闭标签页在标签页上右键,可以选择移除或移......
  • 2024.3.5总结
    今天学组合数学\(C(n,m)\)表示\(n\)个物品里面选\(m\)个的方案数\(C(n,m)=C(n-1,m)+C(n-1,m-1)=\frac{n!}{m!\times(n-m)!}\)第一题:前提条件是互质。F1:\(n^{-1}\equivn^{p-2}\pmodp\)F2:设\(a=\lfloorp/i\rfloor,b=p%i\)\[a\timesi+......
  • 2024-03-05 闲话
    昨天晚上南开量化社团群里发了一个小红书链接,title是微观博易终面记录。这样的小红书群里分享了很多已经,我漠然地点进去,开幕雷击:Lrf找工记。然后发现nc哥已经飞黄腾达了。然后思考了一下qd可能和competitiveprogramming还是intersection多一些。LoRAHub做法是对于一......
  • 网页浏览器Chrome开发者调试工具-Performance(性能)
    前言全局说明网页浏览器Chrome开发者调试工具-Performance(性能)一、网页浏览器Chrome开发者调试工具-Performance(性能)用于记录和分析页面在运行时的所有活动,比如CPU占用情况、呈现页面的性能分析二、关闭标签页在标签页上右键,可以选择移除或移动到快速视图栏免责......