Variations-of-SFANet-for-Crowd-Counting代码复现

前文对Variations-of-SFANet-for-Crowd-Counting做了一点基础梳理,并对开源框架的可视化代码进行了验证,链接如下:

Variations-of-SFANet-for-Crowd-Counting记录-CSDN博客

Variations-of-SFANet-for-Crowd-Counting可视化代码-CSDN博客

这里对训练和测试代码进行相关复现。

train.py代码测试

(1)预训练权重

由于训练代码有预训练权重,来自:GitHub - ZhihengCV/Bayesian-Crowd-Counting: Official Implement of ICCV 2019 oral paper Bayesian Loss for Crowd Count Estimation with Point Supervision

根据文献Bayesian Loss for Crowd Count Estimation with Point Supervision:https://arxiv.org/abs/1908.03684所述

预训练是在ImageNet 上进行的

(2)训练模型

由于本文改进了SegNet和SFA两个模型,因此在训练的时候要选择不同的模型

regression_trainer.py中,注意选择不同的模型

<1>M_SFANet_UCF_QNRF

注意模型选择和路径的选择

UCF_QNRF数据集经过贝叶斯处理的流程同前文记录

预训练权重在前文链接中可以下载

处理好了就可以开始训练

训练报错记录

RuntimeError: Error(s) in loading state_dict for Model:

详细报错如下

python 复制代码
RuntimeError: Error(s) in loading state_dict for Model:
        Missing key(s) in state_dict: "vgg.conv1_1.conv.weight", "vgg.conv1_1.conv.bias", "vgg.conv1_2.conv.weight", "vgg.conv1_2.conv.bias", "vgg.conv2_1.conv.weight", "vgg.conv2_1.conv.bias", "vgg.conv2_2.conv.weight", "vgg.conv2_2.conv.bias", "vgg.conv3_1.conv.weight", "vgg.conv3_1.conv.bias", "vgg.conv3_2.conv.weight", "vgg.conv3_2.conv.bias", "vgg.conv3_3.conv.weight", "vgg.conv3_3.conv.bias", "vgg.conv3_4.conv.weight", "vgg.conv3_4.conv.bias", "vgg.conv4_1.conv.weight", "vgg.conv4_1.conv.bias", "vgg.conv4_2.conv.weight", "vgg.conv4_2.conv.bias", "vgg.conv4_3.conv.weight", "vgg.conv4_3.conv.bias", "vgg.conv4_4.conv.weight", "vgg.conv4_4.conv.bias", "vgg.conv5_1.conv.weight", "vgg.conv5_1.conv.bias", "vgg.conv5_2.conv.weight", "vgg.conv5_2.conv.bias", "vgg.conv5_3.conv.weight", "vgg.conv5_3.conv.bias", "vgg.conv5_4.conv.weight", "vgg.conv5_4.conv.bias", "spm.assp.aspp1.atrous_conv.weight", "spm.assp.aspp2.atrous_conv.weight", "spm.assp.aspp3.atrous_conv.weight", "spm.assp.aspp4.atrous_conv.weight", "spm.assp.global_avg_pool.1.weight", "spm.assp.conv1.weight", "spm.can.scales.0.1.weight", "spm.can.scales.1.1.weight", "spm.can.scales.2.1.weight", "spm.can.scales.3.1.weight", "spm.can.bottleneck.weight", "spm.can.bottleneck.bias", "spm.can.weight_net.weight", "spm.can.weight_net.bias", "spm.reg_layer.0.weight", "spm.reg_layer.0.bias", "spm.reg_layer.2.weight", "spm.reg_layer.2.bias", "dmp.conv1.conv.weight", "dmp.conv1.conv.bias", "dmp.conv2.conv.weight", "dmp.conv2.conv.bias", "dmp.conv3.conv.weight", "dmp.conv3.conv.bias", "dmp.conv4.conv.weight", "dmp.conv4.conv.bias", "dmp.conv5.conv.weight", "dmp.conv5.conv.bias", "dmp.conv6.conv.weight", "dmp.conv6.conv.bias", "dmp.conv7.conv.weight", "dmp.conv7.conv.bias", "conv_out.conv.weight", "conv_out.conv.bias".
        Unexpected key(s) in state_dict: "features.0.weight", "features.0.bias", "features.2.weight", "features.2.bias", "features.5.weight", "features.5.bias", "features.7.weight", "features.7.bias", "features.10.weight", "features.10.bias", "features.12.weight", "features.12.bias", "features.14.weight", "features.14.bias", "features.16.weight", "features.16.bias", "features.19.weight", "features.19.bias", "features.21.weight", "features.21.bias", "features.23.weight", "features.23.bias", "features.25.weight", "features.25.bias", "features.28.weight", "features.28.bias", "features.30.weight", "features.30.bias", "features.32.weight", "features.32.bias", "features.34.weight", "features.34.bias", "reg_layer.0.weight", "reg_layer.0.bias", "reg_layer.2.weight", "reg_layer.2.bias", "reg_layer.4.weight", "reg_layer.4.bias".

网上查的都不好使,这里注意预训练权重的文件里不要放多个权重文件,只放UCF_QNRF对应的预训练权重就好

这里用了5个epoch,训练集和测试集各用了5张图片数据来验证网络能否跑通,训练日志如下。不要在意指标大小。

<2>M_SFANet_UCF_QNRF

注意模型选择和路径的选择

输出日志

其他的效仿上述代码就好了

test.py代码测试

这里直接用仓库提供的权重进行测试,然后改改路径,同样用了5张图片数据测试

这里只用M_SFANet_UCF_QNRF测试,输出如下,其他同理,就不再赘述

相关推荐
AI袋鼠帝4 小时前
4万Star开源神作曝光顶级AI们的System Prompt!太有意思了~4万Star开源神作曝光顶级AI们的System Prompt!太有意思了~
人工智能
❀͜͡傀儡师5 小时前
AI 中转站(Sub2API)搭建
人工智能·sub2api·ai 中转站
甲维斯5 小时前
Claude“山寨版”来了,支持中文,可配“任意模型”
人工智能·ai编程
测试员周周5 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_16256 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
怕浪猫6 小时前
荒岛原始无工业、无电力、无设备,从零搭建最基础计算机体系
人工智能·设计模式·面试
2601_949499946 小时前
金价涨、光模块跌?不,它们之间存在更复杂的四重关联
人工智能·区块链
tanis_20776 小时前
Deepseek V4 Pro 新手极速上手指南
人工智能·语言模型
AI袋鼠帝6 小时前
阿里最强视频模型!千问App首发灰测 HappyHorse 1.0
人工智能
tanis_20776 小时前
扫描版中文 PDF 怎么提取文字:用 MinerU 做 OCR + 结构化一体处理
人工智能·pdf·ocr