tf_efficientnet_b1.ns_jft_in1k 项目介绍
背景介绍
tf_efficientnet_b1.ns_jft_in1k 项目是一款高效的图像分类模型。它基于 EfficientNet 架构,由研究人员在 Tensorflow 中使用 Noisy Student 半监督学习方法训练而成,并由 Ross Wightman 移植到 PyTorch。该模型使用的是 ImageNet-1k 和未标记的 JFT-300m 数据集,具有良好的图像分类性能。
模型详情
模型类型:
- 图像分类/特征骨干
模型统计:
- 参数量:7.8百万
- GMACs:0.7
- 激活数:10.9百万
- 图像尺寸:240x240像素
相关论文:
- EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
- Self-training with Noisy Student improves ImageNet classification
训练数据集:
- ImageNet-1k
原始仓库:
模型使用方法
图像分类
该模型可以用于图像分类任务,通过简单的几行代码即可实现。加载预训练模型后,可以对输入图像进行处理并获得其分类结果。
from PIL import Image
import timm
# 加载并预处理图像
img = Image.open('图像链接/路径')
model = timm.create_model('tf_efficientnet_b1.ns_jft_in1k', pretrained=True)
model = model.eval()
transforms = timm.data.create_transform(is_training=False)
# 获取分类结果
output = model(transforms(img).unsqueeze(0))
特征图提取
该模型还支持从输入图像中提取特征图,这对需要中间层输出进行分析的任务十分有用。
model = timm.create_model('tf_efficientnet_b1.ns_jft_in1k', pretrained=True, features_only=True)
model = model.eval()
output = model(transforms(img).unsqueeze(0))
每个输出的特征图尺寸与原始图像有所区别,具体形状可以通过循环打印确认。
图像嵌入
若需要获取图像嵌入(即特征向量),可以通过如下方式实现,此过程可视为移除分类器层后的特征提取。
model = timm.create_model('tf_efficientnet_b1.ns_jft_in1k', pretrained=True, num_classes=0)
model = model.eval()
output = model(transforms(img).unsqueeze(0))
模型比较
可前往 timm 模型结果 页面,探索该模型在数据集上的性能及运行度量。
引用信息
若在研究或应用中使用了该模型,请引用以下论文:
@inproceedings{tan2019efficientnet,
title={Efficientnet: Rethinking model scaling for convolutional neural networks},
author={Tan, Mingxing and Le, Quoc},
booktitle={International conference on machine learning},
pages={6105--6114},
year={2019},
organization={PMLR}
}
@article{Xie2019SelfTrainingWN,
title={Self-Training With Noisy Student Improves ImageNet Classification},
author={Qizhe Xie and Eduard H. Hovy and Minh-Thang Luong and Quoc V. Le},
journal={2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2019},
pages={10684-10695}
}
@misc{rw2019timm,
author = {Ross Wightman},
title = {PyTorch Image Models},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
doi = {10.5281/zenodo.4414861},
howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}