[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yaoyao-liu--meta-transfer-learning":3,"tool-yaoyao-liu--meta-transfer-learning":64},[4,18,26,35,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,2,"2026-04-06T11:32:50",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[43,15,13,14],"语言模型",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[15,16,52,61,13,62,43,14,63],"插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":95,"env_os":96,"env_gpu":97,"env_ram":98,"env_deps":99,"category_tags":105,"github_topics":106,"view_count":32,"oss_zip_url":113,"oss_zip_packed_at":113,"status":17,"created_at":114,"updated_at":115,"faqs":116,"releases":150},5123,"yaoyao-liu\u002Fmeta-transfer-learning","meta-transfer-learning","TensorFlow and PyTorch implementation of \"Meta-Transfer Learning for Few-Shot Learning\" (CVPR2019)","meta-transfer-learning 是一个开源项目，提供了经典论文《Meta-Transfer Learning for Few-Shot Learning》（CVPR 2019）的 TensorFlow 和 PyTorch 实现版本。它主要致力于解决“小样本学习”中的核心难题：即在仅有极少量标注数据的情况下，如何让深度学习模型依然保持高精度的识别能力。\n\n传统元学习方法为了避免过拟合，往往只能使用结构简单的浅层网络，限制了模型性能。meta-transfer-learning 创新性地提出了“元迁移学习”框架，成功让深层神经网络适应了小样本任务。其独特的技术亮点在于引入了神经元级别的“缩放与移位”（Scaling and Shifting）操作。这种方法在训练时冻结了预训练大模型的大部分参数，仅学习少量的缩放和偏移量来适配新任务。这不仅大幅减少了需要学习的参数量，有效防止过拟合，还避免了模型在学习新知识时遗忘旧知识的“灾难性遗忘”问题。\n\n该工具非常适合人工智能研究人员、算法工程师以及对小样本学习感兴趣的开发者使用。无论是希望在 miniImageNet 或 Fewshot","meta-transfer-learning 是一个开源项目，提供了经典论文《Meta-Transfer Learning for Few-Shot Learning》（CVPR 2019）的 TensorFlow 和 PyTorch 实现版本。它主要致力于解决“小样本学习”中的核心难题：即在仅有极少量标注数据的情况下，如何让深度学习模型依然保持高精度的识别能力。\n\n传统元学习方法为了避免过拟合，往往只能使用结构简单的浅层网络，限制了模型性能。meta-transfer-learning 创新性地提出了“元迁移学习”框架，成功让深层神经网络适应了小样本任务。其独特的技术亮点在于引入了神经元级别的“缩放与移位”（Scaling and Shifting）操作。这种方法在训练时冻结了预训练大模型的大部分参数，仅学习少量的缩放和偏移量来适配新任务。这不仅大幅减少了需要学习的参数量，有效防止过拟合，还避免了模型在学习新知识时遗忘旧知识的“灾难性遗忘”问题。\n\n该工具非常适合人工智能研究人员、算法工程师以及对小样本学习感兴趣的开发者使用。无论是希望在 miniImageNet 或 Fewshot-CIFAR100 等基准数据集上复现前沿实验结果，还是试图将小样本学习技术应用到实际场景中，meta-transfer-learning 都提供了一个坚实且易于扩展的代码基础。","# Meta-Transfer Learning for Few-Shot Learning\n[![LICENSE](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning-tensorflow\u002Fblob\u002Fmaster\u002FLICENSE)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-2.7%20%7C%203.5-blue.svg?style=flat-square&logo=python&color=3776AB)](https:\u002F\u002Fwww.python.org\u002F)\n[![TensorFlow](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftensorflow-1.3.0-orange.svg?style=flat-square&logo=tensorflow&color=FF6F00)](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning\u002Ftree\u002Fmaster\u002Ftensorflow)\n[![PyTorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-0.4.0-%237732a8?style=flat-square&logo=PyTorch&color=EE4C2C)](https:\u002F\u002Fpytorch.org\u002F)\n[![Citations](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fraw.githubusercontent.com\u002Fyaoyao-liu\u002Fgoogle-scholar\u002Fgoogle-scholar-stats\u002Fgs_data_shieldsio_mtl.json&logo=Google%20Scholar&color=5087ec&style=flat-square&label=citations)](https:\u002F\u002Fscholar.google.com\u002Fcitations?view_op=view_citation&hl=en&user=Uf9GqRsAAAAJ&citation_for_view=Uf9GqRsAAAAJ:bEWYMUwI8FkC)\n\u003C!--\n[![CodeFactor Grade](https:\u002F\u002Fimg.shields.io\u002Fcodefactor\u002Fgrade\u002Fgithub\u002Fyaoyao-liu\u002Fmeta-transfer-learning?style=flat-square&logo=codefactor&color=F44A6A)](https:\u002F\u002Fwww.codefactor.io\u002Frepository\u002Fgithub\u002Fyaoyao-liu\u002Fmeta-transfer-learning)\n-->\n\nThis repository contains the TensorFlow and PyTorch implementation for the [CVPR 2019](http:\u002F\u002Fcvpr2019.thecvf.com\u002F) Paper [\"Meta-Transfer Learning for Few-Shot Learning\"](http:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_CVPR_2019\u002Fpapers\u002FSun_Meta-Transfer_Learning_for_Few-Shot_Learning_CVPR_2019_paper.pdf) by [Qianru Sun](https:\u002F\u002Fqianrusun1015.github.io),\\* [Yaoyao Liu](https:\u002F\u002Fpeople.mpi-inf.mpg.de\u002F~yaliu\u002F),\\* [Tat-Seng Chua](https:\u002F\u002Fwww.chuatatseng.com\u002F), and [Bernt Schiele](https:\u002F\u002Fwww.mpi-inf.mpg.de\u002Fdepartments\u002Fcomputer-vision-and-multimodal-computing\u002Fpeople\u002Fbernt-schiele\u002F) (\\*=equal contribution).\n\nIf you have any questions on this repository or the related paper, feel free to [create an issue](https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002Fnew) or [send me an email](mailto:yaoyao.liu+github@mpi-inf.mpg.de). \n\n#### Summary\n\n* [Introduction](#introduction)\n* [Getting Started](#getting-started)\n* [Datasets](#datasets)\n* [Performance](#performance)\n* [Citation](#citation)\n* [Acknowledgements](#acknowledgements)\n\n\n## Introduction\n\nMeta-learning has been proposed as a framework to address the challenging few-shot learning setting. The key idea is to leverage a large number of similar few-shot tasks in order to learn how to adapt a base-learner to a new task for which only a few labeled samples are available. As deep neural networks (DNNs) tend to overfit using a few samples only, meta-learning typically uses shallow neural networks (SNNs), thus limiting its effectiveness. In this paper we propose a novel few-shot learning method called ***meta-transfer learning (MTL)*** which learns to adapt a ***deep NN*** for ***few shot learning tasks***. Specifically, meta refers to training multiple tasks, and transfer is achieved by learning scaling and shifting functions of DNN weights for each task. We conduct experiments using (5-class, 1-shot) and (5-class, 5-shot) recognition tasks on two challenging few-shot learning benchmarks: 𝑚𝑖𝑛𝑖ImageNet and Fewshot-CIFAR100. \n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyaoyao-liu_meta-transfer-learning_readme_bcefd748db55.png\" width=\"400\"\u002F>\n\u003C\u002Fp>\n\n> Figure: Meta-Transfer Learning. (a) Parameter-level fine-tuning (FT) is a conventional meta-training operation, e.g. in MAML. Its update works for all neuron parameters, 𝑊 and 𝑏. (b) Our neuron-level scaling and shifting (SS) operations in meta-transfer learning. They reduce the number of learning parameters and avoid overfitting problems. In addition, they keep large-scale trained parameters (in yellow) frozen, preventing “catastrophic forgetting”.\n\n## Getting Started\n\nPlease see `README.md` files in the corresponding folders:\n\n* TensorFlow: [\\[Document\\]](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning\u002Fblob\u002Fmaster\u002Ftensorflow\u002FREADME.md)\n* PyTorch: [\\[Document\\]](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning\u002Fblob\u002Fmaster\u002Fpytorch\u002FREADME.md)\n\n## Datasets\n\nDirectly download processed images: [\\[Download Page\\]](https:\u002F\u002Fmtl.yyliu.net\u002Fdownload\u002F)\n\n### 𝒎𝒊𝒏𝒊ImageNet\n\nThe 𝑚𝑖𝑛𝑖ImageNet dataset was proposed by [Vinyals et al.](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F6385-matching-networks-for-one-shot-learning.pdf) for few-shot learning evaluation. Its complexity is high due to the use of ImageNet images but requires fewer resources and infrastructure than running on the full [ImageNet dataset](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1409.0575.pdf). In total, there are 100 classes with 600 samples of 84×84 color images per class. These 100 classes are divided into 64, 16, and 20 classes respectively for sampling tasks for meta-training, meta-validation, and meta-test. To generate this dataset from ImageNet, you may use the repository [𝑚𝑖𝑛𝑖ImageNet tools](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmini-imagenet-tools).\n\n### Fewshot-CIFAR100\n\nFewshot-CIFAR100 (FC100) is based on the popular object classification dataset CIFAR100. The splits were\nproposed by [TADAM](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1805.10123.pdf). It offers a more challenging scenario with lower image resolution and more challenging meta-training\u002Ftest splits that are separated according to object super-classes. It contains 100 object classes and each class has 600 samples of 32 × 32 color images. The 100 classes belong to 20 super-classes. Meta-training data are from 60 classes belonging to 12 super-classes. Meta-validation and meta-test sets contain 20 classes belonging to 4 super-classes, respectively.\n\n### 𝒕𝒊𝒆𝒓𝒆𝒅ImageNet\n\nThe [𝑡𝑖𝑒𝑟𝑒𝑑ImageNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1803.00676.pdf) dataset is a larger subset of ILSVRC-12 with 608 classes (779,165 images) grouped into 34 higher-level nodes in the ImageNet human-curated hierarchy. To generate this dataset from ImageNet, you may use the repository 𝑡𝑖𝑒𝑟𝑒𝑑ImageNet dataset: [𝑡𝑖𝑒𝑟𝑒𝑑ImageNet tools](https:\u002F\u002Fgithub.com\u002Fy2l\u002Ftiered-imagenet-tools). \n\n\n## Performance \n\n|          (%)           | 𝑚𝑖𝑛𝑖 1-shot  | 𝑚𝑖𝑛𝑖 5-shot  | FC100 1-shot | FC100 5-shot | \n| ---------------------- | ------------ | ------------ | ------------ | ------------ |\n| `MTL Paper`            | `60.2 ± 1.8` | `74.3 ± 0.9` | `43.6 ± 1.8` | `55.4 ± 0.9` |\n| `TensorFlow`           | `60.8 ± 1.8` | `74.3 ± 0.9` | `44.3 ± 1.8` | `56.8 ± 1.0` |\n* The performance for the PyTorch version is under checking.\n\n## Citation\n\nPlease cite our paper if it is helpful to your work:\n\n```bibtex\n@inproceedings{SunLCS2019MTL,\n  author    = {Qianru Sun and\n               Yaoyao Liu and\n               Tat{-}Seng Chua and\n               Bernt Schiele},\n  title     = {Meta-Transfer Learning for Few-Shot Learning},\n  booktitle = {{IEEE} Conference on Computer Vision and Pattern Recognition, {CVPR}\n               2019, Long Beach, CA, USA, June 16-20, 2019},\n  pages     = {403--412},\n  publisher = {Computer Vision Foundation \u002F {IEEE}},\n  year      = {2019}\n}\n```\n\n## Acknowledgements\n\nOur implementations use the source code from the following repositories and users:\n\n* [Model-Agnostic Meta-Learning](https:\u002F\u002Fgithub.com\u002Fcbfinn\u002Fmaml)\n\n* [Optimization as a Model for Few-Shot Learning](https:\u002F\u002Fgithub.com\u002Fgitabcworld\u002FFewShotLearning)\n\n* [Learning Embedding Adaptation for Few-Shot Learning](https:\u002F\u002Fgithub.com\u002FSha-Lab\u002FFEAT)\n\n* [dragen1860\u002FMAML-Pytorch](https:\u002F\u002Fgithub.com\u002Fdragen1860\u002FMAML-Pytorch)\n\n* [@icoz69](https:\u002F\u002Fgithub.com\u002Ficoz69)\n\n* [@CookieLau](https:\u002F\u002Fgithub.com\u002FCookieLau)\n","# 用于少样本学习的元迁移学习\n[![LICENSE](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning-tensorflow\u002Fblob\u002Fmaster\u002FLICENSE)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-2.7%20%7C%203.5-blue.svg?style=flat-square&logo=python&color=3776AB)](https:\u002F\u002Fwww.python.org\u002F)\n[![TensorFlow](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftensorflow-1.3.0-orange.svg?style=flat-square&logo=tensorflow&color=FF6F00)](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning\u002Ftree\u002Fmaster\u002Ftensorflow)\n[![PyTorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytorch-0.4.0-%237732a8?style=flat-square&logo=PyTorch&color=EE4C2C)](https:\u002F\u002Fpytorch.org\u002F)\n[![引用次数](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fraw.githubusercontent.com\u002Fyaoyao-liu\u002Fgoogle-scholar\u002Fgoogle-scholar-stats\u002Fgs_data_shieldsio_mtl.json&logo=Google%20Scholar&color=5087ec&style=flat-square&label=citations)](https:\u002F\u002Fscholar.google.com\u002Fcitations?view_op=view_citation&hl=en&user=Uf9GqRsAAAAJ&citation_for_view=Uf9GqRsAAAAJ:bEWYMUwI8FkC)\n\u003C!--\n[![CodeFactor Grade](https:\u002F\u002Fimg.shields.io\u002Fcodefactor\u002Fgrade\u002Fgithub\u002Fyaoyao-liu\u002Fmeta-transfer-learning?style=flat-square&logo=codefactor&color=F44A6A)](https:\u002F\u002Fwww.codefactor.io\u002Frepository\u002Fgithub\u002Fyaoyao-liu\u002Fmeta-transfer-learning)\n-->\n\n本仓库包含了针对 [CVPR 2019](http:\u002F\u002Fcvpr2019.thecvf.com\u002F) 论文《用于少样本学习的元迁移学习》（[Qianru Sun](https:\u002F\u002Fqianrusun1015.github.io),\\* [Yaoyao Liu](https:\u002F\u002Fpeople.mpi-inf.mpg.de\u002F~yaliu\u002F),\\* [Tat-Seng Chua](https:\u002F\u002Fwww.chuatatseng.com\u002F), 和 [Bernt Schiele](https:\u002F\u002Fwww.mpi-inf.mpg.de\u002Fdepartments\u002Fcomputer-vision-and-multimodal-computing\u002Fpeople\u002Fbernt-schiele\u002F) (\\*=同等贡献) 所著）的 TensorFlow 和 PyTorch 实现。\n\n如果您对本仓库或相关论文有任何疑问，欢迎随时 [创建问题](https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002Fnew) 或 [发送邮件](mailto:yaoyao.liu+github@mpi-inf.mpg.de) 给我。\n\n#### 目录\n\n* [简介](#introduction)\n* [快速入门](#getting-started)\n* [数据集](#datasets)\n* [性能](#performance)\n* [引用](#citation)\n* [致谢](#acknowledgements)\n\n\n## 简介\n\n元学习作为一种框架被提出，旨在解决具有挑战性的少样本学习问题。其核心思想是利用大量相似的少样本任务来学习如何将基础学习器适配到仅有少量标注样本的新任务上。由于深度神经网络（DNN）在仅使用少量样本时容易过拟合，元学习通常采用浅层神经网络（SNN），从而限制了其效果。本文提出了一种新颖的少样本学习方法，称为 ***元迁移学习 (MTL)***，该方法能够学习如何将 ***深度神经网络*** 适应于 ***少样本学习任务***。具体而言，“元”指的是多任务训练，“迁移”则是通过为每个任务学习 DNN 权重的缩放和偏移函数来实现。我们在两个具有挑战性的少样本学习基准——𝑚𝑖𝑛𝑖ImageNet 和 Fewshot-CIFAR100——上进行了 (5 类, 1 次) 和 (5 类, 5 次) 识别任务的实验。\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyaoyao-liu_meta-transfer-learning_readme_bcefd748db55.png\" width=\"400\"\u002F>\n\u003C\u002Fp>\n\n> 图：元迁移学习。(a) 参数级微调 (FT) 是一种传统的元训练操作，例如 MAML 中的做法。它的更新作用于所有神经元参数 𝑊 和 𝑏。(b) 我们在元迁移学习中提出的神经元级缩放与偏移 (SS) 操作。它们减少了学习参数的数量，并避免了过拟合问题。此外，它们还会冻结大规模预训练的参数（以黄色表示），从而防止“灾难性遗忘”。\n\n## 快速入门\n\n请参阅相应文件夹中的 `README.md` 文件：\n\n* TensorFlow: [\\[文档\\]](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning\u002Fblob\u002Fmaster\u002Ftensorflow\u002FREADME.md)\n* PyTorch: [\\[文档\\]](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmeta-transfer-learning\u002Fblob\u002Fmaster\u002Fpytorch\u002FREADME.md)\n\n## 数据集\n\n直接下载已处理好的图像：[\\[下载页面\\]](https:\u002F\u002Fmtl.yyliu.net\u002Fdownload\u002F)\n\n### 𝒎𝒊𝒏𝒊ImageNet\n\n𝒎𝒊𝒏𝒊ImageNet 数据集由 [Vinyals 等人](http:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F6385-matching-networks-for-one-shot-learning.pdf) 提出，用于少样本学习评估。它使用 ImageNet 图像，复杂度较高，但所需的资源和基础设施比运行完整的 [ImageNet 数据集](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1409.0575.pdf) 少得多。该数据集共有 100 个类别，每个类别包含 600 张 84×84 彩色图像。这 100 个类别分别划分为 64、16 和 20 个类别，用于元训练、元验证和元测试任务的采样。要从 ImageNet 生成此数据集，您可以使用仓库 [𝑚𝑖𝑛𝑖ImageNet 工具](https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmini-imagenet-tools)。\n\n### Fewshot-CIFAR100\n\nFewshot-CIFAR100 (FC100) 基于流行的物体分类数据集 CIFAR100。其划分方案由 [TADAM](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1805.10123.pdf) 提出。它提供了更具挑战性的场景，图像分辨率较低，且元训练\u002F元测试的划分更加困难，按照物体的超类进行分离。该数据集包含 100 个物体类别，每个类别有 600 张 32×32 彩色图像。这 100 个类别隶属于 20 个超类。元训练数据来自 60 个属于 12 个超类的类别。元验证和元测试集则分别包含 20 个属于 4 个超类的类别。\n\n### 𝒕𝒊𝒆𝒓𝒆𝒅ImageNet\n\n[𝒕𝒊𝒆𝒓𝒆𝒅ImageNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1803.00676.pdf) 数据集是 ILSVRC-12 的一个更大子集，包含 608 个类别（779,165 张图像），这些类别被归入 ImageNet 人工整理的层级结构中的 34 个更高层次的节点。要从 ImageNet 生成此数据集，您可以使用 𝒕𝒊𝒆𝒓𝒆𝒅ImageNet 数据集仓库：[𝒕𝒊𝒆𝒓𝒆𝒅ImageNet 工具](https:\u002F\u002Fgithub.com\u002Fy2l\u002Ftiered-imagenet-tools)。\n\n\n## 性能 \n\n|          (%)           | 𝑚𝑖𝑛𝑖 1 次  | 𝑚𝑖𝑛𝑖 5 次  | FC100 1 次 | FC100 5 次 | \n| ---------------------- | ------------ | ------------ | ------------ | ------------ |\n| `MTL 论文`            | `60.2 ± 1.8` | `74.3 ± 0.9` | `43.6 ± 1.8` | `55.4 ± 0.9` |\n| `TensorFlow`           | `60.8 ± 1.8` | `74.3 ± 0.9` | `44.3 ± 1.8` | `56.8 ± 1.0` |\n* PyTorch 版本的性能仍在验证中。\n\n## 引用\n\n如果我们的论文对您的工作有所帮助，请引用如下：\n\n```bibtex\n@inproceedings{SunLCS2019MTL,\n  author    = {Qianru Sun and\n               Yaoyao Liu and\n               Tat{-}Seng Chua and\n               Bernt Schiele},\n  title     = {Meta-Transfer Learning for Few-Shot Learning},\n  booktitle = {{IEEE} Conference on Computer Vision and Pattern Recognition, {CVPR}\n               2019, Long Beach, CA, USA, June 16-20, 2019},\n  pages     = {403--412},\n  publisher = {Computer Vision Foundation \u002F {IEEE}},\n  year      = {2019}\n}\n```\n\n## 致谢\n\n我们的实现使用了以下仓库和作者的源代码：\n\n* [模型无关元学习](https:\u002F\u002Fgithub.com\u002Fcbfinn\u002Fmaml)\n\n* [优化作为少样本学习的模型](https:\u002F\u002Fgithub.com\u002Fgitabcworld\u002FFewShotLearning)\n\n* [用于少样本学习的嵌入适应学习](https:\u002F\u002Fgithub.com\u002FSha-Lab\u002FFEAT)\n\n* [dragen1860\u002FMAML-Pytorch](https:\u002F\u002Fgithub.com\u002Fdragen1860\u002FMAML-Pytorch)\n\n* [@icoz69](https:\u002F\u002Fgithub.com\u002Ficoz69)\n\n* [@CookieLau](https:\u002F\u002Fgithub.com\u002FCookieLau)","# Meta-Transfer Learning (MTL) 快速上手指南\n\nMeta-Transfer Learning (MTL) 是一种用于少样本学习（Few-Shot Learning）的创新方法。它通过学习深度神经网络（DNN）权重的缩放（Scaling）和偏移（Shifting）函数，使模型能够快速适应新任务，同时避免过拟合和灾难性遗忘。本项目提供了 TensorFlow 和 PyTorch 两种实现版本。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux \u002F macOS \u002F Windows\n- **Python 版本**: \n  - TensorFlow 版：Python 2.7 或 3.5+\n  - PyTorch 版：Python 3.5+\n- **GPU**: 推荐使用 NVIDIA GPU 以加速训练（可选，但强烈推荐）\n\n### 前置依赖\n请确保已安装以下核心框架的指定版本：\n- **TensorFlow**: 1.3.0\n- **PyTorch**: 0.4.0\n\n> **注意**：由于项目基于较旧版本的深度学习框架开发，建议使用虚拟环境（如 `conda` 或 `venv`）隔离依赖，以免冲突。\n\n```bash\n# 创建 conda 环境示例\nconda create -n mtl_env python=3.5\nconda activate mtl_env\n```\n\n## 2. 安装步骤\n\n本项目代码分为 `tensorflow` 和 `pytorch` 两个独立目录，请根据需求选择其一进行克隆。\n\n### 步骤一：克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning.git\ncd meta-transfer-learning\n```\n\n### 步骤二：安装 Python 依赖\n进入对应框架目录安装依赖（以 PyTorch 为例，TensorFlow 同理）：\n\n```bash\ncd pytorch\npip install -r requirements.txt\n```\n\n若 `requirements.txt` 未包含所有依赖，请手动安装指定版本的框架：\n\n**PyTorch 用户:**\n```bash\npip install torch==0.4.0 torchvision\n```\n\n**TensorFlow 用户:**\n```bash\npip install tensorflow-gpu==1.3.0\n```\n\n### 步骤三：准备数据集\n项目支持 **miniImageNet**, **Fewshot-CIFAR100 (FC100)**, 和 **tieredImageNet**。\n\n推荐直接下载作者预处理好的数据以节省时间：\n- **下载地址**: [https:\u002F\u002Fmtl.yyliu.net\u002Fdownload\u002F](https:\u002F\u002Fmtl.yyliu.net\u002Fdownload\u002F)\n\n下载后，将解压后的数据文件夹放置在项目根目录或代码中指定的 `data\u002F` 目录下。\n\n*如需自行从原始 ImageNet 生成 miniImageNet 或 tieredImageNet，可参考官方提供的工具仓库：*\n- *miniImageNet tools: https:\u002F\u002Fgithub.com\u002Fy2l\u002Fmini-imagenet-tools*\n- *tieredImageNet tools: https:\u002F\u002Fgithub.com\u002Fy2l\u002Ftiered-imagenet-tools*\n\n## 3. 基本使用\n\n具体的运行命令请参考各框架目录下的 `README.md`。以下为典型的训练流程示例。\n\n### PyTorch 版本示例\n\n进入 pytorch 目录：\n```bash\ncd pytorch\n```\n\n运行 **5-way 1-shot** 训练任务（以 miniImageNet 为例）：\n```bash\npython main.py --dataset miniImageNet --way 5 --shot 1 --train_shot 1\n```\n\n运行 **5-way 5-shot** 训练任务：\n```bash\npython main.py --dataset miniImageNet --way 5 --shot 5 --train_shot 5\n```\n\n### TensorFlow 版本示例\n\n进入 tensorflow 目录：\n```bash\ncd tensorflow\n```\n\n运行训练脚本（具体参数请参考该目录下的文档）：\n```bash\npython train.py --dataset miniImageNet --n_way 5 --k_shot 1\n```\n\n### 结果验证\n训练完成后，模型将在测试集上进行评估。根据官方报告，在 miniImageNet 上的预期性能如下：\n- **1-shot 准确率**: ~60.8% ± 1.8\n- **5-shot 准确率**: ~74.3% ± 0.9\n\n> **提示**：PyTorch 版本的复现性能正在持续验证中，如有差异请以 TensorFlow 版本或论文原文数据为准。","某医疗影像初创团队急需开发一个能识别罕见皮肤病变的 AI 模型，但手头仅有每种病变各 5 张标注图片。\n\n### 没有 meta-transfer-learning 时\n- **模型严重过拟合**：直接微调大型深度神经网络（如 ResNet），因样本极少，模型死记硬背了训练图的特征，无法泛化到新患者图片。\n- **被迫降级架构**：为避免过拟合，只能改用浅层网络，导致无法提取复杂的病灶纹理特征，基础准确率低下。\n- **灾难性遗忘**：在少量新数据上训练时，模型丢失了在大规模通用数据集（如 ImageNet）上学到的宝贵底层视觉知识。\n- **调参成本高昂**：需要反复尝试不同的学习率和冻结层策略，耗费数周时间仍难以在“记住新知识”和“保留旧知识”间找到平衡。\n\n### 使用 meta-transfer-learning 后\n- **激活深度网络潜力**：利用缩放和移位（Scaling and Shifting）机制，成功将预训练的深度大模型适配到小样本任务，显著提升了特征提取能力。\n- **精准参数适配**：仅学习每个任务的缩放和偏移函数，大幅减少可训练参数量，从根本上解决了小样本下的过拟合难题。\n- **锁定核心知识**：保持预训练的大规模权重冻结，既防止了灾难性遗忘，又让模型能快速适应新的病变类别。\n- **高效任务迁移**：通过在多个模拟少射任务上进行元训练，模型学会了“如何学习”，在新病种上仅需极少量迭代即可达到高准确率。\n\nmeta-transfer-learning 通过轻量级的参数变换机制，让深度大模型在极少数据下也能实现快速、稳定且高精度的迁移学习。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyaoyao-liu_meta-transfer-learning_129a180f.png","yaoyao-liu","Yaoyao Liu","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyaoyao-liu_01128281.jpg","Assistant Professor at University of Illinois Urbana-Champaign","University of Illinois Urbana-Champaign","Champaign, Illinois","lyy@illinois.edu","YaoyaoLiu1","https:\u002F\u002Fyaoyaoliu.web.illinois.edu\u002F","https:\u002F\u002Fgithub.com\u002Fyaoyao-liu",[87],{"name":88,"color":89,"percentage":90},"Python","#3572A5",100,788,151,"2026-03-26T06:27:25","MIT",4,"","未说明（基于 TensorFlow 1.3.0 和 PyTorch 0.4.0 的深度学习任务通常建议配备 NVIDIA GPU，但具体型号和显存要求未在文中提及）","未说明",{"notes":100,"python":101,"dependencies":102},"该项目提供 TensorFlow 和 PyTorch 两种实现版本，具体安装步骤需参考各自子目录下的 README 文件。使用的框架版本较老（TF 1.3.0, PyTorch 0.4.0），在现代环境中运行可能需要配置兼容的旧版环境或修改代码。数据集（miniImageNet, Fewshot-CIFAR100, tieredImageNet）需单独下载处理后的图像文件。","2.7 或 3.5",[103,104],"tensorflow==1.3.0","pytorch==0.4.0",[15],[107,108,109,110,111,112],"few-shot-learning","meta-learning","transfer-learning","mini-imagenet","tiered-imagenet","fewshot-cifar100",null,"2026-03-27T02:49:30.150509","2026-04-08T01:10:07.204855",[117,122,127,131,136,141,145],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},23263,"如何获取关于“困难任务元批次（Hard Task Meta-Batch）”的代码？","目前该代码尚未更新到 GitHub 仓库中，维护者无法保证具体的更新时间。如果您急需使用，可以直接发送邮件至 yliu538@jhu.edu 联系作者，作者愿意分享原始代码并讨论相关问题。","https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002F36",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},23264,"为什么 PyTorch 版本的运行结果比论文中报告的数值偏高？","结果差异通常由两个原因导致：1. PyTorch 版本最初未包含“任务批次（task batches）”的实现；2. 网络架构实现不同（例如 ResNet-12）。建议检查是否使用了正确的 ResNet-12 架构（可参考 MetaOptNet 中的实现），并注意框架间的随机性差异。此外，有用户指出 `trainer\u002Fmeta.py` 第 166-169 行的内循环代码可能需要修改，因为损失是在任务批次间顺序累积而非并行计算的。","https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002F18",{"id":128,"question_zh":129,"answer_zh":130,"source_url":126},23265,"如何在 PyTorch 版本中使用 ResNet-12 架构？","官方的 ResNet-12 实现主要提供在 TensorFlow 版本中。如果需要在 PyTorch 版本中运行 ResNet-12，建议使用 MetaOptNet 项目中提供的 ResNet-12 实现（链接：https:\u002F\u002Fgithub.com\u002Fkjunelee\u002FMetaOptNet），将其集成到当前项目中。",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},23266,"在 CIFAR-FS 数据集上运行时，将图像大小改为 32 后出现维度错误怎么办？","当将 `img_size` 从 84 改为 32 时，会出现 \"Negative dimension size caused by subtracting 5 from 2\" 的错误。这是因为预训练模型中的平均池化层（AvgPool）或其他卷积层期望的输入尺寸较大。直接修改参数可能不兼容现有的预训练权重或网络结构，需要调整网络架构以适应 32x32 的输入，或者使用专门针对小尺寸图像训练\u002F调整的模型配置。","https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002F47",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},23267,"为什么数据加载器中的 meta batch size（episode 数量）始终为 1，导致多 GPU 无法工作？","当前代码库中的数据加载器确实将 meta batch size 硬编码为 1，数据形状为 `[N_way * N_shot, ...]` 而非理想的 `[N_episode, N_way * N_shot, ...]`。因此，简单地添加 `model = nn.DataParallel(model)` 无法实现多 GPU 并行。要解决此问题，需要修改数据加载逻辑以支持多个 episode 的批量处理。","https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002F43",{"id":142,"question_zh":143,"answer_zh":144,"source_url":140},23268,"数据加载器中为什么将 image_size 设置为 80 而不是常见的 84？","这是为了遵循 FEAT 方法的设置。维护者在 `pytorch\u002Fdataloader\u002Fdataset_loader.py` 中将 `image_size` 设为 80 是参考了 FEAT 项目的实现（具体代码见：https:\u002F\u002Fgithub.com\u002FSha-Lab\u002FFEAT\u002Fblob\u002F5ffadb7000a4c9cb47e6d9ca7062964f5e05ffdf\u002Ffeat\u002Fdataloader\u002Fmini_imagenet.py#L50）。",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},23269,"运行 TensorFlow 版本的测试阶段时，得到的准确率远低于预期（约 0.58 而不是更高），是什么原因？","如果确认使用的是正确的 Python (2.7) 和 TensorFlow (1.3.0) 版本，且重新下载了代码、权重和数据后问题依旧，可能是环境或随机种子导致的细微差异。维护者在其他设备上测试得到的结果也是收敛在 0.58-0.59 左右（例如 5-way 1-shot 的逐步准确率列表所示），这表明该数值可能是特定配置下的正常表现，或者需要检查是否正确加载了预训练权重文件路径。","https:\u002F\u002Fgithub.com\u002Fyaoyao-liu\u002Fmeta-transfer-learning\u002Fissues\u002F37",[]]