use pure attention implement cv/nlp backbone
Project description
介绍
attention 在 cv 和 nlp 领域都有很多的应用,比如在 cv 中,可以使用 detr 进行目标检测任务,使用 vit / mae 进行图片预训练任务。
在 nlp 领域中的作用更不用提, bert 以及后续的更多工作将 attention 彻底的发扬光大。
cv 和 nlp 中的很多方法和技巧也在相互影响,比如大规模的预训练、mask 的设计(mae 、vilbert)、自监督学习的设计(从 imageNet 做有监督的预训练到纯粹的自监督预训练)。
这些方面都非常的有趣,我希望可以设计一个 backbone 结构,让其可以在 cv 任务和 nlp 任务上均取到 sota 的效果。
从而为之后的任务提供一个 baseline。
目标
提供一套完整的的基础算法服务
1、python 训练任务,包含 NLP 和 CV 任务 。
2、java 环境下使用 onnx 的在线推理部署,使用 onnx 的原因是我在公司用的是 TensorFlow 做推理,我不想和公司的代码一致。
todo
第一阶段:实现 NLP 和 CV 的典型任务,并评估下游效果。
-
Pytorch 实现 Transformer 的 encode 阶段,并实现 bert ;
参考 transformers 的设计,但只保留与关键 encode 相关的代码,简化代码量。 保持与原始 huggingface encode 的结果一致, 使用方法和一致性校验可以参考 backbone_bert 。
- 提供 transformers 中 bert-base-chinese 、chinese-roberta-wwm-ext 、chinese-roberta-wwm-ext-large 、ernie 1.0 的国内下载镜像, 下载方式具体可参考 transformers国内下载镜像 。
-
Pytorch 实现 Transformer 的 decode 阶段,并实现 seq2seq 任务。
todo
-
NLP 下游任务 序列标注、分类 的实现,并在公开数据集上进行评估,这里主要是想证明实现的 backbone 效果是符合预期的;
todo
-
实现 Vit,并在下游任务上验证实现 Vit 的效果是否符合预期;
todo
第二阶段:增加 NLP 和 CV 的其余常见任务,扩增项目的能力范围。
- UNILM;
- MAE;
- GPT系列;
- seq2seq,搞一个翻译任务;
- 实现模型的 onnx export;
- 实现 java 下的 onnx 推理过程;
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pure_attention-0.0.20-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c98dc7c167e8d613a4afaebdce7a07bf293fc53cb11f53605c816c7b26129327 |
|
MD5 | 2cab5cf7df42a3a298c1ce7bba49c471 |
|
BLAKE2b-256 | 35735f26eda4f29fd62dd79e35916ffd5e3a6ede4485dc0e052763921aee90aa |