ConvNeXt飞桨版本预训练权重


本项目提供了ConvNeXt的飞桨版本的预训练权重以及模型文件。权重由PyTorch转换而来。并且通过在ImageNet 1K测试集进行精度校验。模型文件请见ConvNeXt.py。本项目旨在提供飞桨版本的模型权重、模型文件和验证精度,对于模型的理解并没有描述,如果想深入了解模型,请见: ConvNeXt:探索CNN网络的极限潜力

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

convnext飞桨版本预训练权重 -

项目简介

本项目提供了ConvNeXt的飞桨版本的预训练权重以及模型文件。权重由PyTorch转换而来。并且通过在ImageNet 1K测试集进行精度校验。模型文件请见ConvNeXt.py。本项目旨在提供飞桨版本的模型权重、模型文件和验证精度,对于模型的理解并没有描述,如果想深入了解模型,请见: ConvNeXt:探索CNN网络的极限潜力

ConvNeXt

模型文件请见ConvNeXt.py, 下面说一下PyTorch模型转换PaddlePaddle模型的注意事项。

  • 线性层PyTorch与PaddlePaddle的权重转换需要转置一下
  • DropPath层需要自定义。我是参考了这篇文章 PiT:结合池化层的视觉 Transformer 网络
  • PaddlePaddle在涉及维度的参数时,多用axis,PyTorch则是dim
  • 有时需要自定义参数,PaddlePaddle的API在这里
  • PaddlePaddle无permute,而是采用了transpose
  • 其他简单的API映射请见这里

在这个py文件的第134和135行,给weight和bias乘了一个1,也就是没有做什么处理,这个是PyTorch的写法,PaddlePaddle的写法我还不会,麻烦知道的大佬回复一下。

权重

这里介绍一下本次精度验证的权重文件,总共有5个,分别代表了不同大小和版本的ConvNeXt。 首先来总览一下。

name resolution acc@1 #params FLOPs
ConvNeXt-T 224x224 82.1 28M 4.5G
ConvNeXt-S 224x224 83.1 50M 8.7G
ConvNeXt-B 224x224 83.8 89M 15.4G
ConvNeXt-L 224x224 84.3 198M 34.4G
ConvNeXt-XL 384x384 87.8 350M 179.0G

由于文件数量限制,这里只展示这5个不同版本,以及做精度验证。22K上的权重将放在其他数据集里在这里。这个项目用的数据集在ConvNeXt预训练模型PaddlePaddle版本里,欢迎大家下载使用。下面来做精度验证8!

简小派 简小派

简小派是一款AI原生求职工具,通过简历优化、岗位匹配、项目生成、模拟面试与智能投递,全链路提升求职成功率,帮助普通人更快拿到更好的 offer。

简小派 123 查看详情 简小派

精度验证

以下精度验证代码参考寂寞你快进去大佬的写法。

In [1]
# 解压ImageNet 1K数据集!mkdir data/ILSVRC2012
!tar -xf ~/data/data68594/ILSVRC2012_img_val.tar -C ~/data/ILSVRC2012
    In [2]
import osimport cv2import numpy as npimport warningsimport paddleimport paddle.vision.transforms as Tfrom PIL import Image
warnings.filterwarnings('ignore')# 构建数据集class ILSVRC2012(paddle.io.Dataset):
    def __init__(self, root, label_list, transform, backend='pil'):
        self.transform = transform
        self.root = root
        self.label_list = label_list
        self.backend = backend
        self.load_datas()    def load_datas(self):
        self.imgs = []
        self.labels = []        with open(self.label_list, 'r') as f:            for line in f:
                img, label = line[:-1].split(' ')
                self.imgs.append(os.path.join(self.root, img))
                self.labels.append(int(label))    def __getitem__(self, idx):
        label = self.labels[idx]
        image = self.imgs[idx]        if self.backend=='cv2':
            image = cv2.imread(image)        else:
            image = Image.open(image).convert('RGB')
        image = self.transform(image)        return image.astype('float32'), np.array(label).astype('int64')    def __len__(self):
        return len(self.imgs)


val_transforms = T.Compose([
    T.Resize(int(224 / 0.96), interpolation='bicubic'),
    T.CenterCrop(224),
    T.ToTensor(),
    T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
    In [3]
# 配置模型from ConvNeXt import convnext_tiny, convnext_small, convnext_base, convnext_large, convnext_xlarge

cvt_t = convnext_tiny()
cvt_s = convnext_small()
cvt_b = convnext_base()
cvt_l = convnext_large()
cvt_x = convnext_xlarge()
       
W0211 21:12:49.976547   686 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0211 21:12:49.982038   686 device_context.cc:465] device: 0, cuDNN Version: 7.6.
        In [4]
cvt_t.load_dict(paddle.load('data/data127804/convnext_tiny_1k_224_ema.pdparams'))
cvt_t = paddle.Model(cvt_t)
cvt_t.prepare(metrics=paddle.metric.Accuracy(topk=(1, 5)))

cvt_s.load_dict(paddle.load('data/data127804/convnext_small_1k_224_ema.pdparams'))
cvt_s = paddle.Model(cvt_s)
cvt_s.prepare(metrics=paddle.metric.Accuracy(topk=(1, 5)))

cvt_b.load_dict(paddle.load('data/data127804/convnext_base_1k_224_ema.pdparams'))
cvt_b = paddle.Model(cvt_b)
cvt_b.prepare(metrics=paddle.metric.Accuracy(topk=(1, 5)))

cvt_l.load_dict(paddle.load('data/data127804/convnext_large_1k_224_ema.pdparams'))
cvt_l = paddle.Model(cvt_l)
cvt_l.prepare(metrics=paddle.metric.Accuracy(topk=(1, 5)))

cvt_x.load_dict(paddle.load('data/data127804/convnext_xlarge_22k_1k_384_ema.pdparams'))
cvt_x = paddle.Model(cvt_x)
cvt_x.prepare(metrics=paddle.metric.Accuracy(topk=(1, 5)))
    In [5]
val_dataset = ILSVRC2012('data/ILSVRC2012', transform=val_transforms, label_list='data/data68594/val_list.txt', backend='pil')# 模型验证acc = cvt_t.evaluate(val_dataset, batch_size=128, num_workers=0, verbose=1)print(acc)
       
Eval begin...
step 391/391 [==============================] - acc_top1: 0.8199 - acc_top5: 0.9588 - 1s/step          
Eval samples: 50000
{'acc_top1': 0.81992, 'acc_top5': 0.9588}
        In [6]
val_dataset = ILSVRC2012('data/ILSVRC2012', transform=val_transforms, label_list='data/data68594/val_list.txt', backend='pil')# 模型验证acc = cvt_s.evaluate(val_dataset, batch_size=128, num_workers=0, verbose=1)print(acc)
       
Eval begin...
step 391/391 [==============================] - acc_top1: 0.8308 - acc_top5: 0.9652 - 1s/step          
Eval samples: 50000
{'acc_top1': 0.83078, 'acc_top5': 0.96516}
        In [7]
val_dataset = ILSVRC2012('data/ILSVRC2012', transform=val_transforms, label_list='data/data68594/val_list.txt', backend='pil')# 模型验证acc = cvt_b.evaluate(val_dataset, batch_size=128, num_workers=0, verbose=1)print(acc)
       
Eval begin...
step 391/391 [==============================] - acc_top1: 0.8384 - acc_top5: 0.9683 - 2s/step          
Eval samples: 50000
{'acc_top1': 0.8384, 'acc_top5': 0.9683}
        In [7]
val_dataset = ILSVRC2012('data/ILSVRC2012', transform=val_transforms, label_list='data/data68594/val_list.txt', backend='pil')# 模型验证acc = cvt_l.evaluate(val_dataset, batch_size=128, num_workers=0, verbose=1)print(acc)
       
Eval begin...
step 391/391 [==============================] - acc_top1: 0.8435 - acc_top5: 0.9697 - 2s/step          
Eval samples: 50000
{'acc_top1': 0.84346, 'acc_top5': 0.9697}
        In [5]
# resize到384val384_transforms = T.Compose([
    T.Resize((384, 384), interpolation='bicubic'),  #  T.CenterCrop(224),
    T.ToTensor(),
    T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
    In [6]
val_dataset = ILSVRC2012('data/ILSVRC2012', transform=val384_transforms, label_list='data/data68594/val_list.txt', backend='pil')# 模型验证acc = cvt_x.evaluate(val_dataset, batch_size=128, num_workers=0, verbose=1)print(acc)
       
Eval begin...
step 391/391 [==============================] - acc_top1: 0.8775 - acc_top5: 0.9856 - 5s/step          
Eval samples: 50000
{'acc_top1': 0.8775, 'acc_top5': 0.98556}
       

总结

部分模型的准确率有点点不一样是不能避免的,PyTorch转PaddlePaddle的过程或者数据处理的过程都会有一点点不一样。但是总的来说,并没有大的不同,所以模型转换是成功的。

ConvNeXt算是最强的卷积分类网络了。在现有Transformer统治的情况下,ConvNeXt仍然以极强的建模能力为卷积网络扳回一城。不过说实话,卷积比Transformer好的一点且无法代替的一点就是卷积的输入可以是任何尺度,Transformer则较为麻烦。

以上就是ConvNeXt飞桨版本预训练权重的详细内容,更多请关注其它相关文章!


# 如何使用  # 在线关键词排名哪家便宜  # 白城手机网站建设  # 日喀则网站推广优化  # 定州市网站推广哪家实惠  # 营销推广算广告吗吗  # 鞍山seo查询公司  # 睢宁网站推广优势  # 墙绘推广视频素材网站  # 广州seo佰蜂牛  # 培训网站建设哪家专业  # type  # 自定义  # 中文网  # 一台  # 腾讯  # 而来  # 在这里  # 明基  # 大佬  # 请见 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: AYANEO 安卓掌机 Pocket AIR 配置公布:天玑 1200 + 5.5 英寸屏  华为4G5G通信物联网收费标准公布,多年研发成果,十年花费近万亿  联想首发AI PC于今年秋季,英特尔CEO确认AI PC时代来临  AI技术改变*,新骗局来袭,*成功率接近100%  映宇宙集团执行总编辑:元宇宙还是要以人为媒介  中美陷入囚徒困境,人工智能变得不可控?可参考核不扩散条约规范  苹果2万5的AR遭遇砍单95%:不及预期  争鸣:OpenAI奥特曼、Hinton、杨立昆的AI观点到底有何不同?  618京东3C数码趋势产品备受青睐 AR设备成交额同比增长15倍  北交大推出国内首个开源交通大模型TransGPT,可免费商用  AI教父Bengio:我感到迷失,对AI担忧已成「精神内耗」!  科学家称,面对人工智能,人类未来或只有灭亡与虚拟永生两个选择  软银、淡马锡、沙特阿美突击入股,“协作机器人第一股”节卡股份:强敌环伺,持续失血是常态  微软Xbox称VR和AR还需要时间 先玩大的  特斯拉人形机器人将于 7 月亮相上海 2025 世界人工智能大会  用人工智能技术,亚马逊为用户生成产品评论摘要,帮助他们轻松选购  你们的开机第一屏画面要变了!安卓机器人首次3D化  中国电信AI能力通过国家级金融领域权威认证并荣膺AI国际头部竞赛冠军  严打“黑飞”,无人机检测反制设备护航大运会净空安全  RoboNeo什么时候上线  中国气象局预测:到 2030 年,中国人工智能气象应用将达到国际领先水平  直击上影节 | 光线传媒董事长王长田谈新技术:未来VR放映效果可能媲美影院  闪电快讯|京东推出言犀AI大模型 面向零售、医疗、物流等产业场景  小岛秀夫不反对使用AI 但认为人类应该凌驾于AI  【澎湃原动力】人工智能产业协同创新中心:全产业链资源在这里汇聚  大模型训练成本降低近一半!新加坡国立大学最新优化器已投入使用  令人惊叹!AI模型能够以iPhone照片为基础创作诗歌  马斯克“揭秘”人工智能真面目  能走、能飞、能游泳,科学家打造全能 M4 机器人  基于信息论的校准技术,CML让多模态机器学习更可靠  MIT开发“PhotoGuard”技术保护图像免遭恶意AI编辑  Gartner预测:到2025年,全球对话式人工智能支出预计将达到1860亿美元  阿里云推出通义万相AI绘画大模型  杀入生成式AI的亚马逊云科技,能否再次生成未来?  上天下海登极,青岛与昇腾AI握手一起探索星辰大海  DragGAN开源三天Star量23k,这又来一个DragDiffusion  人工智能如何与智能家居集成  特斯拉 Optimus 人形机器人入驻北美门店,帮助提升汽车销量  2025智源大会AI安全话题备受关注,《人机对齐》新书首发  360°/180°双模式,佳能公布可折叠小体积的VR全景相机  亲身体验鸿蒙4:AI大模型带来的便利,告别单纯的旁观者状态  拓普龙7188ML:轻便壁挂式工控机箱,为人工智能应用场景提供有力保障  朝鲜出现国产大型察打一体无人机,实力世界第二,太意外了  黄仁勋:5年前,我们对AI抱有巨大期望  时隔 4 年:谷歌更新安卓机器人 LOGO,形象更立体  Meta开源文本生成音乐大模型,我们用《七里香》歌词试了下  AI在教育中的角色:AI如何改变我们的学习方式  水路两栖艇、消防灭火机器人……这个展览“黑科技”抢眼  到中国科技馆体验“一滴油的奇妙旅行”,线上元宇宙展厅同步开启  云南首例达芬奇机器人微创心脏手术成功开展 

 2025-07-28

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.