[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-pathak22--context-encoder":3,"tool-pathak22--context-encoder":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 真正成长为懂上",156033,2,"2026-04-14T23:32:00",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[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":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":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"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":106,"github_topics":107,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":149},7631,"pathak22\u002Fcontext-encoder","context-encoder","[CVPR 2016] Unsupervised Feature Learning by Image Inpainting using GANs","context-encoder 是一款基于生成对抗网络（GAN）的开源深度学习工具，源自 CVPR 2016 的经典研究。它的核心功能是通过“图像修复”（Inpainting）技术，智能填补图片中缺失或损坏的区域，使修复后的画面在视觉和语义上都自然连贯。\n\n该工具主要解决了传统修复方法难以理解图像整体语境的问题。它采用无监督学习方式，让模型在尝试重建被遮挡图像的过程中，自动学习深层的特征表示。其独特的技术亮点在于联合使用了重建损失与对抗损失：前者确保修复内容的像素准确性，后者则利用判别器保证生成纹理的真实感，从而能根据周围环境“脑补”出合理的细节，而非简单模糊处理。\n\ncontext-encoder 非常适合计算机视觉领域的研究人员、AI 开发者以及需要处理图像数据的专业人士使用。对于希望深入理解无监督特征学习机制的研究者，或是需要构建自定义图像修复模型的工程师，它提供了完整的训练与测试代码框架。虽然普通用户也可通过演示体验其效果，但要充分发挥其潜力，通常需要具备一定的深度学习基础及编程环境配置能力（如 Torch 或 TensorFlow）。","## Context Encoders: Feature Learning by Inpainting\n#### CVPR 2016\n#### [[Project Website]](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F) [[Imagenet Results]](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F#extraResults)\nSample results on held-out images: \n\n![teaser](images\u002Fteaser.jpg \"Sample inpainting results on held-out images\")\n\nThis is the training code for our [CVPR 2016 paper on Context Encoders](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F) for learning deep feature representation in an unsupervised manner by image inpainting. Context Encoders are trained jointly with reconstruction and adversarial loss. This repo contains quick demo, training\u002Ftesting code for center region inpainting and training\u002Ftesting code for arbitray random region inpainting. This code is adapted from an initial fork of [Soumith's DCGAN](https:\u002F\u002Fgithub.com\u002Fsoumith\u002Fdcgan.torch) implementation. Scroll down to try out a quick demo or train your own inpainting models!\n\nIf you find [Context Encoders](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F) useful in your research, please cite:\n\n    @inproceedings{pathakCVPR16context,\n        Author = {Pathak, Deepak and Kr\\\"ahenb\\\"uhl, Philipp and Donahue, Jeff and Darrell, Trevor and Efros, Alexei},\n        Title = {Context Encoders: Feature Learning by Inpainting},\n        Booktitle = {Computer Vision and Pattern Recognition ({CVPR})},\n        Year = {2016}\n    }\n\n### Contents\n1. [Semantic Inpainting Demo](#1-semantic-inpainting-demo)\n2. [Train Context Encoders](#2-train-context-encoders)\n3. [Download Features Caffemodel](#3-download-features-caffemodel)\n4. [TensorFlow Implementation](#4-tensorflow-implementation)\n5. [Project Website](#5-project-website)\n6. [Download Dataset](#6-paris-street-view-dataset)\n\n### 1) Semantic Inpainting Demo\n\n1. Install Torch:  http:\u002F\u002Ftorch.ch\u002Fdocs\u002Fgetting-started.html#_\n\n2. Clone the repository\n  ```Shell\n  git clone https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder.git\n  ```\n  \n3. Demo\n  ```Shell\n  cd context-encoder\n  bash .\u002Fmodels\u002Fscripts\u002Fdownload_inpaintCenter_models.sh\n  # This will populate the `.\u002Fmodels\u002F` folder with trained models.\n\n  net=models\u002FinpaintCenter\u002Fparis_inpaintCenter.t7 name=paris_result imDir=images\u002Fparis overlapPred=4 manualSeed=222 batchSize=21 gpu=1 th demo.lua\n  net=models\u002FinpaintCenter\u002Fimagenet_inpaintCenter.t7 name=imagenet_result imDir=images\u002Fimagenet overlapPred=4 manualSeed=222 batchSize=21 gpu=1 th demo.lua\n  net=models\u002FinpaintCenter\u002Fparis_inpaintCenter.t7 name=ucberkeley_result imDir=images\u002Fucberkeley overlapPred=4 manualSeed=222 batchSize=4 gpu=1 th demo.lua\n  # Note: If you are running on cpu, use gpu=0\n  # Note: samples given in .\u002Fimages\u002F* are held-out images\n  ```\n\n### 2) Train Context Encoders\n\nIf you could successfully run the above demo, run following steps to train your own context encoder model for image inpainting.\n\n0. [Optional] Install Display Package as follows. If you don't want to install it, then set `display=0` in `train.lua`.\n  ```Shell\n  luarocks install https:\u002F\u002Fraw.githubusercontent.com\u002Fszym\u002Fdisplay\u002Fmaster\u002Fdisplay-scm-0.rockspec\n  cd ~\n  th -ldisplay.start 8000\n  # if working on server machine create tunnel: ssh -f -L 8000:localhost:8000 -N server_address.com\n  # on client side, open in browser: http:\u002F\u002Flocalhost:8000\u002F\n  ```\n\n1. Make the dataset folder.\n  ```Shell\n  mkdir -p \u002Fpath_to_wherever_you_want\u002Fmydataset\u002Ftrain\u002Fimages\u002F\n  # put all training images inside mydataset\u002Ftrain\u002Fimages\u002F\n  mkdir -p \u002Fpath_to_wherever_you_want\u002Fmydataset\u002Fval\u002Fimages\u002F\n  # put all val images inside mydataset\u002Fval\u002Fimages\u002F\n  cd context-encoder\u002F\n  ln -sf \u002Fpath_to_wherever_you_want\u002Fmydataset dataset\n  ```\n\n2. Train the model\n  ```Shell\n  # For training center region inpainting model, run:\n  DATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintCenter overlapPred=4 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=128 gpu=1 th train.lua\n\n  # For training random region inpainting model, run:\n  DATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintRandomNoOverlap useOverlapPred=0 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=128 gpu=1 th train_random.lua\n  # or use fineSize=64 to train to generate 64x64 sized image (results are better):\n  DATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintRandomNoOverlap useOverlapPred=0 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=64 gpu=1 th train_random.lua\n  ```\n\n3. Test the model\n  ```Shell\n  # For training center region inpainting model, run:\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintCenter_500_net_G.t7 name=test_patch overlapPred=4 manualSeed=222 batchSize=30 loadSize=350 gpu=1 th test.lua\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintCenter_500_net_G.t7 name=test_full overlapPred=4 manualSeed=222 batchSize=30 loadSize=129 gpu=1 th test.lua\n\n  # For testing random region inpainting model, run (with fineSize=64 or 124, same as training):\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintRandomNoOverlap_500_net_G.t7 name=test_patch_random useOverlapPred=0 manualSeed=222 batchSize=30 loadSize=350 gpu=1 th test_random.lua\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintRandomNoOverlap_500_net_G.t7 name=test_full_random useOverlapPred=0 manualSeed=222 batchSize=30 loadSize=129 gpu=1 th test_random.lua\n  ```\n\n### 3) Download Features Caffemodel\n\nFeatures for context encoder trained with reconstruction loss.\n\n- [Prototxt](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002Fresources\u002Fce_features.prototxt)\n- [Caffemodel](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002Fresources\u002Fce_features.caffemodel)\n\n### 4) TensorFlow Implementation\n\nCheckout the TensorFlow implementation of our paper by Taeksoo [here](https:\u002F\u002Fgithub.com\u002Fjazzsaxmafia\u002FInpainting). However, it does not implement full functionalities of our paper.\n\n### 5) Project Website\n\nClick [here](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F).\n\n### 6) Paris Street-View Dataset\n\nPlease email me if you need the dataset and I will share a private link with you. I can't post the public link to this dataset due to the policy restrictions from Google Street View.\n","## 上下文编码器：通过图像修复进行特征学习\n#### CVPR 2016\n#### [[项目官网]](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F) [[ImageNet 结果]](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F#extraResults)\n在保留图像上的示例结果：\n\n![teaser](images\u002Fteaser.jpg \"在保留图像上的示例修复结果\")\n\n这是我们 [CVPR 2016 关于上下文编码器的论文](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F) 的训练代码，用于通过图像修复以无监督方式学习深度特征表示。上下文编码器同时使用重建损失和对抗损失进行联合训练。该仓库包含中心区域修复的快速演示、训练和测试代码，以及任意随机区域修复的训练和测试代码。此代码改编自 [Soumith 的 DCGAN](https:\u002F\u002Fgithub.com\u002Fsoumith\u002Fdcgan.torch) 实现的一个初始分支。请向下滚动以尝试快速演示或训练您自己的修复模型！\n\n如果您在研究中发现 [上下文编码器](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F) 很有用，请引用以下文献：\n\n    @inproceedings{pathakCVPR16context,\n        Author = {Pathak, Deepak and Kr\\\"ahenb\\\"uhl, Philipp and Donahue, Jeff and Darrell, Trevor and Efros, Alexei},\n        Title = {Context Encoders: Feature Learning by Inpainting},\n        Booktitle = {Computer Vision and Pattern Recognition ({CVPR})},\n        Year = {2016}\n    }\n\n### 目录\n1. [语义修复演示](#1-semantic-inpainting-demo)\n2. [训练上下文编码器](#2-train-context-encoders)\n3. [下载特征 Caffemodel](#3-download-features-caffemodel)\n4. [TensorFlow 实现](#4-tensorflow-implementation)\n5. [项目官网](#5-project-website)\n6. [下载数据集](#6-paris-street-view-dataset)\n\n### 1) 语义修复演示\n\n1. 安装 Torch：http:\u002F\u002Ftorch.ch\u002Fdocs\u002Fgetting-started.html#_\n\n2. 克隆仓库\n  ```Shell\n  git clone https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder.git\n  ```\n  \n3. 演示\n  ```Shell\n  cd context-encoder\n  bash .\u002Fmodels\u002Fscripts\u002Fdownload_inpaintCenter_models.sh\n  # 这将填充 `.\u002Fmodels\u002F` 文件夹中的训练模型。\n\n  net=models\u002FinpaintCenter\u002Fparis_inpaintCenter.t7 name=paris_result imDir=images\u002Fparis overlapPred=4 manualSeed=222 batchSize=21 gpu=1 th demo.lua\n  net=models\u002FinpaintCenter\u002Fimagenet_inpaintCenter.t7 name=imagenet_result imDir=images\u002Fimagenet overlapPred=4 manualSeed=222 batchSize=21 gpu=1 th demo.lua\n  net=models\u002FinpaintCenter\u002Fparis_inpaintCenter.t7 name=ucberkeley_result imDir=images\u002Fucberkeley overlapPred=4 manualSeed=222 batchSize=4 gpu=1 th demo.lua\n  # 注意：如果在 CPU 上运行，请使用 gpu=0\n  # 注意：.\u002Fimages\u002F* 中提供的样本是保留图像\n  ```\n\n### 2) 训练上下文编码器\n\n如果您成功运行了上述演示，请按照以下步骤训练您自己的图像修复上下文编码器模型。\n\n0. [可选] 按照如下方式安装 Display 包。如果您不想安装，可在 `train.lua` 中设置 `display=0`。\n  ```Shell\n  luarocks install https:\u002F\u002Fraw.githubusercontent.com\u002Fszym\u002Fdisplay\u002Fmaster\u002Fdisplay-scm-0.rockspec\n  cd ~\n  th -ldisplay.start 8000\n  # 如果在服务器上操作，请创建隧道：ssh -f -L 8000:localhost:8000 -N server_address.com\n  # 在客户端浏览器中打开：http:\u002F\u002Flocalhost:8000\u002F\n  ```\n\n1. 创建数据集文件夹。\n  ```Shell\n  mkdir -p \u002Fpath_to_wherever_you_want\u002Fmydataset\u002Ftrain\u002Fimages\u002F\n  # 将所有训练图像放入 mydataset\u002Ftrain\u002Fimages\u002F\n  mkdir -p \u002Fpath_to_wherever_you_want\u002Fmydataset\u002Fval\u002Fimages\u002F\n  # 将所有验证图像放入 mydataset\u002Fval\u002Fimages\u002F\n  cd context-encoder\u002F\n  ln -sf \u002Fpath_to_wherever_you_want\u002Fmydataset dataset\n  ```\n\n2. 训练模型\n  ```Shell\n  # 对于训练中心区域修复模型，运行：\n  DATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintCenter overlapPred=4 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=128 gpu=1 th train.lua\n\n  # 对于训练随机区域修复模型，运行：\n  DATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintRandomNoOverlap useOverlapPred=0 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=128 gpu=1 th train_random.lua\n  # 或者使用 fineSize=64 来训练生成 64x64 大小的图像（效果更好）：\n  DATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintRandomNoOverlap useOverlapPred=0 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=64 gpu=1 th train_random.lua\n  ```\n\n3. 测试模型\n  ```Shell\n  # 对于训练中心区域修复模型，运行：\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintCenter_500_net_G.t7 name=test_patch overlapPred=4 manualSeed=222 batchSize=30 loadSize=350 gpu=1 th test.lua\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintCenter_500_net_G.t7 name=test_full overlapPred=4 manualSeed=222 batchSize=30 loadSize=129 gpu=1 th test.lua\n\n  # 对于测试随机区域修复模型，运行（fineSize 使用 64 或 124，与训练时相同）：\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintRandomNoOverlap_500_net_G.t7 name=test_patch_random useOverlapPred=0 manualSeed=222 batchSize=30 loadSize=350 gpu=1 th test_random.lua\n  DATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintRandomNoOverlap_500_net_G.t7 name=test_full_random useOverlapPred=0 manualSeed=222 batchSize=30 loadSize=129 gpu=1 th test_random.lua\n  ```\n\n### 3) 下载特征 Caffemodel\n\n使用重建损失训练的上下文编码器特征。\n\n- [Prototxt](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002Fresources\u002Fce_features.prototxt)\n- [Caffemodel](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002Fresources\u002Fce_features.caffemodel)\n\n### 4) TensorFlow 实现\n\n请查看 Taeksoo 基于我们论文的 TensorFlow 实现 [这里](https:\u002F\u002Fgithub.com\u002Fjazzsaxmafia\u002FInpainting)。不过，它并未实现我们论文中的全部功能。\n\n### 5) 项目官网\n\n请点击 [这里](https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002Fcontext_encoder\u002F)。\n\n### 6) 巴黎街景数据集\n\n如果您需要该数据集，请给我发送邮件，我将与您分享一个私有链接。由于 Google 街景的政策限制，我无法公开发布该数据集的链接。","# Context Encoders 快速上手指南\n\nContext Encoders 是一个基于图像修复（Inpainting）任务进行无监督特征学习的深度学习模型。本项目提供了训练和测试代码，支持中心区域修复和任意随机区域修复。\n\n## 1. 环境准备\n\n本项目基于 **Torch** 框架开发，主要依赖 Lua 语言环境。\n\n*   **操作系统**: Linux \u002F macOS (Windows 需使用 WSL 或 Docker)\n*   **核心框架**: [Torch](http:\u002F\u002Ftorch.ch\u002F)\n*   **硬件要求**: 推荐配备 NVIDIA GPU 以加速训练和推理（CPU 模式也可运行，但速度较慢）\n*   **前置依赖**:\n    *   Git\n    *   Luarocks (Torch 的包管理器)\n    *   (可选) `display` 包：用于训练过程中实时可视化损失曲线\n\n> **注意**：原文未提供中国镜像源，请确保网络环境能正常访问 GitHub 和 Torch 官方资源。\n\n## 2. 安装步骤\n\n### 2.1 安装 Torch\n请参考 Torch 官方文档完成基础安装：\nhttp:\u002F\u002Ftorch.ch\u002Fdocs\u002Fgetting-started.html#_\n\n### 2.2 克隆项目代码\n```Shell\ngit clone https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder.git\ncd context-encoder\n```\n\n### 2.3 安装可选可视化工具 (推荐)\n若希望在训练时通过浏览器查看实时效果，请执行以下命令安装 `display` 包并启动服务：\n```Shell\nluarocks install https:\u002F\u002Fraw.githubusercontent.com\u002Fszym\u002Fdisplay\u002Fmaster\u002Fdisplay-scm-0.rockspec\ncd ~\nth -ldisplay.start 8000\n# 如果是远程服务器，需建立 SSH 隧道：ssh -f -L 8000:localhost:8000 -N server_address.com\n# 然后在本地浏览器访问：http:\u002F\u002Flocalhost:8000\u002F\n```\n*若不安装此包，请在后续训练命令中设置 `display=0`。*\n\n### 2.4 下载预训练模型 (仅用于演示)\n运行以下脚本下载针对中心区域修复的预训练模型：\n```Shell\nbash .\u002Fmodels\u002Fscripts\u002Fdownload_inpaintCenter_models.sh\n```\n执行后，`.\u002Fmodels\u002F` 目录下将包含训练好的模型文件。\n\n## 3. 基本使用\n\n### 3.1 运行演示 Demo\n下载模型后，可直接对示例图片进行修复测试。以下命令分别测试巴黎街景、ImageNet 和伯克利校园数据集的样本：\n\n```Shell\n# 测试巴黎街景数据\nnet=models\u002FinpaintCenter\u002Fparis_inpaintCenter.t7 name=paris_result imDir=images\u002Fparis overlapPred=4 manualSeed=222 batchSize=21 gpu=1 th demo.lua\n\n# 测试 ImageNet 数据\nnet=models\u002FinpaintCenter\u002Fimagenet_inpaintCenter.t7 name=imagenet_result imDir=images\u002Fimagenet overlapPred=4 manualSeed=222 batchSize=21 gpu=1 th demo.lua\n\n# 测试伯克利校园数据\nnet=models\u002FinpaintCenter\u002Fparis_inpaintCenter.t7 name=ucberkeley_result imDir=images\u002Fucberkeley overlapPred=4 manualSeed=222 batchSize=4 gpu=1 th demo.lua\n```\n*注：若无 GPU，请将参数 `gpu=1` 改为 `gpu=0`。示例图片位于 `.\u002Fimages\u002F*` 目录中。*\n\n### 3.2 训练自己的模型\n\n#### 第一步：准备数据集\n创建数据集目录结构，并将训练集和验证集图片放入对应文件夹，然后建立软链接：\n```Shell\nmkdir -p \u002Fpath_to_wherever_you_want\u002Fmydataset\u002Ftrain\u002Fimages\u002F\n# 将所有训练图片放入 mydataset\u002Ftrain\u002Fimages\u002F\n\nmkdir -p \u002Fpath_to_wherever_you_want\u002Fmydataset\u002Fval\u002Fimages\u002F\n# 将所有验证图片放入 mydataset\u002Fval\u002Fimages\u002F\n\ncd context-encoder\u002F\nln -sf \u002Fpath_to_wherever_you_want\u002Fmydataset dataset\n```\n\n#### 第二步：开始训练\n根据需求选择训练**中心区域修复**或**随机区域修复**模型：\n\n**选项 A：训练中心区域修复模型**\n```Shell\nDATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintCenter overlapPred=4 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=128 gpu=1 th train.lua\n```\n\n**选项 B：训练随机区域修复模型**\n```Shell\n# 生成 128x128 图像\nDATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintRandomNoOverlap useOverlapPred=0 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=128 gpu=1 th train_random.lua\n\n# 或者生成 64x64 图像 (通常效果更好)\nDATA_ROOT=dataset\u002Ftrain display_id=11 name=inpaintRandomNoOverlap useOverlapPred=0 wtl2=0.999 nBottleneck=4000 niter=500 loadSize=350 fineSize=64 gpu=1 th train_random.lua\n```\n\n#### 第三步：测试模型\n训练完成后（例如 500 次迭代后），使用验证集测试模型效果：\n\n**测试中心区域模型**\n```Shell\nDATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintCenter_500_net_G.t7 name=test_patch overlapPred=4 manualSeed=222 batchSize=30 loadSize=350 gpu=1 th test.lua\n```\n\n**测试随机区域模型**\n```Shell\nDATA_ROOT=dataset\u002Fval net=checkpoints\u002FinpaintRandomNoOverlap_500_net_G.t7 name=test_patch_random useOverlapPred=0 manualSeed=222 batchSize=30 loadSize=350 gpu=1 th test_random.lua\n```","某数字档案馆正在对一批受损的 20 世纪巴黎街景老照片进行数字化修复，需要去除照片中心的污渍和划痕以还原历史风貌。\n\n### 没有 context-encoder 时\n- 修复工作高度依赖人工手绘或传统的 Photoshop 内容识别填充，处理每张高分辨率照片耗时极长，难以应对海量数据。\n- 传统算法仅基于像素邻域插值，生成的修复区域往往模糊不清，缺乏街道建筑应有的纹理细节和结构连贯性。\n- 无法理解图像的语义信息（如窗户、砖墙、路面），导致修复后的画面出现逻辑错误的拼接痕迹，破坏历史真实性。\n- 缺乏统一的自动化标准，不同修复师的处理结果风格不一，后期整理和质检成本高昂。\n\n### 使用 context-encoder 后\n- 利用预训练模型批量自动处理图像，将单张照片的修复时间从小时级缩短至秒级，大幅提升档案数字化效率。\n- 基于生成对抗网络（GAN）的架构能“想象”并生成逼真的高频纹理，使修复区域的砖石纹路和光影过渡自然清晰。\n- 通过无监督特征学习深刻理解图像语义，确保生成的建筑结构（如连续的屋檐、完整的车窗）在逻辑上合理且连贯。\n- 提供标准化的修复流程，无论输入何种受损程度的街景图，都能输出风格一致、质量稳定的高质量复原图像。\n\ncontext-encoder 通过将图像修复从“手工修补”升级为“语义生成”，在保留历史影像真实感的同时实现了大规模自动化处理。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpathak22_context-encoder_12ad5752.png","pathak22","Deepak Pathak","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fpathak22_31ed8329.jpg","CEO & Co-Founder @ Skild AI and Faculty @ CMU;\r\n(PhD @ UC Berkeley and BTech CS @ IIT Kanpur)","Skild AI, CMU","Pittsburgh, PA",null,"pathak2206","https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002F","https:\u002F\u002Fgithub.com\u002Fpathak22",[83,87],{"name":84,"color":85,"percentage":86},"Lua","#000080",98.9,{"name":88,"color":89,"percentage":90},"Shell","#89e051",1.1,906,202,"2026-04-12T16:20:56","NOASSERTION",5,"Linux, macOS","需要 NVIDIA GPU (运行命令中指定 gpu=1)，显存大小未说明，CUDA 版本未说明","未说明",{"notes":100,"python":101,"dependencies":102},"该工具基于旧的 Torch (Lua) 框架而非 Python PyTorch。安装需先安装 Torch (http:\u002F\u002Ftorch.ch)。代码改编自 DCGAN.torch。巴黎街景数据集因政策限制无法公开下载，需联系作者获取。支持中心区域修复和任意随机区域修复两种模式。","不适用 (基于 Lua\u002FTorch)",[103,104,105],"Torch (Lua)","luarocks","display (可选，用于可视化训练过程)",[15,14],[108,109,110,111,112,113,114,115,116,117],"image-inpainting","context-encoders","unsupervised-learning","machine-learning","generative-adversarial-network","deep-learning","computer-vision","gan","dcgan","computer-graphics","2026-03-27T02:49:30.150509","2026-04-15T10:58:41.683762",[121,126,131,136,141,145],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},34177,"如何获取 Paris StreetView 数据集？","该数据集不直接公开下载。您需要向作者 Deepak Pathak 发送电子邮件（地址可在其个人主页 https:\u002F\u002Fwww.cs.cmu.edu\u002F~dpathak\u002F 找到）申请访问权限。作者收到邮件后会回复您一个共享链接。请勿在 GitHub Issue 中直接索要或尝试私下转发数据集。","https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder\u002Fissues\u002F47",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},34178,"如何指定修复区域的位置（例如自定义掩码而不是随机或中心）？","如果您想训练随机区域修复模型，可以使用代码库中的 `train_random.lua` 脚本，具体说明请参阅 README 文件。需要注意的是，作者尚未针对随机区域修复调整超参数，仍有很大改进空间。如果您想手动指定验证图像上的白色补丁并禁用自动掩码，可能需要修改测试阶段的代码逻辑，建议参考相关提交记录或自行实现掩码生成逻辑。","https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder\u002Fissues\u002F5",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},34179,"如何使用预训练模型进行微调（Fine-tuning）或重新训练？","如果您的新数据集图像数量较大，建议从头开始训练。如果图像数量较少并希望基于预训练模型微调，可以参考 `demo.lua` 文件（第 27 行附近）了解如何加载网络权重。加载后的网络结构与 `train.lua`（第 82-196 行）中定义的结构一致，因此无需重新定义网络。这主要是 Torch 框架的使用问题，建议参考 Torch 官方教程了解具体的权重加载和微调流程。","https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder\u002Fissues\u002F35",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},34180,"论文中提到的 overlap 参数（重叠预测）在代码中默认是 0，是否应该使用？","是的，该参数用于测试阶段以提升效果。虽然论文中提到 overlap 为 7，但实际使用中可以根据效果调整。有用户测试发现，对于 ImageNet 预训练模型，设置 `overlapPred=4` 时效果较好，而设置为 3 时效果较差。您可以在运行 `demo.lua` 时通过添加参数 `overlapPred=4` 来启用它，例如：`th demo.lua net=models\u002FinpaintCenter\u002Fimagenet_inpaintCenter.t7 overlapPred=4 ...`。","https:\u002F\u002Fgithub.com\u002Fpathak22\u002Fcontext-encoder\u002Fissues\u002F39",{"id":142,"question_zh":143,"answer_zh":144,"source_url":140},34181,"损失函数中的重建权重（rec weight）和对抗权重（adv weight）必须加起来等于 1 吗？","不一定非要加起来等于 1。虽然在论文中设置的值为 0.999 + 0.001（总和为 1），但这只是为了平衡两项损失的量级。在实际训练中，您可以尝试不同的权重组合，只要它们能有效地平衡重建损失和对抗损失即可。关键是根据您的数据集和训练效果进行调整。",{"id":146,"question_zh":147,"answer_zh":148,"source_url":130},34182,"该算法是否支持更大尺寸的图像（例如 1024x1024）？","代码本身理论上可以处理更大尺寸的图像，但需要注意显存限制和训练时间。原始模型是在 128x128 的图像上训练的。如果要在 1024x1024 图像上运行，可能需要调整网络结构或分批处理。此外，如果在 ImageNet 这样的大数据集上重新训练不同补丁位置的模型，单张 GPU 可能需要约 6 天时间，因此处理大图像时请确保有足够的计算资源。",[]]