🚀 路径视觉变换器(Pathway Vision Transformer)
PaViT 是由 Ajibola Emmanuel Oluwaseun 开发的基于路径视觉变换器(PaViT)的图像识别模型。该模型受谷歌的 PaLM(路径语言模型)启发,旨在展示少样本学习技术在图像识别任务中的潜力。
🚀 快速开始
安装依赖
!pip install huggingface_hub["tensorflow"]
import matplotlib.pyplot as plt
import cv2
from huggingface_hub import from_pretrained_keras
推理示例
model=from_pretrained_keras('Ajibola/PaViT')
image=cv2.imread('image_path')
image=cv2.resize(image, (224, 224))
image=image/image.max()
prediction=model.predict(image)
prediction=np.argmax(prediction, axis=-1)
✨ 主要特性
- 受谷歌 PaLM 启发,探索少样本学习技术在图像识别中的应用。
- 在 CPU 上训练速度快,即使使用相对较小的数据集也能取得出色的性能。
📦 安装指南
使用以下命令安装所需依赖:
!pip install huggingface_hub["tensorflow"]
💻 使用示例
基础用法
!pip install huggingface_hub["tensorflow"]
import matplotlib.pyplot as plt
import cv2
from huggingface_hub import from_pretrained_keras
model=from_pretrained_keras('Ajibola/PaViT')
image=cv2.imread('image_path')
image=cv2.resize(image, (224, 224))
image=image/image.max()
prediction=model.predict(image)
prediction=np.argmax(prediction, axis=-1)
高级用法
可以修改代码以使用自定义数据集,并通过添加更多自注意力头和线性层来进一步提高模型的性能。
📚 详细文档
模型性能
PaViT 在配备 4GB 内存的 CPU 上使用包含 15 个类别的 15000 张 Kaggle 图像数据集进行训练。使用 4 个自注意力头时,模型达到了惊人的 88% 准确率。当使用 12 个自注意力头和 12 个线性堆叠的线性层进行训练时,模型的准确率进一步提高到 96%。这些结果表明,尽管在相对较小的数据集上进行训练,但该模型在 CPU 上仍具有出色的性能和快速的训练速度。
上传的权重是在包含 3 个类(猫、狗和野生动物)的图像数据集上训练得到的。
贡献
作者认为 PaViT 有潜力超越现有的视觉变换器模型,并期待通过开发者和其他贡献者的努力使其不断发展。欢迎通过拉取请求为项目做出贡献。开发者也可以报告问题或为项目提出新功能建议。
📄 许可证
本项目采用 MIT 许可证。