Project Icon

Transfer-Learning-Library

高效且易用的迁移学习库,支持多种算法和任务

Transfer Learning Library (TLlib) 是一个开源的迁移学习库,基于PyTorch设计,具备高性能和易用性。该库支持多种方法,如域对齐、域转换和半监督学习,适用于分类、回归、目标检测、分割和关键点检测等任务。提供丰富的示例代码和详细文档,并支持pip安装。这是研发新算法或应用现有算法的理想工具,适用于研究和工程实践。

迁移学习库

更新 (2024-03-15)

我们在这里上传了文档的离线版本。您可以下载并解压以查看文档。

注意 (2023-08-09)

关于损坏数据集链接的说明可以在这里找到:DATASETS.md

介绍

TLlib 是一个开源且具有良好文档记录的迁移学习库。它基于纯 PyTorch,具有高性能和友好的 API。我们的代码符合 Python 风格,设计上与 torchvision 一致。您可以轻松开发新的算法,或者直接应用现有的算法。

我们的 API 由方法划分,包括:

  • 域对齐方法 (tllib.aligment)
  • 域翻译方法 (tllib.translation)
  • 自主训练方法 (tllib.self_training)
  • 正则化方法 (tllib.regularization)
  • 数据重加权/重采样方法 (tllib.reweight)
  • 模型排名/选择方法 (tllib.ranking)
  • 基于归一化的方法 (tllib.normalization)

我们在 examples 目录中提供了许多示例代码,按学习设置划分。目前支持的学习设置包括:

  • DA(领域适应)
  • TA(任务适应,也称为微调)
  • OOD(分布外泛化,也称为 DG / 域泛化)
  • SSL(半监督学习)
  • 模型选择

我们支持的任务包括:分类、回归、目标检测、分割、关键点检测等。

更新

2022.9

我们支持通过 pip 安装 TLlib,目前这是实验性的。

pip install -i https://test.pypi.org/simple/ tllib==0.4

2022.8

我们发布了 TLlibv0.4 版。之前版本的 TLlib 可以在这里找到。在 v0.4 中,我们添加了以下方法的实现:

此外,我们在另一个仓库 A Roadmap for Transfer Learning 中维护了一系列迁移学习的优秀论文

2022.2

我们根据我们的调查 Transferablity in Deep Learning 调整了我们的 API。

支持的方法

目前支持的算法包括:

分类的领域适应 [代码]
对象检测的领域适应 [代码]
语义分割的领域适应 [代码]
关键点检测的领域适应 [代码]
个人再识别的领域适应 [代码]
  • IBN-Net - 一次学习两件事:通过 IBN-Net 增强学习和泛化能力 [ECCV 2018]
  • MMT - 互均值教学:个人再识别无监督领域适应的伪标签精炼 [ICLR 2020] [代码]
  • SPGAN - 相似保持生成对抗网络 [CVPR 2018] [代码]
部分领域适应 [代码]
  • IWAN - 用于部分领域适应的加权重要性对抗网络[CVPR 2018] [代码]
  • AFN - 更大的特征规范更具迁移性:用于无监督领域适应的自适应特征规范方法 [ICCV 2019] [代码]
开放集领域适应 [代码]
分类的领域泛化 [代码]
个人再识别的领域泛化 [代码]
  • IBN-Net - 一次学习两件事:通过 IBN-Net 增强学习和泛化能力 [ECCV 2018]
  • MixStyle - 使用 MixStyle 进行领域泛化 [ICLR 2021] [代码]
图像分类的任务适应(微调)[代码]
预训练模型选择 [代码]
  • ** H-Score ** - 基于信息论的方法在任务迁移学习中的可迁移性 [ICIP 2019] [代码]
  • ** NCE ** - 在监督分类任务的可迁移性和困难度中的负条件熵 [ICCV 2019] [代码]
  • ** LEEP ** - LEEP:评估学习表示可迁移性的一个新度量 [ICML 2020] [代码]
  • ** LogME ** - LogME:预训练模型可迁移性的实用评估中的对数最大证据 [ICML 2021] [代码]
分类的半监督学习 [代码]

安装

从源码安装
  • 请先克隆库。然后运行以下命令安装 tllib 及所有依赖。
python setup.py install
pip install -r requirements.txt
通过 pip 安装
  • 通过 pip 安装目前是实验性的。
pip install -i https://test.pypi.org/simple/ tllib==0.4

文档

你可以在网站上找到API文档:文档.

使用

你可以在目录 examples 中找到示例。一个典型的使用方式是

# 使用ResNet 50在 Office-31 Amazon -> Webcam 任务上训练DANN。
# 假设你已将数据集放置在路径 `data/office-31` 下,
# 或者你可以从互联网自动下载数据集到此路径
python dann.py data/office31 -d Office31 -s A -t W -a resnet50  --epochs 20

贡献

我们欢迎所有的贡献。如果你打算回馈bug修复,请直接贡献,不需要任何进一步讨论。如果你打算贡献新功能、实用函数或扩展,请先开一个issue并与我们讨论该功能。

关于数据集的免责声明

这是一个下载和准备公共数据集的实用库。我们不托管或分发这些数据集,不保证其质量或公正性,也不保证你有使用数据集的许可证。你有责任确定是否有许可证使用数据集根据数据集的许可证。

如果你是数据集的拥有者并希望更新其中的任何部分(描述、引用等),或者不希望你的数据集包含在此库中,请通过GitHub issue与我们联系。感谢你对ML社区的贡献!

联系

如果你有任何代码问题或有建议,包括未来的功能,欢迎联系

或者在问题中描述。

对于中文Q&A,你可以选择在邮件之前在这里提问。迁移学习算法库答疑专区

引用

如果你在研究中使用了这个工具库或基准,请引用这个项目。

@misc{jiang2022transferability,
      title={Transferability in Deep Learning: A Survey}, 
      author={Junguang Jiang and Yang Shu and Jianmin Wang and Mingsheng Long},
      year={2022},
      eprint={2201.05867},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

@misc{tllib,
    author = {Junguang Jiang, Baixu Chen, Bo Fu, Mingsheng Long},
    title = {Transfer-Learning-library},
    year = {2020},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/thuml/Transfer-Learning-Library}},
}

致谢

我们要感谢清华大学软件学院和国家工程实验室提供如此优秀的ML研究平台。

项目侧边栏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

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

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