QuickAI 项目介绍
项目概述
QuickAI 是一个用 Python 编写的库,旨在让用户轻松地进行前沿机器学习模型的实验。通过简化代码量,它使得快速试验和原型制作变得更加直接和高效。用户无需编写大量的样板代码即可测试多个流行的深度学习模型。
背景动机
该项目的创建灵感源自作者在探索高级机器学习架构时的体验。尽管这些著名的神经网络架构(例如 EfficientNet 等)表现出色,但实际将其应用到具体问题上并不容易。因此,QuickAI 应运而生,它为实现这些模型提供了更为便捷的方式。
依赖项和 Docker 支持
QuickAI 需要包括 TensorFlow、PyTorch、Sklearn、Matplotlib、Numpy 和 Hugging Face Transformers 在内的多种依赖库。为了简化安装步骤,QuickAI 提供了 Docker 镜像,用户可以通过 Docker 容器来规避繁琐的依赖配置。
使用 Docker
- 拉取 Docker 镜像:
docker pull geekjr/quickai
- 运行镜像:
- 对于 CPU 用户,直接运行:
docker run -it geekjr/quickai bash
- 对于 GPU 用户,加上
--gpus all
选项即可:docker run --gpus all -it geekjr/quickai bash
- 对于 CPU 用户,直接运行:
优势与功能
QuickAI 的主要优势在于极大减少了用户侧的代码编写工作。例如,面对如 EfficientNet 这样的复杂模型,在没有 QuickAI 的情况下,用户需要手动编写数据加载、预处理、模型定义和训练的代码,而使用 QuickAI 后,只需 1-2 行代码即可完成相同的任务。
支持的模型
QuickAI 目前支持以下模型:
图像分类
- EfficientNet B0-B7
- VGG16、VGG19
- DenseNet121、DenseNet169、DenseNet201
- Inception ResNet V2、Inception V3
- MobileNet、MobileNet V2、MobileNet V3 Small & Large
- ResNet 101、ResNet 101 V2、ResNet 152、ResNet 152 V2、ResNet 50、ResNet 50 V2
- Xception
自然语言处理
- GPT-NEO 系列(包括 125M、350M、1.3B、2.7B)
- GPT-J 6B
- Distill BERT 系列(支持问答、实体识别、情感分析等功能)
- Distil BART(用于文本摘要)
目标检测
- YOLOV4、YOLOV4 Tiny
安装与使用
用户可以通过以下命令轻松安装 QuickAI:
pip install quickAI
使用方面,可以参考项目的示例文件夹以获取详细指引。对于 YOLOV4 模型,用户可以从提供的链接下载权重。
问题与反馈
在使用 QuickAI 过程中,如遇任何问题或有疑问,请通过项目的讨论区进行交流,如果是 bug,可以直接开启新的 issue 以帮助开发者进行修正。
致谢
大部分 YOLO 实现的代码来自 “The AI Guy”的 tensorflow-yolov4-tflite
和 YOLOv4-Cloud-Tutorial
仓库,感谢他们的贡献,这为实现 YOLO 模型提供了重要帮助。