[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Janspiry--Palette-Image-to-Image-Diffusion-Models":3,"tool-Janspiry--Palette-Image-to-Image-Diffusion-Models":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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"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":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":10,"env_os":93,"env_gpu":94,"env_ram":93,"env_deps":95,"category_tags":100,"github_topics":101,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":107,"updated_at":108,"faqs":109,"releases":139},9841,"Janspiry\u002FPalette-Image-to-Image-Diffusion-Models","Palette-Image-to-Image-Diffusion-Models","Unofficial implementation of Palette: Image-to-Image Diffusion Models by Pytorch","Palette-Image-to-Image-Diffusion-Models 是一个基于 PyTorch 实现的开源项目，复现了论文《Palette: Image-to-Image Diffusion Models》中的核心算法。它主要致力于解决图像到图像的转换任务，能够智能地完成图像修复（填补缺失部分）、去裁剪（扩展画面边界）以及图像上色等工作。\n\n对于希望深入探索扩散模型技术的开发者和研究人员而言，这是一个极具价值的参考实现。它不仅完整构建了从训练、测试到状态保存的标准化流程，还支持多 GPU 分布式训练和 TensorBoard 可视化，大大降低了复现前沿论文的难度。在技术细节上，该项目采用了经过优化的 U-Net 架构以提升生成质量，并在低分辨率特征层引入了注意力机制；同时，它创新性地对时间步长进行了仿射变换嵌入，并在推理阶段固定方差，这些策略有效平衡了生成效率与图像逼真度。目前，项目已提供针对 CelebaHQ 和 Places2 数据集的预训练模型及 Google Colab 演示脚本，方便用户快速上手体验图像修复效果。无论是想要验证算法思路的科研人员，还是寻求高质量图像","Palette-Image-to-Image-Diffusion-Models 是一个基于 PyTorch 实现的开源项目，复现了论文《Palette: Image-to-Image Diffusion Models》中的核心算法。它主要致力于解决图像到图像的转换任务，能够智能地完成图像修复（填补缺失部分）、去裁剪（扩展画面边界）以及图像上色等工作。\n\n对于希望深入探索扩散模型技术的开发者和研究人员而言，这是一个极具价值的参考实现。它不仅完整构建了从训练、测试到状态保存的标准化流程，还支持多 GPU 分布式训练和 TensorBoard 可视化，大大降低了复现前沿论文的难度。在技术细节上，该项目采用了经过优化的 U-Net 架构以提升生成质量，并在低分辨率特征层引入了注意力机制；同时，它创新性地对时间步长进行了仿射变换嵌入，并在推理阶段固定方差，这些策略有效平衡了生成效率与图像逼真度。目前，项目已提供针对 CelebaHQ 和 Places2 数据集的预训练模型及 Google Colab 演示脚本，方便用户快速上手体验图像修复效果。无论是想要验证算法思路的科研人员，还是寻求高质量图像生成基线的工程师，都能从中获得启发。","# Palette: Image-to-Image Diffusion Models\n\n[Paper](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2111.05826.pdf ) |  [Project](https:\u002F\u002Fiterative-refinement.github.io\u002Fpalette\u002F )\n\n## Brief\n\nThis is an unofficial implementation of **Palette: Image-to-Image Diffusion Models** by **Pytorch**, and it is mainly inherited from its super-resolution version [Image-Super-Resolution-via-Iterative-Refinement](https:\u002F\u002Fgithub.com\u002FJanspiry\u002FImage-Super-Resolution-via-Iterative-Refinement). The code template is from my another seed project: [distributed-pytorch-template](https:\u002F\u002Fgithub.com\u002FJanspiry\u002Fdistributed-pytorch-template).\n\nThere are some implementation details with paper descriptions:\n\n- We adapted the U-Net architecture used in  `Guided-Diffusion`, which give a substantial boost to sample quality.\n- We used the attention mechanism in low-resolution features (16×16) like vanilla `DDPM`.\n- We encode the $\\gamma$ rather than $t$ in `Palette` and embed it with affine transformation.\n- We fix the variance $Σ_\\theta(x_t, t)$ to a constant during the inference as described in `Palette`.\n\n## Status\n\n### Code\n- [x] Diffusion Model Pipeline\n- [x] Train\u002FTest Process\n- [x] Save\u002FLoad Training State\n- [x] Logger\u002FTensorboard\n- [x] Multiple GPU Training (DDP)\n- [x] EMA\n- [x] Metrics (now for FID, IS)\n- [x] Dataset (now for inpainting, uncropping, colorization)\n- [x] Google colab script 🌟(now for inpainting)\n\n### Task\n\nI try to finish following tasks in order:\n- [x] Inpainting on [CelebaHQ](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1CjZAajyf-jIknskoTQ4CGvVkAigkhNWA?usp=sharing)🚀 ([Google Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1wfcd6QKkN2AqZDGFKZLyGKAoI5xcXUgO#scrollTo=8VFpuekybeQK))\n- [x] Inpainting on [Places2 with 128×128 centering mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1fLyFtrStfEtyrqwI0N_Xb_3idsf0gz0M?usp=sharing)🚀\n\nThe follow-up experiment is uncertain, due to lack of time and GPU resources:\n\n- [ ] Uncropping on Places2\n- [ ] Colorization on ImageNet val set \n\n## Results\n\nThe DDPM model requires significant computational resources, and we have only built a few example models to validate the ideas in this paper.\n\n### Visuals\n\n#### Celeba-HQ\n\nResults with 200 epochs and 930K iterations, and the first 100 samples in [centering mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F10zyHZtYV5vCht2MGNCF8WzpZJT2ae2RS?usp=sharing) and [irregular mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1vmSI-R9J2yQZY1cVkSSZlTYil2DprzvY?usp=sharing). \n\n| ![Process_02323](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_cad97cd60a2f.jpg) |    ![Process_02323](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_6c5376749b62.jpg)  |\n| ------------------------------------------------ | ---- |\n\n#### Places2 with 128×128 centering mask\n\nResults with 16 epochs and 660K iterations, and the several **picked** samples in [centering mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1XusKO0_M6GUfPG-FOlID0Xcp0SiexKNe?usp=sharing).\n\n| ![Mask_Places365_test_00209019.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_c79f06c40d70.jpg) | ![Mask_Places365_test_00143399.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_ec56b204aec1.jpg) | ![Mask_Places365_test_00263905.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_bee687bd5afd.jpg) |  ![Mask_Places365_test_00144085.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_d92f74a3255f.jpg)    |\n| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |\n| ![Out_Places365_test_00209019](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_a640d5016cc5.jpg) | ![Out_Places365_test_00143399.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_ad63924decb1.jpg) | ![Out_Places365_test_00263905.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_c7ccdeee5b66.jpg) | ![Out_Places365_test_00144085.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_67f7caca512d.jpg)    |\n\n#### Uncropping on Places2\n\nResults with 8 epochs and 330K iterations, and the several  **picked** samples in [uncropping](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1tC3B8ayaadhXAJrOCTrw15R8t84REPWJ?usp=sharing).\n| ![Process_Places365_test_00309553](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_0f155bd6a9fa.jpg) |    ![Process_Places365_test_00042384](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_906da5e5ad61.jpg)  |\n| ------------------------------------------------ | ---- |\n\n\n### Metrics\n\n| Tasks        | Dataset | EMA | FID(-) | IS(+) |\n| -------------------- | ----------- | -------- | ---- | -------------------- |\n| Inpainting with centering mask | Celeba-HQ | False | 5.7873 | 3.0705 |\n| Inpainting with irregular mask | Celeba-HQ | False | 5.4026 | 3.1221 |\n\n## Usage\n### Environment\n```python\npip install -r requirements.txt\n```\n\n### Pre-trained Model\n\n| Dataset   | Task       | Iterations | GPUs×Days×Bs | URL                                                          |\n| --------- | ---------- | ---------- | ------------ | ------------------------------------------------------------ |\n| Celeba-HQ | Inpainting | 930K       | 2×5×3        | [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F13YZ2UAmGJ-b7DICr-FDAPM7gctreJEoH?usp=sharing) |\n| Places2   | Inpainting | 660K       | 4×8×10       | [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1Vz_HC0LcpV6yMLOd-SXyoaqJHtxyPBxZ?usp=sharing) |\n\n**Bs** indicates sample size per gpu.\n\n\n\n### Data Prepare\n\nWe get most of them from Kaggle, which may be slightly different from official  version, and you also can download them from official website.\n- [CelebA-HQ resized (256x256) Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fbadasstechie\u002Fcelebahq-resized-256x256)\n- [Places2 Official](http:\u002F\u002Fplaces2.csail.mit.edu\u002Fdownload.html) | [Places2 Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fnickj26\u002Fplaces2-mit-dataset?resource=download)\n- [ImageNet Official](https:\u002F\u002Fwww.image-net.org\u002Fdownload.php)\n\nWe use the default division of these datasets for training and evaluation. The file lists we use can be found in [Celeba-HQ](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1-ym2Mi2jVKdWmWYKJ_L2TWXjUQh8z7H-?usp=sharing), [Places2](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F11Qj2MtRfiD7LbKEveYwOLaiX62lm_2ww?usp=sharing).\n\nAfter you prepared own data, you need to modify the corresponding configure file to point to your data. Take the following as an example:\n\n```yaml\n\"which_dataset\": {  \u002F\u002F import designated dataset using arguments \n    \"name\": [\"data.dataset\", \"InpaintDataset\"], \u002F\u002F import Dataset() class\n    \"args\":{ \u002F\u002F arguments to initialize dataset\n    \t\"data_root\": \"your data path\",\n    \t\"data_len\": -1,\n    \t\"mask_mode\": \"hybrid\"\n    } \n},\n```\n\nMore choices about **dataloader** and **validation split** also can be found in `datasets`  part of configure file.\n\n### Training\u002FResume Training\n1. Download the checkpoints from given links.\n1. Set `resume_state` of configure file to the directory of previous checkpoint. Take the following as an example, this directory contains training states and saved model:\n\n```yaml\n\"path\": { \u002F\u002Fset every part file path\n\t\"resume_state\": \"experiments\u002Finpainting_celebahq_220426_150122\u002Fcheckpoint\u002F100\" \n},\n```\n2. Set your network label in `load_everything` function of `model.py`, default is **Network**. Follow the tutorial settings, the optimizers and models will be loaded from 100.state and 100_Network.pth respectively.\n\n```python\nnetG_label = self.netG.__class__.__name__\nself.load_network(network=self.netG, network_label=netG_label, strict=False)\n```\n\n3. Run the script:\n\n```python\npython run.py -p train -c config\u002Finpainting_celebahq.json\n```\n\nWe test the U-Net backbone used in `SR3` and `Guided Diffusion`,  and `Guided Diffusion` one have a more robust performance in our current experiments.  More choices about **backbone**, **loss** and **metric** can be found in `which_networks`  part of configure file.\n\n### Test\n\n1. Modify the configure file to point to your data following the steps in **Data Prepare** part.\n2. Set your model path following the steps in **Resume Training** part.\n3. Run the script:\n```python\npython run.py -p test -c config\u002Finpainting_celebahq.json\n```\n\n### Evaluation\n1. Create two folders saving ground truth images and sample images, and their file names need to correspond to each other.\n\n2. Run the script:\n\n```python\npython eval.py -s [ground image path] -d [sample image path]\n```\n\n\n\n## Acknowledge\nOur work is based on the following theoretical works:\n- [Denoising Diffusion Probabilistic Models](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2006.11239.pdf)\n- [Palette: Image-to-Image Diffusion Models](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2111.05826.pdf)\n- [Diffusion Models Beat GANs on Image Synthesis](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.05233)\n\nand we are benefiting a lot from the following projects:\n- [openai\u002Fguided-diffusion](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion)\n- [LouisRouss\u002FDiffusion-Based-Model-for-Colorization](https:\u002F\u002Fgithub.com\u002FLouisRouss\u002FDiffusion-Based-Model-for-Colorization)\n","# Palette: 图像到图像的扩散模型\n\n[论文](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2111.05826.pdf ) |  [项目](https:\u002F\u002Fiterative-refinement.github.io\u002Fpalette\u002F )\n\n## 简介\n\n这是 **Palette: 图像到图像的扩散模型** 的非官方 PyTorch 实现，主要继承自其超分辨率版本 [Image-Super-Resolution-via-Iterative-Refinement](https:\u002F\u002Fgithub.com\u002FJanspiry\u002FImage-Super-Resolution-via-Iterative-Refinement)。代码模板来源于我的另一个种子项目：[distributed-pytorch-template](https:\u002F\u002Fgithub.com\u002FJanspiry\u002Fdistributed-pytorch-template)。\n\n以下是一些与论文描述相符的实现细节：\n\n- 我们采用了 `Guided-Diffusion` 中使用的 U-Net 架构，这显著提升了生成样本的质量。\n- 我们在低分辨率特征（16×16）中使用了类似 vanilla `DDPM` 的注意力机制。\n- 在 `Palette` 中，我们对 $\\gamma$ 而不是 $t$ 进行编码，并通过仿射变换将其嵌入。\n- 如 `Palette` 所述，在推理过程中我们将方差 $Σ_\\theta(x_t, t)$ 固定为一个常数。\n\n## 当前状态\n\n### 代码\n- [x] 扩散模型流水线\n- [x] 训练\u002F测试流程\n- [x] 保存\u002F加载训练状态\n- [x] 日志记录\u002FTensorBoard\n- [x] 多 GPU 训练 (DDP)\n- [x] EMA\n- [x] 指标（目前支持 FID 和 IS）\n- [x] 数据集（目前支持修复、去裁剪和上色）\n- [x] Google Colab 脚本 🌟（目前支持修复）\n\n### 任务\n\n我计划按顺序完成以下任务：\n- [x] 在 [CelebaHQ](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1CjZAajyf-jIknskoTQ4CGvVkAigkhNWA?usp=sharing) 上进行修复🚀 ([Google Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1wfcd6QKkN2AqZDGFKZLyGKAoI5xcXUgO#scrollTo=8VFpuekybeQK))\n- [x] 在 [Places2 with 128×128 centering mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1fLyFtrStfEtyrqwI0N_Xb_3idsf0gz0M?usp=sharing) 上进行修复🚀\n\n由于时间和 GPU 资源的限制，后续实验尚不确定：\n- [ ] Places2 上的去裁剪\n- [ ] ImageNet 验证集上的上色\n\n## 结果\n\nDDPM 模型需要大量的计算资源，而我们目前只构建了几组示例模型来验证本文中的想法。\n\n### 可视化结果\n\n#### Celeba-HQ\n\n使用 200 个 epoch 和 93 万次迭代的结果，展示了在 [centering mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F10zyHZtYV5vCht2MGNCF8WzpZJT2ae2RS?usp=sharing) 和 [irregular mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1vmSI-R9J2yQZY1cVkSSZlTYil2DprzvY?usp=sharing) 下的前 100 个样本。\n\n| ![Process_02323](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_cad97cd60a2f.jpg) |    ![Process_02323](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_6c5376749b62.jpg)  |\n| ------------------------------------------------ | ---- |\n\n#### Places2 with 128×128 centering mask\n\n使用 16 个 epoch 和 66 万次迭代的结果，展示了在 [centering mask](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1XusKO0_M6GUfPG-FOlID0Xcp0SiexKNe?usp=sharing) 下的几组精选样本。\n\n| ![Mask_Places365_test_00209019.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_c79f06c40d70.jpg) | ![Mask_Places365_test_00143399.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_ec56b204aec1.jpg) | ![Mask_Places365_test_00263905.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_bee687bd5afd.jpg) |  ![Mask_Places365_test_00144085.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_d92f74a3255f.jpg)    |\n| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |\n| ![Out_Places365_test_00209019](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_a640d5016cc5.jpg) | ![Out_Places365_test_00143399.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_ad63924decb1.jpg) | ![Out_Places365_test_00263905.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_c7ccdeee5b66.jpg) | ![Out_Places365_test_00144085.jpg](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_67f7caca512d.jpg)    |\n\n#### Places2 上的去裁剪\n\n使用 8 个 epoch 和 33 万次迭代的结果，展示了在 [uncropping](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1tC3B8ayaadhXAJrOCTrw15R8t84REPWJ?usp=sharing) 下的几组精选样本。\n\n| ![Process_Places365_test_00309553](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_0f155bd6a9fa.jpg) |    ![Process_Places365_test_00042384](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_readme_906da5e5ad61.jpg)  |\n| ------------------------------------------------ | ---- |\n\n\n### 指标\n\n| 任务        | 数据集 | EMA | FID(-) | IS(+) |\n| -------------------- | ----------- | -------- | ---- | -------------------- |\n| 使用 centering mask 进行修复 | Celeba-HQ | False | 5.7873 | 3.0705 |\n| 使用 irregular mask 进行修复 | Celeba-HQ | False | 5.4026 | 3.1221 |\n\n## 使用方法\n### 环境\n```python\npip install -r requirements.txt\n```\n\n### 预训练模型\n\n| 数据集   | 任务       | 迭代次数 | GPUs×Days×Bs | URL                                                          |\n| --------- | ---------- | ---------- | ------------ | ------------------------------------------------------------ |\n| Celeba-HQ | 修复       | 93 万       | 2×5×3        | [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F13YZ2UAmGJ-b7DICr-FDAPM7gctreJEoH?usp=sharing) |\n| Places2   | 修复       | 66 万       | 4×8×10       | [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1Vz_HC0LcpV6yMLOd-SXyoaqJHtxyPBxZ?usp=sharing) |\n\n**Bs** 表示每个 GPU 的样本数量。\n\n\n\n### 数据准备\n\n我们大部分数据来自 Kaggle，可能与官方版本略有不同，你也可以从官方网站下载。\n- [CelebA-HQ 重采样（256x256）Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fbadasstechie\u002Fcelebahq-resized-256x256)\n- [Places2 官方](http:\u002F\u002Fplaces2.csail.mit.edu\u002Fdownload.html) | [Places2 Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fnickj26\u002Fplaces2-mit-dataset?resource=download)\n- [ImageNet 官方](https:\u002F\u002Fwww.image-net.org\u002Fdownload.php)\n\n我们使用这些数据集的默认划分来进行训练和评估。所使用的文件列表可以在 [Celeba-HQ](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1-ym2Mi2jVKdWmWYKJ_L2TWXjUQh8z7H-?usp=sharing) 和 [Places2](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F11Qj2MtRfiD7LbKEveYwOLaiX62lm_2ww?usp=sharing) 中找到。\n\n准备好自己的数据后，你需要修改相应的配置文件以指向你的数据。以下是一个示例：\n\n```yaml\n\"which_dataset\": {  \u002F\u002F 使用参数导入指定数据集 \n    \"name\": [\"data.dataset\", \"InpaintDataset\"], \u002F\u002F 导入 Dataset() 类\n    \"args\":{ \u002F\u002F 初始化数据集的参数\n    \t\"data_root\": \"你的数据路径\",\n    \t\"data_len\": -1,\n    \t\"mask_mode\": \"hybrid\"\n    } \n},\n```\n\n关于 **dataloader** 和 **validation split** 的更多选项也可以在配置文件的 `datasets` 部分找到。\n\n### 继续训练\u002F从断点恢复训练\n1. 从给定链接下载检查点文件。\n2. 将配置文件中的 `resume_state` 设置为之前检查点所在的目录。以下为例，该目录包含训练状态和保存的模型：\n\n```yaml\n\"path\": { \u002F\u002F设置各个部分的文件路径\n\t\"resume_state\": \"experiments\u002Finpainting_celebahq_220426_150122\u002Fcheckpoint\u002F100\" \n},\n```\n3. 在 `model.py` 文件的 `load_everything` 函数中设置你的网络标签，默认为 **Network**。按照教程中的设置，优化器和模型将分别从 `100.state` 和 `100_Network.pth` 中加载。\n\n```python\nnetG_label = self.netG.__class__.__name__\nself.load_network(network=self.netG, network_label=netG_label, strict=False)\n```\n\n4. 运行脚本：\n\n```bash\npython run.py -p train -c config\u002Finpainting_celebahq.json\n```\n\n我们测试了 `SR3` 和 `Guided Diffusion` 中使用的 U-Net 主干网络，在当前实验中，`Guided Diffusion` 的表现更为稳健。关于 **主干网络**、**损失函数** 和 **评估指标** 的更多选择，可以在配置文件的 `which_networks` 部分找到。\n\n### 测试\n\n1. 按照“数据准备”部分的步骤，修改配置文件以指向你的数据。\n2. 按照“继续训练”部分的步骤，设置你的模型路径。\n3. 运行脚本：\n\n```bash\npython run.py -p test -c config\u002Finpainting_celebahq.json\n```\n\n### 评估\n\n1. 创建两个文件夹，分别用于保存真实图像和生成样本图像，且两者的文件名需要一一对应。\n2. 运行脚本：\n\n```bash\npython eval.py -s [真实图像路径] -d [生成图像路径]\n```\n\n\n\n## 致谢\n我们的工作基于以下理论研究：\n- [去噪扩散概率模型](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2006.11239.pdf)\n- [Palette：图像到图像的扩散模型](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2111.05826.pdf)\n- [扩散模型在图像合成上超越 GAN](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.05233)\n\n同时，我们也受益于以下开源项目：\n- [openai\u002Fguided-diffusion](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion)\n- [LouisRouss\u002FDiffusion-Based-Model-for-Colorization](https:\u002F\u002Fgithub.com\u002FLouisRouss\u002FDiffusion-Based-Model-for-Colorization)","# Palette 图像到图像扩散模型快速上手指南\n\n本指南基于非官方 PyTorch 实现，帮助开发者快速部署并运行 **Palette: Image-to-Image Diffusion Models**，主要用于图像修复（Inpainting）、去裁剪（Uncropping）和上色（Colorization）等任务。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 macOS\n*   **Python**: 3.8 或更高版本\n*   **GPU**: 支持 CUDA 的 NVIDIA 显卡（训练需要多卡支持，推理单卡即可）\n*   **依赖库**: PyTorch, torchvision 及其他深度学习常用库\n\n> **提示**: 国内用户建议使用清华源或阿里源加速 pip 安装，以提升下载速度。\n\n## 安装步骤\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FJanspiry\u002FPalette-Image-to-Image-Diffusion-Models.git\n    cd Palette-Image-to-Image-Diffusion-Models\n    ```\n\n2.  **安装依赖**\n    使用 pip 安装所需依赖包。国内用户可添加 `-i` 参数指定镜像源：\n    ```bash\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n3.  **准备预训练模型（可选）**\n    如果仅需进行测试或推理，可从 Google Drive 下载预训练权重（如 Celeba-HQ 或 Places2 数据集模型），并将其放置在项目目录中。\n    *   Celeba-HQ Inpainting: [下载链接](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F13YZ2UAmGJ-b7DICr-FDAPM7gctreJEoH?usp=sharing)\n    *   Places2 Inpainting: [下载链接](https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Ffolders\u002F1Vz_HC0LcpV6yMLOd-SXyoaqJHtxyPBxZ?usp=sharing)\n\n4.  **准备数据集**\n    下载所需数据集（如 CelebA-HQ 或 Places2），并修改配置文件中的 `data_root` 指向本地数据路径。\n    *   CelebA-HQ (Kaggle): [下载地址](https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fbadasstechie\u002Fcelebahq-resized-256x256)\n    *   Places2 (Kaggle): [下载地址](https:\u002F\u002Fwww.kaggle.com\u002Fdatasets\u002Fnickj26\u002Fplaces2-mit-dataset?resource=download)\n\n## 基本使用\n\n以下以 **Celeba-HQ 图像修复任务** 为例，展示最基础的测试流程。\n\n### 1. 配置修改\n打开 `config\u002Finpainting_celebahq.json`（或对应任务的配置文件），确保以下两项设置正确：\n*   **数据路径**: 在 `which_dataset` -> `args` 中修改 `data_root` 为您的数据存放目录。\n*   **模型路径**: 在 `path` 中修改 `resume_state` 为预训练模型所在的文件夹路径（例如：`experiments\u002Finpainting_celebahq_220426_150122\u002Fcheckpoint\u002F100`）。\n\n### 2. 运行测试（推理）\n执行以下命令生成修复后的图像：\n\n```bash\npython run.py -p test -c config\u002Finpainting_celebahq.json\n```\n\n程序将读取配置中的输入图像，利用加载的扩散模型进行去噪推理，并将结果保存在配置的输出目录中。\n\n### 3. （可选）开始训练\n如果您拥有足够的 GPU 资源并希望从头训练或微调模型，请使用以下命令：\n\n```bash\npython run.py -p train -c config\u002Finpainting_celebahq.json\n```\n\n> **注意**: 训练过程耗时较长且对显存要求较高，建议根据 `config` 文件中的 `which_networks` 部分调整 backbone（推荐使用 Guided Diffusion 版本的 U-Net）以适应您的硬件条件。","一家数字文物修复团队正在处理一批因年代久远而严重受损的历史照片，这些照片存在大面积污渍遮挡和边缘缺失的问题。\n\n### 没有 Palette-Image-to-Image-Diffusion-Models 时\n- 修复师只能依赖传统插值算法或手动绘制填补，导致修复区域纹理模糊、缺乏真实细节，看起来像“打补丁”。\n- 面对不规则的大面积遮挡，现有工具难以理解上下文语义，常生成扭曲的建筑结构或错误的人脸特征。\n- 每次调整修复效果都需要反复尝试不同参数，缺乏迭代优化机制，耗时极长且结果不可控。\n- 无法在保持原图风格一致性的同时生成高保真内容，修复后的图片与原始部分存在明显的视觉割裂感。\n\n### 使用 Palette-Image-to-Image-Diffusion-Models 后\n- 利用其基于扩散模型的图像到图像转换能力，能根据周围像素语义自动生成纹理清晰、结构合理的修复内容，彻底消除“补丁感”。\n- 针对 CelebaHQ 和 Places2 数据集验证过的不规则掩码修复能力，可精准还原被遮挡的人脸五官或风景建筑，逻辑自然逼真。\n- 内置的迭代细化（Iterative Refinement）机制允许模型逐步优化生成结果，显著减少人工试错成本，大幅提升工作流效率。\n- 通过固定方差推理和 U-Net 架构优化，确保生成内容与原图在光照、噪点和风格上高度统一，实现无缝融合。\n\nPalette-Image-to-Image-Diffusion-Models 将原本需要数小时的手工精修工作缩短为分钟级的自动化高质量重建，让历史影像的真实复原成为可能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FJanspiry_Palette-Image-to-Image-Diffusion-Models_cad97cd6.jpg","Janspiry","Liangwei Jiang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FJanspiry_0f2369c4.jpg",null,"lw_jiang@foxmail.com","https:\u002F\u002Fjanspiry.github.io","https:\u002F\u002Fgithub.com\u002FJanspiry",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.9,{"name":86,"color":87,"percentage":88},"Shell","#89e051",0.1,1811,238,"2026-04-18T06:56:47","MIT","未说明","必需 NVIDIA GPU（支持多卡 DDP 训练）。显存需求取决于任务：Celeba-HQ 训练示例为 2 张显卡，Places2 训练示例为 4 张显卡。具体显存大小和 CUDA 版本未在文中明确，但需支持 PyTorch 及扩散模型训练。",{"notes":96,"python":93,"dependencies":97},"1. 该项目是基于 PyTorch 的非官方实现，代码模板继承自超分辨率项目。\n2. 训练计算资源消耗巨大，README 中提到因缺乏时间和 GPU 资源，部分实验（如 Places2 的 Uncropping 和 ImageNet 的颜色化）尚未完成。\n3. 主要依赖 `requirements.txt` 文件安装，但文中未列出具体库版本列表。\n4. 支持多种任务（修复、去裁剪、颜色化），不同任务对数据集和配置有不同要求。\n5. 提供了 Google Colab 脚本用于修复任务，适合资源有限的用户尝试。",[98,99],"pytorch","tensorboard",[15,14],[102,103,104,105,98,106],"ddpm","image-restoration","ddp","implementation","diffusion-model","2026-03-27T02:49:30.150509","2026-04-20T07:16:15.724650",[110,115,120,124,129,134],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},44191,"运行测试脚本时出现 'Model [Palette()] not recognized' 错误怎么办？","该错误通常是因为缺少保存检查点的文件夹或配置路径不正确。请确保创建了用于保存检查点的文件夹，或者修改配置文件中的路径。此外，注意代码中关于 EMA（指数移动平均）的部分，因为提供的预训练模型可能不包含相关的 EMA 权重。如果是从头开始训练，某些特定的恢复训练代码行（如 self.resume_training）可能不需要或需要调整。","https:\u002F\u002Fgithub.com\u002FJanspiry\u002FPalette-Image-to-Image-Diffusion-Models\u002Fissues\u002F5",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},44192,"如何增加训练步数或迭代次数？","训练步数可以在配置文件中进行调整。具体来说，可以通过修改配置文件中的相关参数来增加迭代次数。例如，在 inpainting_celebahq.json 等配置文件中查找控制迭代次数或 epoch 的设置项进行修改。默认设置下的迭代次数可能较少（如 9332 次），可根据需求调大。","https:\u002F\u002Fgithub.com\u002FJanspiry\u002FPalette-Image-to-Image-Diffusion-Models\u002Fissues\u002F47",{"id":121,"question_zh":122,"answer_zh":123,"source_url":119},44193,"预训练模型使用的是什么类型的掩码（Mask）？测试时如何更改掩码类型？","预训练模型通常使用混合掩码（hybrid mask）。如果在测试时将掩码类型从中心掩码（center）改为自由形式（free-form）但模型仍然表现不佳（如无法填充边缘），可能是因为模型并未针对该掩码类型进行优化，或者需要手动提供掩码。你可以参考 data\u002Futil\u002Fmask.py 第 232 行的代码来了解掩码生成逻辑，并在配置文件中通过修改 \"mask_mode\" 参数（如设置为 \"hybrid\" 或其他支持的模式）来调整。对于特定图片，推荐尝试不同的掩码设置或手动绘制掩码以获得最佳效果。",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},44194,"如何设置自定义数据集类来训练模型？掩码的形状应该是怎样的？","在设置自定义数据集时，需要注意掩码的定义：掩码中值为 0 的像素表示被遮蔽区域（masked pixels），值为 1 表示保留区域。默认情况下，模型期望掩码形状为 (h, w, 1) 而非 (h, w, 3)。如果你的掩码包含多通道信息（如唇部位置轮廓），可能需要调整数据处理逻辑以适应模型输入。此外，cond_image 的计算公式 img*(1. - mask) + mask*torch.randn_like(img) 用于生成带噪声的条件图像，这是扩散模型的标准处理方式，不建议随意更改为简单的位运算，否则会导致结果异常。如果任务是从唇部轮廓生成完整人脸，这更接近于图像修复或条件生成任务，而非单纯的颜色化。","https:\u002F\u002Fgithub.com\u002FJanspiry\u002FPalette-Image-to-Image-Diffusion-Models\u002Fissues\u002F14",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},44195,"训练后的推理结果仍然有很多噪声，如何解决？","推理结果存在噪声可能是因为训练时间不足、数据集太小无法覆盖噪声空间，或是训练不稳定导致的。建议尝试以下方法：1. 增加训练轮数（epochs）或迭代次数（例如从 1000 增加到更多）；2. 增大数据集规模以提高泛化能力；3. 检查训练过程中的损失曲线，确认模型是否收敛。有用户反馈在增加训练步数后，部分图像的噪声消失，但仍有不稳定现象，这表明可能需要更充分的训练或调整超参数。","https:\u002F\u002Fgithub.com\u002FJanspiry\u002FPalette-Image-to-Image-Diffusion-Models\u002Fissues\u002F24",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},44196,"在 Conda 环境中安装并运行时遇到模型识别错误，如何排查？","在 WSL2 或 Conda 环境中运行时，若出现 'Model [Palette()] not recognized' 错误，首先检查配置文件中的模型名称和导入路径是否正确。确保 config 文件中 \"which_model\" 或类似字段指向正确的类名（如 \"Palette\"），并且对应的 models.model 模块中可以找到该类。同时，检查日志输出确认 Dataset 和 Network 是否成功创建。如果问题依旧，尝试重新克隆代码库并确保所有依赖已正确安装，特别是 PyTorch 和相关扩展库。","https:\u002F\u002Fgithub.com\u002FJanspiry\u002FPalette-Image-to-Image-Diffusion-Models\u002Fissues\u002F21",[]]