Project Icon

corenet

用于训练多任务深度神经网络的工具库

CoreNet是一款多功能深度神经网络工具库,支持训练各种规模的标准和创新模型。它适用于基础模型、计算机视觉和自然语言处理等多个领域。该项目提供可复现的训练方案、预训练模型权重和针对Apple Silicon优化的MLX示例,有助于推动AI研究和应用的发展。

CoreNet: 用于训练深度神经网络的库

CoreNet是一个深度神经网络工具包,允许研究人员和工程师训练各种任务的标准和新型小型及大规模模型,包括基础模型(如CLIP和LLM)、目标分类、目标检测和语义分割。

目录

新特性

  • 2024年4月: CoreNet库0.1.0版本包括
    • OpenELM
    • CatLIP
    • MLX示例

Apple使用CoreNet的研究成果

以下是使用CoreNet的Apple发表的论文列表。此外,训练和评估方法以及预训练模型的链接可以在projects文件夹中找到。有关更多详细信息,请参阅该文件夹。

安装

您需要Git LFS(说明如下)来运行测试和Jupyter笔记本(安装说明见此处),并为此存储库做贡献,因此我们建议您首先安装并激活它。

在Linux上,我们建议使用Python 3.10+和PyTorch(版本 >= v2.1.0),在macOS系统上Python 3.9+应该足够。

请注意,如果您想做出贡献和/或运行测试,下面列出的可选依赖项是必需的。

对于Linux(将apt替换为您的包管理器):

sudo apt install git-lfs

git clone git@github.com:apple/corenet.git
cd corenet
git lfs install
git lfs pull
# 以下venv命令是可选的,但建议使用。或者,您可以创建并激活conda环境。
python3 -m venv venv && source venv/bin/activate
python3 -m pip install --editable .

安装音频和视频处理的可选依赖项:

sudo apt install libsox-dev ffmpeg

对于macOS,假设您使用Homebrew:

brew install git-lfs

git clone git@github.com:apple/corenet.git
cd corenet
cd \$(pwd -P)  # 见下面的注释
git lfs install
git lfs pull
# 以下venv命令是可选的,但建议使用。或者,您可以创建并激活conda环境。
python3 -m venv venv && source venv/bin/activate
python3 -m pip install --editable .

安装音频和视频处理的可选依赖项:

brew install sox ffmpeg

请注意,在macOS上文件系统是不区分大小写的,大小写敏感性可能会导致Git问题。您应该像访问大小写敏感的路径一样访问磁盘上的存储库,即使用与列出目录时看到的相同的大小写ls。您可以使用cd $(pwd -P)命令切换到这样的路径。

目录结构

本节提供对重要CoreNet目录的快速访问和简要描述。

描述 快速访问

入门

使用示例是开始使用CoreNet的简单方法。
└── tutorials
    ├── train_a_new_model_on_a_new_dataset_from_scratch.ipynb
    ├── guide_slurm_and_multi_node_training.md
    ├── clip.ipynb
    ├── semantic_segmentation.ipynb
    └── object_detection.ipynb

训练方法

除了`projects/`目录中列出的出版物的预训练模型权重和检查点外,CoreNet还提供可重现的训练方法。

出版物项目目录通常包含以下内容:

  • README.md 提供文档、预训练权重的链接和引用。
  • <task_name>/<model_name>.yaml 提供用于重现训练和评估的配置。
└── projects
    ├── byteformer
    ├── catlip (*)
    ├── clip
    ├── fastvit
    ├── mobilenet_v1
    ├── mobilenet_v2
    ├── mobilenet_v3
    ├── mobileone
    ├── mobilevit
    ├── mobilevit_v2
    ├── openelm (*)
    ├── range_augment
    ├── resnet
    └── vit

(*) 新发布。

MLX示例

MLX示例演示了如何在Apple Silicon上高效运行CoreNet模型。 请在相应示例目录中的`README.md`文件中查找更多信息。
└──mlx_example
    ├── clip
    └── open_elm

模型实现

模型按任务组织(例如"分类")。您可以在相应的任务文件夹中找到每个任务的所有模型实现。

每个模型类都用@MODEL_REGISTRY.register(name="<model_name>", type="<task_name>")装饰器修饰。 要在CoreNet训练或评估中使用模型类, 在YAML配置中分配models.<task_name>.name = <model_name>

└── corenet
    └── modeling
        └── 模型
            ├── 音频分类
            ├── 分类
            ├── 检测
            ├── 语言建模
            ├── 多模态图像文本
            └── 分割

数据集

与模型类似,数据集也按任务进行分类。
└── corenet
    └── data
        └── 数据集
            ├── 音频分类
            ├── 分类
            ├── 检测
            ├── 语言建模
            ├── 多模态图像文本
            └── 分割

其他关键目录

在本节中,我们重点介绍了其余关键目录,这些目录实现了与YAML配置中引用的名称相对应的类。
└── corenet
    ├── 损失函数
    ├── 指标
    ├── 优化器
    │   └── 调度器
    ├── 训练评估流程
    ├── 数据
    │   ├── 整理函数
    │   ├── 采样器
    │   ├── 文本分词器
    │   ├── 转换
    │   └── 视频读取器
    └── 建模
        ├── 
        ├── 模块
        ├── 神经增强器
        └── 文本编码器

维护者

该代码由Sachin开发,现由Sachin、Maxwell HortonMohammad Sekhavat和Yanzi Jin维护。

前任维护者

为CoreNet做贡献

我们欢迎社区提交PR!你可以在我们的贡献文档中找到有关为CoreNet做贡献的信息。

请记住遵守我们的行为准则

许可证

有关许可证详细信息,请参阅LICENSE

与CVNets的关系

CoreNet从CVNets演变而来,以涵盖计算机视觉之外更广泛的应用范围。它的扩展促进了基础模型的训练,包括大型语言模型。

引用

如果您发现我们的工作有用,请引用以下论文:

@inproceedings{mehta2022cvnets, 
     author = {Mehta, Sachin and Abdolhosseini, Farzad and Rastegari, Mohammad}, 
     title = {CVNets: High Performance Library for Computer Vision}, 
     year = {2022}, 
     booktitle = {Proceedings of the 30th ACM International Conference on Multimedia}, 
     series = {MM '22} 
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号