tf_efficientnet_b5.ns_jft_in1k项目介绍
项目概述
tf_efficientnet_b5.ns_jft_in1k
是一个用于图像分类的EfficientNet模型。该模型最初是在 TensorFlow 中使用 Noisy Student 半监督学习策略在 ImageNet-1k 和未标记的 JFT-300m 数据集上进行训练的,后来由 Ross Wightman 将其移植到了 PyTorch 中。EfficientNet 模型以其高效的计算和出色的性能而闻名。
模型详细信息
- 模型类型: 图像分类 / 特征提取
- 模型参数:
- 参数数量:30.4 百万
- GMACs(乘加运算):10.5
- 激活数:98.9 百万
- 图像输入尺寸:456 x 456
- 相关论文:
- 使用数据集: ImageNet-1k
模型使用说明
图像分类
该模型可用于图像分类,通过处理图像并输出预测结果。用户可以使用 PyTorch 中的 timm
库加载模型,并使用预训练的权重来进行推理。以下是一个简单的使用示例:
from urllib.request import urlopen
from PIL import Image
import timm
img = Image.open(urlopen('https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'))
model = timm.create_model('tf_efficientnet_b5.ns_jft_in1k', pretrained=True)
model = model.eval()
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
output = model(transforms(img).unsqueeze(0))
# 获取前五个概率和类别索引,例如:
# top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
特征图提取
模型还提供了特征图提取功能,用户可以通过该功能从输入图像中提取高级特征,为进一步的分析或其他机器学习任务奠定基础。
model = timm.create_model('tf_efficientnet_b5.ns_jft_in1k', pretrained=True, features_only=True)
model = model.eval()
output = model(transforms(img).unsqueeze(0))
# 输出的每个特征图的形状,例如:
# torch.Size([1, 24, 228, 228])
图像嵌入
此外,模型还支持图像嵌入的生成,这有助于获取图像的深层特征表示,便于在分类任务之外的应用。
model = timm.create_model('tf_efficientnet_b5.ns_jft_in1k', pretrained=True, num_classes=0) # 移除分类层
model = model.eval()
output = model.forward_features(transforms(img).unsqueeze(0))
# 特征输出为 (1, num_features) 形状的张量
模型对比与探索
想要更深入了解模型性能的用户,可以访问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}} }