[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mit-han-lab--gan-compression":3,"tool-mit-han-lab--gan-compression":61},[4,18,26,36,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},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"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",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":10,"env_os":101,"env_gpu":102,"env_ram":103,"env_deps":104,"category_tags":111,"github_topics":112,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":121,"updated_at":122,"faqs":123,"releases":154},5217,"mit-han-lab\u002Fgan-compression","gan-compression","[CVPR 2020] GAN Compression: Efficient Architectures for Interactive Conditional GANs","gan-compression 是一款专为条件生成对抗网络（GAN）设计的通用压缩工具，旨在让复杂的图像生成模型也能在普通设备上流畅运行。它主要解决了主流 GAN 模型（如 pix2pix、CycleGAN、MUNIT 和 GauGAN）计算量过大、难以实时交互的痛点。通过该技术，模型的计算成本可降低 9 至 29 倍，同时保持极高的图像生成质量，甚至在 Jetson Nano 等边缘设备上也能实现每秒 8 帧的交互速度。\n\n这款工具非常适合 AI 研究人员、开发者以及需要在移动端或嵌入式设备部署视觉应用的设计师使用。其核心技术亮点在于创新的“一次训练，处处适用”（Once-for-All）架构：首先从一个预训练的大型教师模型中，蒸馏出一个包含所有可能通道数的学生生成器；随后无需重新训练，即可直接从中提取出满足不同性能需求的子模型。这种方法不仅大幅减少了训练时间，还能通过自动化搜索快速找到在特定压缩率下表现最优的模型结构，让高效能 GAN 的定制变得简单快捷。","# GAN Compression\n### [project](https:\u002F\u002Fhanlab.mit.edu\u002Fprojects\u002Fgancompression\u002F) | [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.08936) | [videos](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL80kAHvQbh-r5R8UmXhQK1ndqRvPNw_ex) | [slides](https:\u002F\u002Fhanlab.mit.edu\u002Fprojects\u002Fgancompression\u002Fresources\u002F546-slides.pdf) \n\n**[NEW!]** GAN Compression is accepted by T-PAMI! We released our T-PAMI version in the [arXiv v4](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.08936)!\n\n**[NEW!]** We release the codes of our [interactive demo](interactive_demo) and include the [TVM](https:\u002F\u002Fgithub.com\u002Fapache\u002Ftvm) tuned model. It achieves **8FPS** on Jetson Nano GPU now!\n\n**[NEW!]** Add support to the [MUNIT](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FMUNIT), a multimodal unsupervised image-to-image translation approach! Please follow the [test commands](#munit) to test the pre-trained models and the [tutorial](docs\u002Ftutorials\u002Ffast_gan_compression.md) to train your own models!\n\n![teaser](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_2e47430cb8f6.png)\n*We introduce GAN Compression, a general-purpose method for compressing conditional GANs. Our method reduces the computation of widely-used conditional GAN models, including pix2pix, CycleGAN, MUNIT, and GauGAN, by 9-29x while preserving the visual fidelity. Our method is effective for a wide range of generator architectures, learning objectives, and both paired and unpaired settings.*\n\nGAN Compression: Efficient Architectures for Interactive Conditional GANs\u003Cbr>\n[Muyang Li](https:\u002F\u002Flmxyy.me\u002F), [Ji Lin](http:\u002F\u002Flinji.me\u002F), [Yaoyao Ding](https:\u002F\u002Fyaoyaoding.com\u002F), [Zhijian Liu](http:\u002F\u002Fzhijianliu.com\u002F), [Jun-Yan Zhu](https:\u002F\u002Fwww.cs.cmu.edu\u002F~junyanz\u002F), and [Song Han](https:\u002F\u002Fsonghan.mit.edu\u002F)\u003Cbr>\nMIT, Adobe Research, SJTU\u003Cbr>\nIn CVPR 2020.  \n\n## Demos\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_120d3a7924b9.gif\" width=600>\n\u003C\u002Fp>\n\n## Overview\n\n![overview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_4effe934a80f.png)*GAN Compression framework: ① Given a pre-trained teacher generator G', we distill a smaller “once-for-all” student generator G that contains all possible channel numbers through weight sharing. We choose different channel numbers for the student generator G at each training step. ② We then extract many sub-generators from the “once-for-all” generator and evaluate their performance. No retraining is needed, which is the advantage of the “once-for-all” generator. ③ Finally, we choose the best sub-generator given the compression ratio target and performance target (FID or mIoU) using either brute-force or evolutionary search method. Optionally, we perform additional fine-tuning, and obtain the final compressed model.*\n\n## Performance\n\n![performance](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_6b230ec3bb03.jpeg)\n\n*GAN Compression reduces the computation of pix2pix, cycleGAN and GauGAN by 9-21x, and model size by 4.6-33x.*\n\n## Colab Notebook\n\nPyTorch Colab notebook: [CycleGAN](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fmit-han-lab\u002Fgan-compression\u002Fblob\u002Fmaster\u002Fcycle_gan.ipynb) and [pix2pix](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fmit-han-lab\u002Fgan-compression\u002Fblob\u002Fmaster\u002Fpix2pix.ipynb).\n\n## Prerequisites\n\n* Linux\n* Python 3\n* CPU or NVIDIA GPU + CUDA CuDNN\n\n## Getting Started\n\n### Installation\n\n- Clone this repo:\n\n  ```shell\n  git clone git@github.com:mit-han-lab\u002Fgan-compression.git\n  cd gan-compression\n  ```\n\n- Install [PyTorch](https:\u002F\u002Fpytorch.org) 1.4 and other dependencies (e.g., torchvision).\n\n  - For pip users, please type the command `pip install -r requirements.txt`.\n  - For Conda users, we provide an installation script `scripts\u002Fconda_deps.sh`. Alternatively, you can create a new Conda environment using `conda env create -f environment.yml`.\n\n### CycleGAN\n\n#### Setup\n\n* Download the CycleGAN dataset (e.g., horse2zebra).\n\n  ```shell\n  bash datasets\u002Fdownload_cyclegan_dataset.sh horse2zebra\n  ```\n\n* Get the statistical information for the ground-truth images for your dataset to compute FID. We provide pre-prepared real statistic information for several datasets. For example,\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh horse2zebra A\n  bash datasets\u002Fdownload_real_stat.sh horse2zebra B\n  ```\n\n#### Apply a Pre-trained Model\n\n* Download the pre-trained models.\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage full\n  python scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage compressed\n  ```\n\n* Test the original full model.\n\n  ```shell\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_full.sh\n  ```\n\n* Test the compressed model.\n\n  ```shell\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_compressed.sh\n  ```\n* Measure the latency of the two models.\n\n  ```shell\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_full.sh\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_compressed.sh\n  ```\n\n* There may be a little differences between the results of above models and those of the paper since we retrained the models. We also release the compressed models of the paper. If there are such inconsistencies, you could try the following commands to test our paper models:\n\n  ```bash\n  python scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage legacy\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_legacy.sh\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_legacy.sh\n  ```\n\n### Pix2pix\n\n#### Setup\n\n* Download the pix2pix dataset (e.g., edges2shoes).\n\n  ```shell\n  bash datasets\u002Fdownload_pix2pix_dataset.sh edges2shoes-r\n  ```\n\n* Get the statistical information for the ground-truth images for your dataset to compute FID. We provide pre-prepared real statistics for several datasets. For example,\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r B\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r subtrain_B\n  ```\n\n#### Apply a Pre-trained Model\n\n* Download the pre-trained models.\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model pix2pix --task edges2shoes-r --stage full\n  python scripts\u002Fdownload_model.py --model pix2pix --task edges2shoes-r --stage compressed\n  ```\n\n* Test the original full model.\n\n  ```shell\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Ftest_full.sh\n  ```\n\n* Test the compressed model.\n\n  ```shell\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Ftest_compressed.sh\n  ```\n  \n* Measure the latency of the two models.\n\n  ```shell\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Flatency_full.sh\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Flatency_compressed.sh\n  ```\n\n* There may be a little differences between the results of above models and those of the paper since we retrained the models. We also release the compressed models of the paper. If there are such inconsistencies, you could try the following commands to test our paper models:\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model pix2pix --task edges2shoes-r --stage legacy\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Ftest_legacy.sh\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Flatency_legacy.sh\n  ```\n\n### \u003Cspan id=\"gaugan\">GauGAN\u003C\u002Fspan>\n\n#### Setup\n\n* Prepare the cityscapes dataset. Check [here](#cityscapes) for preparing the cityscapes dataset.\n\n* Get the statistical information for the ground-truth images for your dataset to compute FID. We provide pre-prepared real statistics for several datasets. For example,\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh cityscapes A\n  ```\n\n#### Apply a Pre-trained Model\n\n* Download the pre-trained models.\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage full\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage compressed\n  ```\n\n* Test the original full model.\n\n  ```shell\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Ftest_full.sh\n  ```\n\n* Test the compressed model.\n\n  ```shell\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Ftest_compressed.sh\n  ```\n* Measure the latency of the two models.\n\n  ```shell\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Flatency_full.sh\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Flatency_compressed.sh\n  ```\n\n* There may be a little differences between the results of above models and those of the paper since we retrained the models. We also release the compressed models of the paper. If there are such inconsistencies, you could try the following commands to test our paper models:\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage legacy\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Ftest_legacy.sh\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Flatency_legacy.sh\n  ```\n\n### \u003Cspan id=\"munit\">MUNIT\u003C\u002Fspan>\n\n#### Setup\n\n* Prepare the dataset (e.g., edges2shoes-r).\n\n  ```shell\n  bash datasets\u002Fdownload_pix2pix_dataset.sh edges2shoes-r\n  python datasets\u002Fseparate_A_and_B.py --input_dir database\u002Fedges2shoes-r --output_dir database\u002Fedges2shoes-r-unaligned\n  python datasets\u002Fseparate_A_and_B.py --input_dir database\u002Fedges2shoes-r --output_dir database\u002Fedges2shoes-r-unaligned --phase val\n  ```\n\n* Get the statistical information for the ground-truth images for your dataset to compute FID. We provide pre-prepared real statistics for several datasets. For example,\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r B\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r-unaligned subtrain_B\n  ```\n\n#### Apply a Pretrained Model\n\n* Download the pre-trained models.\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage full\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage compressed\n  ```\n\n* Test the original full model.\n\n  ```shell\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Ftest_full.sh\n  ```\n\n* Test the compressed model.\n\n  ```shell\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Ftest_compressed.sh\n  ```\n\n* Measure the latency of the two models.\n\n  ```shell\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Flatency_full.sh\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Flatency_compressed.sh\n  ```\n\n\n### \u003Cspan id=\"cityscapes\">Cityscapes Dataset\u003C\u002Fspan>\n\nFor the Cityscapes dataset, we cannot provide it due to license issue. Please download the dataset from https:\u002F\u002Fcityscapes-dataset.com and use the script [prepare_cityscapes_dataset.py](datasets\u002Fprepare_cityscapes_dataset.py) to preprocess it. You need to download `gtFine_trainvaltest.zip` and `leftImg8bit_trainvaltest.zip` and unzip them in the same folder. For example, you may put `gtFine` and `leftImg8bit` in `database\u002Fcityscapes-origin`. You need to prepare the dataset with the following commands:\n\n```shell\npython datasets\u002Fget_trainIds.py database\u002Fcityscapes-origin\u002FgtFine\u002F\npython datasets\u002Fprepare_cityscapes_dataset.py \\\n--gtFine_dir database\u002Fcityscapes-origin\u002FgtFine \\\n--leftImg8bit_dir database\u002Fcityscapes-origin\u002FleftImg8bit \\\n--output_dir database\u002Fcityscapes \\\n--train_table_path datasets\u002Ftrain_table.txt \\\n--val_table_path datasets\u002Fval_table.txt\n```\n\nYou will get a preprocessed dataset in `database\u002Fcityscapes` and a mapping table (used to compute mIoU) in `dataset\u002Ftable.txt`.\n\nTo support mIoU computation, you need to download a pre-trained DRN model `drn-d-105_ms_cityscapes.pth` from http:\u002F\u002Fgo.yf.io\u002Fdrn-cityscapes-models. By default, we put the drn model in the root directory of the repo. Then you can test our compressed models on cityscapes after you have downloaded our models.\n\n### COCO-Stuff Dataset\n\nWe follow the same COCO-Stuff dataset preparation as [NVlabs\u002Fspade](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FSPADE). Specifically, you need to download `train2017.zip`, `val2017.zip`, `stuffthingmaps_trainval2017.zip`, and `annotations_trainval2017.zip` from [nightrome\u002Fcocostuff](https:\u002F\u002Fgithub.com\u002Fnightrome\u002Fcocostuff). The images, labels, and instance maps should be arranged in the same directory structure as in [datasets\u002Fcoco_stuff](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FSPADE\u002Ftree\u002Fmaster\u002Fdatasets\u002Fcoco_stuff). In particular, we used an instance map that combines both the  boundaries of \"things instance map\" and \"stuff label map\". To do this,  we used a simple script [datasets\u002Fcoco_generate_instance_map.py](datasets\u002Fcoco_generate_instance_map.py). \n\nTo support mIoU computation, you need to download a pre-trained DeeplabV2 model [deeplabv2_resnet101_msc-cocostuff164k-100000.pth](https:\u002F\u002Fgithub.com\u002Fkazuto1011\u002Fdeeplab-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fdeeplabv2_resnet101_msc-cocostuff164k-100000.pth) and also put it in the root directory of the repo.\n\n### Performance of Released Models\n\nHere we show the performance of all our released models:\n\n\u003Ctable style=\"undefined;table-layout: fixed; width: 868px\">\n\u003Ccolgroup>\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 109px\">\n\u003Ccol style=\"width: 109px\">\n\u003C\u002Fcolgroup>\n\u003Cthead>\n  \u003Ctr>\n    \u003Cth rowspan=\"2\">Model\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">Dataset\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">Method\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">#Parameters\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">MACs\u003C\u002Fth>\n    \u003Cth colspan=\"2\">Metric\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>FID\u003C\u002Ftd>\n    \u003Ctd>mIoU\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n  \u003Ctr>\n    \u003Ctd rowspan=\"4\">CycleGAN\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">horse→zebra\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>65.75\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Paper)\u003C\u002Ftd>\n    \u003Ctd>0.342M\u003C\u002Ftd>\n    \u003Ctd>2.67G\u003C\u002Ftd>\n    \u003Ctd>65.33\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Retrained)\u003C\u002Ftd>\n    \u003Ctd>0.357M\u003C\u002Ftd>\n    \u003Ctd>2.55G\u003C\u002Ftd>\n    \u003Ctd>65.12\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>0.355M\u003C\u002Ftd>\n    \u003Ctd>2.64G\u003C\u002Ftd>\n    \u003Ctd>65.19\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"11\">Pix2pix\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">edges→shoes\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>24.12\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Paper)\u003C\u002Ftd>\n    \u003Ctd>0.700M\u003C\u002Ftd>\n    \u003Ctd>4.81G\u003C\u002Ftd>\n    \u003Ctd>26.60\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Retrained)\u003C\u002Ftd>\n    \u003Ctd>0.822M\u003C\u002Ftd>\n    \u003Ctd>4.99G\u003C\u002Ftd>\n    \u003Ctd>26.70\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>0.703M\u003C\u002Ftd>\n    \u003Ctd>4.83G\u003C\u002Ftd>\n    \u003Ctd>25.76\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"4\">Cityscapes\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>42.06\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Paper)\u003C\u002Ftd>\n    \u003Ctd>0.707M\u003C\u002Ftd>\n    \u003Ctd>5.66G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>40.77\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Retrained)\u003C\u002Ftd>\n    \u003Ctd>0.781M\u003C\u002Ftd>\n    \u003Ctd>5.59G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>38.63\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>0.867M\u003C\u002Ftd>\n    \u003Ctd>5.61G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>41.71\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"3\">map→arial photo\u003Cbr>\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>47.91\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression\u003C\u002Ftd>\n    \u003Ctd>0.746M\u003C\u002Ftd>\n    \u003Ctd>4.68G\u003C\u002Ftd>\n    \u003Ctd>48.02\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>0.708M\u003C\u002Ftd>\n    \u003Ctd>4.53G\u003C\u002Ftd>\n    \u003Ctd>48.67\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"6\">GauGAN\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">Cityscapes\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>93.0M\u003C\u002Ftd>\n    \u003Ctd>281G\u003C\u002Ftd>\n    \u003Ctd>57.60\u003C\u002Ftd>\n    \u003Ctd>61.04\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Paper)\u003C\u002Ftd>\n    \u003Ctd>20.4M\u003C\u002Ftd>\n    \u003Ctd>31.7G\u003C\u002Ftd>\n    \u003Ctd>55.19\u003C\u002Ftd>\n    \u003Ctd>61.22\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN Compression (Retrained)\u003C\u002Ftd>\n    \u003Ctd>21.0M\u003C\u002Ftd>\n    \u003Ctd>31.2G\u003C\u002Ftd>\n    \u003Ctd>56.43\u003C\u002Ftd>\n    \u003Ctd>60.29\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>20.2M\u003C\u002Ftd>\n    \u003Ctd>31.3G\u003C\u002Ftd>\n    \u003Ctd>56.25\u003C\u002Ftd>\n    \u003Ctd>61.17\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"2\">COCO-Stuff\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>97.5M\u003C\u002Ftd>\n    \u003Ctd>191G\u003C\u002Ftd>\n    \u003Ctd>21.38\u003C\u002Ftd>\n    \u003Ctd>38.78\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>26.0M\u003C\u002Ftd>\n    \u003Ctd>35.5G\u003C\u002Ftd>\n    \u003Ctd>25.06\u003C\u002Ftd>\n    \u003Ctd>35.05\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"2\">MUNIT\u003C\u002Ftd>\n    \u003Ctd rowspan=\"2\">edges→shoes\u003C\u002Ftd>\n    \u003Ctd>Original\u003C\u002Ftd>\n    \u003Ctd>15.0M\u003C\u002Ftd>\n    \u003Ctd>77.3G\u003C\u002Ftd>\n    \u003Ctd>30.13\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>Fast GAN Compression\u003C\u002Ftd>\n    \u003Ctd>1.10M\u003C\u002Ftd>\n    \u003Ctd>2.63G\u003C\u002Ftd>\n    \u003Ctd>30.53\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n### Training\n\nPlease refer to the tutorial of [Fast GAN Compression](docs\u002Ftutorials\u002Ffast_gan_compression.md) and [GAN Compression](docs\u002Ftutorials\u002Fgan_compression.md) on how to train models on our datasets and your own.\n\n### FID Computation\n\nTo compute the FID score, you need to get some statistical information from the groud-truth images of your dataset. We provide a script [get_real_stat.py](.\u002Fget_real_stat.py) to extract statistical information. For example, for the edges2shoes dataset, you could run the following command:\n\n  ```shell\npython get_real_stat.py \\\n--dataroot database\u002Fedges2shoes-r \\\n--output_path real_stat\u002Fedges2shoes-r_B.npz \\\n--direction AtoB\n  ```\n\nFor paired image-to-image translation (pix2pix and GauGAN), we calculate the FID between generated test images to real test images. For unpaired image-to-image translation (CycleGAN), we calculate the FID between generated test images to real training+test images. This allows us to use more images for a stable FID evaluation, as done in previous unconditional GANs research. The difference of the two protocols is small. The FID of our compressed CycleGAN model increases by 4 when using real test images instead of real training+test images. \n\n## [Code Structure](docs\u002Foverview.md)\n\nTo help users better understand and use our code, we briefly overview the functionality and implementation of each package and each module.\n\n## Citation\n\nIf you use this code for your research, please cite our [paper](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2003.08936).\n```bibtex\n@inproceedings{li2020gan,\n  title={GAN Compression: Efficient Architectures for Interactive Conditional GANs},\n  author={Li, Muyang and Lin, Ji and Ding, Yaoyao and Liu, Zhijian and Zhu, Jun-Yan and Han, Song},\n  booktitle={Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition},\n  year={2020}\n}\n```\n\n\n## Acknowledgements\n\nOur code is developed based on [pytorch-CycleGAN-and-pix2pix](https:\u002F\u002Fgithub.com\u002Fjunyanz\u002Fpytorch-CycleGAN-and-pix2pix), [SPADE](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FSPADE), and [MUNIT](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FMUNIT).\n\nWe also thank [pytorch-fid](https:\u002F\u002Fgithub.com\u002Fmseitzer\u002Fpytorch-fid) for FID computation, [drn](https:\u002F\u002Fgithub.com\u002Ffyu\u002Fdrn) for cityscapes mIoU computation and [deeplabv2](https:\u002F\u002Fgithub.com\u002Fkazuto1011\u002Fdeeplab-pytorch) for Coco-Stuff mIoU computation.\n","# GAN压缩\n### [项目](https:\u002F\u002Fhanlab.mit.edu\u002Fprojects\u002Fgancompression\u002F) | [论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.08936) | [视频](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL80kAHvQbh-r5R8UmXhQK1ndqRvPNw_ex) | [幻灯片](https:\u002F\u002Fhanlab.mit.edu\u002Fprojects\u002Fgancompression\u002Fresources\u002F546-slides.pdf) \n\n**[新!]** GAN压缩已被T-PAMI接收！我们在[arXiv v4版本](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.08936)中发布了T-PAMI版本！\n\n**[新!]** 我们发布了我们的[交互式演示](interactive_demo)代码，并包含了[TVM](https:\u002F\u002Fgithub.com\u002Fapache\u002Ftvm)调优后的模型。现在在Jetson Nano GPU上可达到**8FPS**！\n\n**[新!]** 增加了对[MUNIT](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FMUNIT)的支持，这是一种多模态无监督图像到图像转换方法！请按照[测试命令](#munit)来测试预训练模型，并参考[教程](docs\u002Ftutorials\u002Ffast_gan_compression.md)来训练您自己的模型！\n\n![teaser](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_2e47430cb8f6.png)\n*我们提出了GAN压缩，一种用于压缩条件生成对抗网络的通用方法。我们的方法在保持视觉保真度的同时，将广泛使用的条件GAN模型（包括pix2pix、CycleGAN、MUNIT和GauGAN）的计算量减少了9至29倍。该方法对多种生成器架构、学习目标以及成对和非成对设置均有效。*\n\nGAN压缩：用于交互式条件GAN的高效架构\u003Cbr>\n[Muyang Li](https:\u002F\u002Flmxyy.me\u002F)、[Ji Lin](http:\u002F\u002Flinji.me\u002F)、[Yaoyao Ding](https:\u002F\u002Fyaoyaoding.com\u002F)、[Zhijian Liu](http:\u002F\u002Fzhijianliu.com\u002F)、[Jun-Yan Zhu](https:\u002F\u002Fwww.cs.cmu.edu\u002F~junyanz\u002F)和[Song Han](https:\u002F\u002Fsonghan.mit.edu\u002F)\u003Cbr>\nMIT、Adobe Research、上海交通大学\u003Cbr>\n发表于CVPR 2020。\n\n## 演示\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_120d3a7924b9.gif\" width=600>\n\u003C\u002Fp>\n\n## 概述\n\n![overview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_4effe934a80f.png)*GAN压缩框架：① 给定一个预训练的教师生成器G'，我们通过权重共享提炼出一个包含所有可能通道数的“一次到位”学生生成器G。在每个训练步骤中，我们为学生生成器G选择不同的通道数。② 然后，我们从“一次到位”生成器中提取多个子生成器，并评估它们的性能。无需重新训练，这是“一次到位”生成器的优势。③ 最后，我们根据压缩比目标和性能目标（FID或mIoU），使用暴力搜索或进化搜索方法选择最佳子生成器。可选地，我们会进行额外的微调，从而得到最终的压缩模型。*\n\n## 性能\n\n![performance](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_readme_6b230ec3bb03.jpeg)\n\n*GAN压缩可将pix2pix、CycleGAN和GauGAN的计算量减少9至21倍，模型大小减少4.6至33倍。*\n\n## Colab笔记本\n\nPyTorch Colab笔记本：[CycleGAN](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fmit-han-lab\u002Fgan-compression\u002Fblob\u002Fmaster\u002Fcycle_gan.ipynb)和[pix2pix](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fmit-han-lab\u002Fgan-compression\u002Fblob\u002Fmaster\u002Fpix2pix.ipynb)。\n\n## 先决条件\n\n* Linux\n* Python 3\n* CPU或NVIDIA GPU + CUDA CuDNN\n\n## 开始使用\n\n### 安装\n\n- 克隆此仓库：\n\n  ```shell\n  git clone git@github.com:mit-han-lab\u002Fgan-compression.git\n  cd gan-compression\n  ```\n\n- 安装[PyTorch](https:\u002F\u002Fpytorch.org) 1.4及其他依赖项（如torchvision）。\n\n  - 对于pip用户，请运行`pip install -r requirements.txt`。\n  - 对于Conda用户，我们提供了一个安装脚本`scripts\u002Fconda_deps.sh`。或者，您可以使用`conda env create -f environment.yml`创建一个新的Conda环境。\n\n### CycleGAN\n\n#### 设置\n\n* 下载CycleGAN数据集（例如horse2zebra）。\n\n  ```shell\n  bash datasets\u002Fdownload_cyclegan_dataset.sh horse2zebra\n  ```\n\n* 获取您数据集的真实图像统计信息，以便计算FID。我们为几个数据集提供了预先准备好的真实统计信息。例如，\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh horse2zebra A\n  bash datasets\u002Fdownload_real_stat.sh horse2zebra B\n  ```\n\n#### 应用预训练模型\n\n* 下载预训练模型。\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage full\n  python scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage compressed\n  ```\n\n* 测试原始完整模型。\n\n  ```shell\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_full.sh\n  ```\n\n* 测试压缩模型。\n\n  ```shell\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_compressed.sh\n  ```\n\n* 测量两个模型的延迟。\n\n  ```shell\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_full.sh\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_compressed.sh\n  ```\n\n* 由于我们重新训练了模型，上述模型的结果可能与论文中的结果略有不同。我们也发布了论文中的压缩模型。如果存在此类不一致，您可以尝试以下命令来测试我们的论文模型：\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage legacy\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_legacy.sh\n  bash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_legacy.sh\n  ```\n\n### Pix2pix\n\n#### 设置\n\n* 下载pix2pix数据集（例如edges2shoes）。\n\n  ```shell\n  bash datasets\u002Fdownload_pix2pix_dataset.sh edges2shoes-r\n  ```\n\n* 获取您数据集的真实图像统计信息，以便计算FID。我们为几个数据集提供了预先准备过的真实统计信息。例如，\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r B\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r subtrain_B\n  ```\n\n#### 应用预训练模型\n\n* 下载预训练模型。\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model pix2pix --task edges2shoes-r --stage full\n  python scripts\u002Fdownload_model.py --model pix2pix --task edges2shoes-r --stage compressed\n  ```\n\n* 测试原始完整模型。\n\n  ```shell\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Ftest_full.sh\n  ```\n\n* 测试压缩模型。\n\n  ```shell\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Ftest_compressed.sh\n  ```\n\n* 测量两个模型的延迟。\n\n  ```shell\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Flatency_full.sh\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Flatency_compressed.sh\n  ```\n\n* 由于我们重新训练了模型，上述模型的结果可能与论文中的结果略有不同。我们也发布了论文中的压缩模型。如果存在此类不一致，您可以尝试以下命令来测试我们的论文模型：\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model pix2pix --task edges2shoes-r --stage legacy\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Ftest_legacy.sh\n  bash scripts\u002Fpix2pix\u002Fedges2shoes-r\u002Flatency_legacy.sh\n  ```\n\n### \u003Cspan id=\"gaugan\">GauGAN\u003C\u002Fspan>\n\n#### 设置\n\n* 准备 Cityscapes 数据集。请参阅 [这里](#cityscapes) 了解如何准备 Cityscapes 数据集。\n\n* 获取您数据集的真实图像统计信息，以便计算 FID。我们为多个数据集提供了预先准备好的真实统计信息。例如：\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh cityscapes A\n  ```\n\n#### 应用预训练模型\n\n* 下载预训练模型。\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage full\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage compressed\n  ```\n\n* 测试原始完整模型。\n\n  ```shell\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Ftest_full.sh\n  ```\n\n* 测试压缩模型。\n\n  ```shell\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Ftest_compressed.sh\n  ```\n* 测量两个模型的延迟。\n\n  ```shell\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Flatency_full.sh\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Flatency_compressed.sh\n  ```\n\n* 由于我们重新训练了模型，上述模型的结果可能与论文中的结果略有不同。我们也发布了论文中的压缩模型。如果存在此类不一致，您可以尝试以下命令来测试我们的论文模型：\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage legacy\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Ftest_legacy.sh\n  bash scripts\u002Fgaugan\u002Fcityscapes\u002Flatency_legacy.sh\n  ```\n\n### \u003Cspan id=\"munit\">MUNIT\u003C\u002Fspan>\n\n#### 设置\n\n* 准备数据集（例如 edges2shoes-r）。\n\n  ```shell\n  bash datasets\u002Fdownload_pix2pix_dataset.sh edges2shoes-r\n  python datasets\u002Fseparate_A_and_B.py --input_dir database\u002Fedges2shoes-r --output_dir database\u002Fedges2shoes-r-unaligned\n  python datasets\u002Fseparate_A_and_B.py --input_dir database\u002Fedges2shoes-r --output_dir database\u002Fedges2shoes-r-unaligned --phase val\n  ```\n\n* 获取您数据集的真实图像统计信息，以便计算 FID。我们为多个数据集提供了预先准备好的真实统计信息。例如：\n\n  ```shell\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r B\n  bash datasets\u002Fdownload_real_stat.sh edges2shoes-r-unaligned subtrain_B\n  ```\n\n#### 应用预训练模型\n\n* 下载预训练模型。\n\n  ```shell\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage full\n  python scripts\u002Fdownload_model.py --model gaugan --task cityscapes --stage compressed\n  ```\n\n* 测试原始完整模型。\n\n  ```shell\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Ftest_full.sh\n  ```\n\n* 测试压缩模型。\n\n  ```shell\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Ftest_compressed.sh\n  ```\n\n* 测量两个模型的延迟。\n\n  ```shell\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Flatency_full.sh\n  bash scripts\u002Fmunit\u002Fedges2shoes-r_fast\u002Flatency_compressed.sh\n  ```\n\n\n### \u003Cspan id=\"cityscapes\">Cityscapes 数据集\u003C\u002Fspan>\n\n由于许可问题，我们无法提供 Cityscapes 数据集。请从 https:\u002F\u002Fcityscapes-dataset.com 下载该数据集，并使用脚本 [prepare_cityscapes_dataset.py](datasets\u002Fprepare_cityscapes_dataset.py) 进行预处理。您需要下载 `gtFine_trainvaltest.zip` 和 `leftImg8bit_trainvaltest.zip`，并将它们解压到同一文件夹中。例如，您可以将 `gtFine` 和 `leftImg8bit` 放在 `database\u002Fcityscapes-origin` 中。您需要使用以下命令准备数据集：\n\n```shell\npython datasets\u002Fget_trainIds.py database\u002Fcityscapes-origin\u002FgtFine\u002F\npython datasets\u002Fprepare_cityscapes_dataset.py \\\n--gtFine_dir database\u002Fcityscapes-origin\u002FgtFine \\\n--leftImg8bit_dir database\u002Fcityscapes-origin\u002FleftImg8bit \\\n--output_dir database\u002Fcityscapes \\\n--train_table_path datasets\u002Ftrain_table.txt \\\n--val_table_path datasets\u002Fval_table.txt\n```\n\n您将在 `database\u002Fcityscapes` 中得到一个预处理后的数据集，并在 `dataset\u002Ftable.txt` 中获得一个用于计算 mIoU 的映射表。\n\n为了支持 mIoU 的计算，您需要从 http:\u002F\u002Fgo.yf.io\u002Fdrn-cityscapes-models 下载一个预训练的 DRN 模型 `drn-d-105_ms_cityscapes.pth`。默认情况下，我们将该 DRN 模型放在仓库的根目录下。下载完我们的模型后，您就可以在 Cityscapes 数据集上测试我们的压缩模型了。\n\n### COCO-Stuff 数据集\n\n我们遵循与 [NVlabs\u002Fspade](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FSPADE) 相同的 COCO-Stuff 数据集准备方法。具体来说，您需要从 [nightrome\u002Fcocostuff](https:\u002F\u002Fgithub.com\u002Fnightrome\u002Fcocostuff) 下载 `train2017.zip`、`val2017.zip`、`stuffthingmaps_trainval2017.zip` 和 `annotations_trainval2017.zip`。图像、标签和实例图应按照与 [datasets\u002Fcoco_stuff](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FSPADE\u002Ftree\u002Fmaster\u002Fdatasets\u002Fcoco_stuff) 相同的目录结构进行排列。特别地，我们使用了一个结合了“事物实例图”和“Stuff 标签图”边界的实例图。为此，我们使用了一个简单的脚本 [datasets\u002Fcoco_generate_instance_map.py](datasets\u002Fcoco_generate_instance_map.py)。\n\n为了支持 mIoU 的计算，您需要下载一个预训练的 DeeplabV2 模型 [deeplabv2_resnet101_msc-cocostuff164k-100000.pth](https:\u002F\u002Fgithub.com\u002Fkazuto1011\u002Fdeeplab-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fdeeplabv2_resnet101_msc-cocostuff164k-100000.pth)，并将其也放置在仓库的根目录下。\n\n### 已发布模型的性能\n\n下面我们展示了我们所有已发布模型的性能：\n\n\u003Ctable style=\"undefined;table-layout: fixed; width: 868px\">\n\u003Ccolgroup>\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 130px\">\n\u003Ccol style=\"width: 109px\">\n\u003Ccol style=\"width: 109px\">\n\u003C\u002Fcolgroup>\n\u003Cthead>\n  \u003Ctr>\n    \u003Cth rowspan=\"2\">模型\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">数据集\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">方法\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">#参数\u003C\u002Fth>\n    \u003Cth rowspan=\"2\">MACs\u003C\u002Fth>\n    \u003Cth colspan=\"2\">指标\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>FID\u003C\u002Ftd>\n    \u003Ctd>mIoU\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n  \u003Ctr>\n    \u003Ctd rowspan=\"4\">CycleGAN\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">horse→zebra\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>65.75\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（论文）\u003C\u002Ftd>\n    \u003Ctd>0.342M\u003C\u002Ftd>\n    \u003Ctd>2.67G\u003C\u002Ftd>\n    \u003Ctd>65.33\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（微调后）\u003C\u002Ftd>\n    \u003Ctd>0.357M\u003C\u002Ftd>\n    \u003Ctd>2.55G\u003C\u002Ftd>\n    \u003Ctd>65.12\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>0.355M\u003C\u002Ftd>\n    \u003Ctd>2.64G\u003C\u002Ftd>\n    \u003Ctd>65.19\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"11\">Pix2pix\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">edges→shoes\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>24.12\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（论文）\u003C\u002Ftd>\n    \u003Ctd>0.700M\u003C\u002Ftd>\n    \u003Ctd>4.81G\u003C\u002Ftd>\n    \u003Ctd>26.60\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（微调后）\u003C\u002Ftd>\n    \u003Ctd>0.822M\u003C\u002Ftd>\n    \u003Ctd>4.99G\u003C\u002Ftd>\n    \u003Ctd>26.70\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>0.703M\u003C\u002Ftd>\n    \u003Ctd>4.83G\u003C\u002Ftd>\n    \u003Ctd>25.76\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"4\">Cityscapes\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>42.06\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（论文）\u003C\u002Ftd>\n    \u003Ctd>0.707M\u003C\u002Ftd>\n    \u003Ctd>5.66G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>40.77\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（微调后）\u003C\u002Ftd>\n    \u003Ctd>0.781M\u003C\u002Ftd>\n    \u003Ctd>5.59G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>38.63\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>0.867M\u003C\u002Ftd>\n    \u003Ctd>5.61G\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n    \u003Ctd>41.71\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"3\">map→arial photo\u003Cbr>\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>11.4M\u003C\u002Ftd>\n    \u003Ctd>56.8G\u003C\u002Ftd>\n    \u003Ctd>47.91\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩\u003C\u002Ftd>\n    \u003Ctd>0.746M\u003C\u002Ftd>\n    \u003Ctd>4.68G\u003C\u002Ftd>\n    \u003Ctd>48.02\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>0.708M\u003C\u002Ftd>\n    \u003Ctd>4.53G\u003C\u002Ftd>\n    \u003Ctd>48.67\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"6\">GauGAN\u003C\u002Ftd>\n    \u003Ctd rowspan=\"4\">Cityscapes\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>93.0M\u003C\u002Ftd>\n    \u003Ctd>281G\u003C\u002Ftd>\n    \u003Ctd>57.60\u003C\u002Ftd>\n    \u003Ctd>61.04\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（论文）\u003C\u002Ftd>\n    \u003Ctd>20.4M\u003C\u002Ftd>\n    \u003Ctd>31.7G\u003C\u002Ftd>\n    \u003Ctd>55.19\u003C\u002Ftd>\n    \u003Ctd>61.22\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>GAN压缩（微调后）\u003C\u002Ftd>\n    \u003Ctd>21.0M\u003C\u002Ftd>\n    \u003Ctd>31.2G\u003C\u002Ftd>\n    \u003Ctd>56.43\u003C\u002Ftd>\n    \u003Ctd>60.29\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>20.2M\u003C\u002Ftd>\n    \u003Ctd>31.3G\u003C\u002Ftd>\n    \u003Ctd>56.25\u003C\u002Ftd>\n    \u003Ctd>61.17\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"2\">COCO-Stuff\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>97.5M\u003C\u002Ftd>\n    \u003Ctd>191G\u003C\u002Ftd>\n    \u003Ctd>21.38\u003C\u002Ftd>\n    \u003Ctd>38.78\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>26.0M\u003C\u002Ftd>\n    \u003Ctd>35.5G\u003C\u002Ftd>\n    \u003Ctd>25.06\u003C\u002Ftd>\n    \u003Ctd>35.05\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd rowspan=\"2\">MUNIT\u003C\u002Ftd>\n    \u003Ctd rowspan=\"2\">edges→shoes\u003C\u002Ftd>\n    \u003Ctd>原始\u003C\u002Ftd>\n    \u003Ctd>15.0M\u003C\u002Ftd>\n    \u003Ctd>77.3G\u003C\u002Ftd>\n    \u003Ctd>30.13\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>快速GAN压缩\u003C\u002Ftd>\n    \u003Ctd>1.10M\u003C\u002Ftd>\n    \u003Ctd>2.63G\u003C\u002Ftd>\n    \u003Ctd>30.53\u003C\u002Ftd>\n    \u003Ctd>--\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n### 训练\n\n请参阅[快速GAN压缩](docs\u002Ftutorials\u002Ffast_gan_compression.md)和[GAN压缩](docs\u002Ftutorials\u002Fgan_compression.md)的教程，了解如何在我们的数据集以及您自己的数据集上训练模型。\n\n### FID计算\n\n要计算FID分数，您需要从数据集的真实图像中获取一些统计信息。我们提供了一个脚本[get_real_stat.py](.\u002Fget_real_stat.py)，用于提取统计信息。例如，对于edges2shoes数据集，您可以运行以下命令：\n\n  ```shell\npython get_real_stat.py \\\n--dataroot database\u002Fedges2shoes-r \\\n--output_path real_stat\u002Fedges2shoes-r_B.npz \\\n--direction AtoB\n  ```\n\n对于成对的图像到图像翻译（pix2pix和GauGAN），我们计算生成的测试图像与真实测试图像之间的FID。对于非成对的图像到图像翻译（CycleGAN），我们计算生成的测试图像与真实训练+测试图像之间的FID。这样可以使用更多的图像来进行稳定的FID评估，正如以往无条件GAN研究中所做的那样。这两种协议之间的差异很小。我们压缩后的CycleGAN模型在使用真实测试图像而不是真实训练+测试图像时，FID值增加了4。\n\n## [代码结构](docs\u002Foverview.md)\n\n为了帮助用户更好地理解和使用我们的代码，我们简要概述了每个包和每个模块的功能及实现。\n\n## 引用\n\n如果您在研究中使用了此代码，请引用我们的[论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2003.08936)。\n```bibtex\n@inproceedings{li2020gan,\n  title={GAN压缩：用于交互式条件GAN的高效架构},\n  author={Li, Muyang and Lin, Ji and Ding, Yaoyao and Liu, Zhijian and Zhu, Jun-Yan and Han, Song},\n  booktitle={IEEE\u002FCVF计算机视觉与模式识别会议论文集},\n  year={2020}\n}\n```\n\n\n## 致谢\n\n我们的代码基于[pytorch-CycleGAN-and-pix2pix](https:\u002F\u002Fgithub.com\u002Fjunyanz\u002Fpytorch-CycleGAN-and-pix2pix)、[SPADE](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FSPADE)和[MUNIT](https:\u002F\u002Fgithub.com\u002FNVlabs\u002FMUNIT)开发而成。\n\n我们还要感谢[pytorch-fid](https:\u002F\u002Fgithub.com\u002Fmseitzer\u002Fpytorch-fid)用于FID计算，[drn](https:\u002F\u002Fgithub.com\u002Ffyu\u002Fdrn)用于Cityscapes mIoU计算，以及[deeplabv2](https:\u002F\u002Fgithub.com\u002Fkazuto1011\u002Fdeeplab-pytorch)用于Coco-Stuff mIoU计算。","# GAN Compression 快速上手指南\n\nGAN Compression 是一种通用的条件生成对抗网络（Conditional GAN）压缩方法。它能在保持视觉质量的同时，将 pix2pix、CycleGAN、MUNIT 和 GauGAN 等主流模型的计算量减少 9-29 倍，显著降低推理延迟，适用于交互式应用。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux\n*   **编程语言**: Python 3\n*   **硬件加速**: CPU 或 NVIDIA GPU (需安装 CUDA 和 CuDNN)\n*   **深度学习框架**: PyTorch 1.4+\n\n> **提示**：国内用户建议使用清华源或阿里源加速 Python 包的安装。\n\n## 2. 安装步骤\n\n### 2.1 克隆项目\n首先从 GitHub 克隆代码库并进入目录：\n\n```shell\ngit clone git@github.com:mit-han-lab\u002Fgan-compression.git\ncd gan-compression\n```\n\n### 2.2 安装依赖\n您可以选择使用 `pip` 或 `Conda` 进行安装。\n\n**方式一：使用 pip (推荐配合国内镜像源)**\n```shell\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n**方式二：使用 Conda**\n如果您使用 Conda 管理环境，可以运行提供的脚本或创建环境文件：\n```shell\n# 运行安装脚本\nbash scripts\u002Fconda_deps.sh\n\n# 或者直接使用环境配置文件\nconda env create -f environment.yml\n```\n\n## 3. 基本使用\n\n以下以 **CycleGAN (horse2zebra)** 任务为例，演示如何下载数据、获取预训练模型并进行测试。其他模型（如 pix2pix, GauGAN, MUNIT）的操作流程类似。\n\n### 3.1 准备数据集\n下载示例数据集（例如 horse2zebra）：\n\n```shell\nbash datasets\u002Fdownload_cyclegan_dataset.sh horse2zebra\n```\n\n下载用于计算 FID 指标的真实图像统计信息：\n\n```shell\nbash datasets\u002Fdownload_real_stat.sh horse2zebra A\nbash datasets\u002Fdownload_real_stat.sh horse2zebra B\n```\n\n### 3.2 下载预训练模型\n分别下载完整的原始模型和经过压缩的模型：\n\n```shell\n# 下载完整模型\npython scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage full\n\n# 下载压缩模型\npython scripts\u002Fdownload_model.py --model cycle_gan --task horse2zebra --stage compressed\n```\n\n### 3.3 测试与性能评估\n\n**测试完整模型：**\n```shell\nbash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_full.sh\n```\n\n**测试压缩模型：**\n```shell\nbash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Ftest_compressed.sh\n```\n\n**测量推理延迟（Latency）：**\n对比两个模型的运行速度：\n```shell\n# 测量完整模型延迟\nbash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_full.sh\n\n# 测量压缩模型延迟\nbash scripts\u002Fcycle_gan\u002Fhorse2zebra\u002Flatency_compressed.sh\n```\n\n> **注意**：如果测试结果与论文数据存在细微差异，可能是因为模型经过了重新训练。如需复现论文原始结果，可添加 `--stage legacy` 参数下载旧版模型并使用对应的 `test_legacy.sh` 脚本进行测试。\n\n### 其他模型支持\n本项目同样支持 **pix2pix**, **GauGAN**, 和 **MUNIT**。只需将上述命令中的 `cycle_gan` 替换为相应的模型名称（如 `pix2pix`, `gaugan`, `munit`），并调整对应的数据集名称和脚本路径即可。具体命令请参考项目根目录下的 `scripts` 文件夹结构。","一家专注于移动端 AR 应用的初创团队，正试图将高质量的风格迁移算法（如 CycleGAN）部署到算力有限的 Jetson Nano 开发板上，以实现实时的“手绘变照片”互动功能。\n\n### 没有 gan-compression 时\n- **推理速度极慢**：原始生成器模型在边缘设备上运行帧率不足 1 FPS，画面严重卡顿，完全无法满足“实时互动”的产品需求。\n- **硬件资源耗尽**：庞大的模型参数量占用了大量 GPU 显存和内存，导致设备发热严重甚至频繁崩溃，无法与其他 AR 模块共存。\n- **部署成本高昂**：为了勉强运行模型，团队被迫升级昂贵的服务器端推理方案，增加了网络延迟，破坏了本地处理的低延迟优势。\n- **调优难度极大**：尝试手动剪枝或量化模型需要深厚的专业知识，且往往以牺牲图像细节为代价，重训过程耗时数周且效果不稳定。\n\n### 使用 gan-compression 后\n- **实现流畅交互**：利用一次训练多方适用（Once-for-All）架构搜索出的子网络，在 Jetson Nano 上将推理速度提升至 8 FPS，实现了丝滑的实时渲染。\n- **显著降低负载**：模型计算量减少了 9 到 29 倍，显存占用大幅下降，设备温度可控，轻松集成了姿态追踪等其他轻量级算法。\n- **保持视觉高保真**：在极度压缩的同时，通过知识蒸馏保留了原模型的纹理细节，FID 指标几乎没有退化，用户难以察觉画质损失。\n- **开发效率飞跃**：无需从零设计轻量结构，直接基于预训练教师模型提取最佳子生成器，将原本数周的模型适配工作缩短至几天内完成。\n\ngan-compression 成功打破了高质量生成模型在边缘设备上的性能瓶颈，让复杂的条件 GAN 应用得以在低功耗硬件上真正落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_gan-compression_2e47430c.png","mit-han-lab","MIT HAN Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmit-han-lab_65e6a38d.png","Efficient AI Computing. PI: Song Han",null,"songhan_mit","https:\u002F\u002Fhanlab.mit.edu","https:\u002F\u002Fgithub.com\u002Fmit-han-lab",[81,85,89,93],{"name":82,"color":83,"percentage":84},"Python","#3572A5",87.8,{"name":86,"color":87,"percentage":88},"Shell","#89e051",8.6,{"name":90,"color":91,"percentage":92},"Jupyter Notebook","#DA5B0B",3.4,{"name":94,"color":95,"percentage":96},"TeX","#3D6117",0.3,1118,152,"2026-03-22T18:41:53","NOASSERTION","Linux","需要 NVIDIA GPU（支持 CUDA CuDNN），CPU 亦可运行但推荐 GPU；具体显存大小和 CUDA 版本未说明（文中提及在 Jetson Nano 上可达 8FPS，暗示支持嵌入式 GPU）","未说明",{"notes":105,"python":106,"dependencies":107},"该项目明确列出的操作系统仅为 Linux。PyTorch 版本要求为 1.4。支持多种模型架构（pix2pix, CycleGAN, MUNIT, GauGAN）。部分数据集（如 Cityscapes）因许可问题需用户自行下载并预处理。项目包含针对 TVM 优化的模型以在边缘设备（如 Jetson Nano）上加速推理。","3",[108,109,110],"torch==1.4","torchvision","tvm",[35,14,15],[113,114,115,116,117,118,119,120],"compression","gans","conditional-gans","pix2pix","cyclegan","gaugan","pytorch","image-to-image-translation","2026-03-27T02:49:30.150509","2026-04-08T03:57:07.598313",[124,129,134,139,144,149],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},23656,"如何运行 GauGAN 实验？","GauGAN 训练代码已发布。您可以查看 training_tutorial.md 文档中的 'GauGAN Model Compression' 部分来设置 GauGAN 实验。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fgan-compression\u002Fissues\u002F1",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},23657,"下载预训练模型时提示 URL 无效或不受支持，该怎么办？","原始下载链接可能已失效。所有资源文件现已托管在 Hugging Face 仓库中，请访问 https:\u002F\u002Fhuggingface.co\u002Fmit-han-lab\u002Fgan-compression\u002Ftree\u002Fmain 获取。维护者后续会更新下载脚本以指向新地址。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fgan-compression\u002Fissues\u002F118",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},23658,"搜索过程（Searching）非常慢且中途断开，如何恢复搜索？","项目已支持搜索恢复功能。您可以使用 `--restore_pkl_path` 参数指定之前的检查点路径来恢复搜索。注意：划分搜索空间的参数已从 `--split` 和 `--remainder` 更改为 `--num_splits` 和 `--split`。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fgan-compression\u002Fissues\u002F42",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},23659,"加载外部预训练的 CycleGAN 模型时报错（Missing\u002FUnexpected keys），如何解决？","这通常是由模型结构差异（如 dropout 层）引起的。建议打印两个模型的网络结构以对比差异。如果是由于不同版本的 PyTorch 或架构定义不同导致的键名不匹配，可能需要修改模型定义代码以匹配预训练权重的键名，或者确保使用该项目特定的生成器定义来加载权重。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fgan-compression\u002Fissues\u002F54",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},23660,"压缩后的 GauGAN 模型测试结果不符合预期，但超网（Supernet）训练结果正常，原因是什么？","这可能是由批归一化层的状态设置引起的。检查 `SuperSynchronizedBatchNorm2d` 类，确保在测试时 `self.training` 被正确设置为 `False`（或者根据具体实现，某些情况下需保持特定状态）。如果测试输出数值异常巨大，请重点排查归一化层在推理模式下的行为。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fgan-compression\u002Fissues\u002F71",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},23661,"如何指定检查点以恢复训练？","您可以使用 `--restore_G_path` 和 `--restore_D_path` 参数来指定想要恢复的生成器和判别器检查点路径。此外，通过修改 `--epoch_base` 和 `--iter_base` 参数，可以设置起始的 epoch 和 iteration 数以继续训练。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fgan-compression\u002Fissues\u002F35",[155,160,165,170,175,180,185],{"id":156,"version":157,"summary_zh":158,"released_at":159},145156,"v1.6","包括edges2shoes上的MUNIT实验。","2021-05-13T06:42:20",{"id":161,"version":162,"summary_zh":163,"released_at":164},145157,"v1.5","发布快速GAN压缩方法。包含在COCO-stuff数据集上的GauGAN实验。","2020-12-16T06:01:04",{"id":166,"version":167,"summary_zh":168,"released_at":169},145158,"v1.4","简化轻量级管道（GAN Compression Lite）！ \r\n发布GAN Compression Lite的新模型。","2020-08-14T05:10:00",{"id":171,"version":172,"summary_zh":173,"released_at":174},145159,"v1.3","发布CycleGAN和Pix2Pix模型的简化流水线。","2020-07-21T10:52:19",{"id":176,"version":177,"summary_zh":178,"released_at":179},145160,"v1.2","支持GauGAN训练。","2020-07-10T03:17:32",{"id":181,"version":182,"summary_zh":183,"released_at":184},145161,"v1.1","修复 `weight_transfer.py` 中的一个 bug。","2020-06-13T14:47:29",{"id":186,"version":187,"summary_zh":188,"released_at":189},145162,"v1.0","GAN Compression v1.0 的官方 PyTorch 实现。与先前版本相比，我们修正了指标命名（mAP 改为 mIoU），并更新了 Cityscapes 数据集的 mIoU 评估协议（`DRN(upsample(G(x))) -> upsample(DRN(G(x)))`）。此外，我们还新增了一个搜索选项，支持仅在“一次到位”网络中评估满足特定资源预算的子网络。","2020-06-08T16:46:24"]