[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-zhanghang1989--PyTorch-Multi-Style-Transfer":3,"tool-zhanghang1989--PyTorch-Multi-Style-Transfer":62},[4,18,26,35,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,2,"2026-04-08T11:23:26",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[43,15,13,14],"语言模型",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":59,"last_commit_at":60,"category_tags":61,"status":17},5646,"opencv","opencv\u002Fopencv","OpenCV 是一个功能强大的开源计算机视觉库，被誉为机器视觉领域的“瑞士军刀”。它主要解决让计算机“看懂”图像和视频的核心难题，提供了从基础的图像读取、色彩转换、边缘检测，到复杂的人脸识别、物体追踪、3D 重建及深度学习模型部署等全方位算法支持。无论是处理静态图片还是分析实时视频流，OpenCV 都能高效完成特征提取与模式识别任务。\n\n这款工具特别适合计算机视觉开发者、人工智能研究人员以及机器人工程师使用。对于希望将视觉感知能力集成到应用中的软件工程师，或是需要快速验证算法原型的学术研究者，OpenCV 都是不可或缺的基础设施。虽然普通用户通常不会直接操作代码，但日常生活中使用的扫码支付、美颜相机和自动驾驶系统，背后往往都有它的身影。\n\nOpenCV 的独特亮点在于其卓越的性能与广泛的兼容性。它采用 C++ 编写以确保高速运算，同时提供 Python、Java 等多种语言接口，极大降低了开发门槛。库中内置了数千种优化算法，并支持跨平台运行，能够无缝对接各类硬件加速器。作为社区驱动的项目，OpenCV 拥有活跃的生态系统和丰富的学习资源，持续推动着视觉技术的前沿发展。",86988,1,"2026-04-08T16:06:22",[14,15],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"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":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":10,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":111,"github_topics":112,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":154},5874,"zhanghang1989\u002FPyTorch-Multi-Style-Transfer","PyTorch-Multi-Style-Transfer","Neural Style and MSG-Net","PyTorch-Multi-Style-Transfer 是一个基于 PyTorch 框架的开源项目，专注于图像风格迁移技术。它主要解决了传统神经风格迁移算法计算速度慢、难以实时应用的问题，同时提供了灵活的自定义训练方案。\n\n该项目核心包含了两种实现：一是经典的“慢速”神经风格迁移（Neural Style），适合对单张图片进行高质量的艺术化处理；二是其主打的 MSG-Net（多风格生成网络）。MSG-Net 的独特亮点在于能够在一个模型中集成多种艺术风格，并实现实时的图像转换，甚至支持通过摄像头进行即时视频风格化演示。用户只需加载预训练模型，即可快速将普通照片转化为印象派、点彩派等多种艺术效果。\n\n对于希望深入研究的学者和开发者，项目提供了完整的训练代码和数据集下载脚本，支持使用自定义风格图片集训练专属模型，并兼容 GPU 加速。无论是计算机视觉研究人员探索生成对抗网络，设计师寻找灵感素材，还是对 AI 绘画感兴趣的开发者想搭建实时演示，PyTorch-Multi-Style-Transfer 都是一个功能全面且易于上手的理想选择。","# PyTorch-Style-Transfer\n\nThis repo provides PyTorch Implementation of **[MSG-Net (ours)](#msg-net)** and **[Neural Style (Gatys et al. CVPR 2016)](#neural-style)**, which has been included by [ModelDepot](https:\u002F\u002Fmodeldepot.io\u002Fzhanghang\u002Fmulti-style-generative-network-for-real-time-transfer\u002Foverview). We also provide [Torch implementation](https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FMSG-Net\u002F) and [MXNet implementation](https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FMXNet-Gluon-Style-Transfer).\n\n**Tabe of content**\n\n* [Real-time Style Transfer using MSG-Net](#msg-net)\n\t- [Stylize Images using Pre-trained Model](#stylize-images-using-pre-trained-msg-net)\n\t- [Train Your Own MSG-Net Model](#train-your-own-msg-net-model)\n* [Slow Neural Style Transfer](#neural-style)\n\n## MSG-Net\n\u003Ctable width=\"100%\" border=\"0\" cellspacing=\"15\" cellpadding=\"0\">\n\t\u003Ctbody>\n\t\t\u003Ctr>\n\t\t\t\u003Ctd>\n\t\t\t\u003Cb>Multi-style Generative Network for Real-time Transfer\u003C\u002Fb>  [\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F1703.06953.pdf\">arXiv\u003C\u002Fa>] [\u003Ca href=\"http:\u002F\u002Fcomputervisionrutgers.github.io\u002FMSG-Net\u002F\">project\u003C\u002Fa>]  \u003Cbr>\n  \u003Ca href=\"http:\u002F\u002Fhangzh.com\u002F\">Hang Zhang\u003C\u002Fa>,  \u003Ca href=\"http:\u002F\u002Feceweb1.rutgers.edu\u002Fvision\u002Fdana.html\">Kristin Dana\u003C\u002Fa>\n\u003Cpre>\n@article{zhang2017multistyle,\n\ttitle={Multi-style Generative Network for Real-time Transfer},\n\tauthor={Zhang, Hang and Dana, Kristin},\n\tjournal={arXiv preprint arXiv:1703.06953},\n\tyear={2017}\n}\n\u003C\u002Fpre>\n\t\t\t\u003C\u002Ftd>\n\t\t\t\u003Ctd width=\"440\">\u003Ca>\u003Cimg src =\"https:\u002F\u002Fraw.githubusercontent.com\u002Fzhanghang1989\u002FMSG-Net\u002Fmaster\u002Fimages\u002Ffigure1.jpg\" width=\"420px\" border=\"1\">\u003C\u002Fa>\u003C\u002Ftd>\n\t\t\u003C\u002Ftr>\n\t\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n### Stylize Images Using Pre-trained MSG-Net\n0. Download the pre-trained model\n\t```bash\n\tgit clone git@github.com:zhanghang1989\u002FPyTorch-Style-Transfer.git\n\tcd PyTorch-Style-Transfer\u002Fexperiments\n\tbash models\u002Fdownload_model.sh\n\t```\n0. Camera Demo\n\t```bash\n\tpython camera_demo.py demo --model models\u002F21styles.model\n\t```\n\t![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhanghang1989_PyTorch-Multi-Style-Transfer_readme_85e6e0dcd0c5.gif)\n0. Test the model\n\t```bash\n\tpython main.py eval --content-image images\u002Fcontent\u002Fvenice-boat.jpg --style-image images\u002F21styles\u002Fcandy.jpg --model models\u002F21styles.model --content-size 1024\n\t```\n* If you don't have a GPU, simply set `--cuda=0`. For a different style, set `--style-image path\u002Fto\u002Fstyle`.\n\tIf you would to stylize your own photo, change the `--content-image path\u002Fto\u002Fyour\u002Fphoto`. \n\tMore options:\n\n\t* `--content-image`: path to content image you want to stylize.\n\t* `--style-image`: path to style image (typically covered during the training).\n\t* `--model`: path to the pre-trained model to be used for stylizing the image.\n\t* `--output-image`: path for saving the output image.\n\t* `--content-size`: the content image size to test on.\n\t* `--cuda`: set it to 1 for running on GPU, 0 for CPU.\n\n\u003Cimg src =\"images\u002F1.jpg\" width=\"260px\" \u002F> \u003Cimg src =\"images\u002F2.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F3.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F4.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F5.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F6.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F7.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F8.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F9.jpg\" width=\"260px\" \u002F>\n\n### Train Your Own MSG-Net Model\n0. Download the COCO dataset\n\t```bash\n\tbash dataset\u002Fdownload_dataset.sh\n\t```\n0. Train the model\n\t```bash\n\tpython main.py train --epochs 4\n\t```\n* If you would like to customize styles, set `--style-folder path\u002Fto\u002Fyour\u002Fstyles`. More options:\n\t* `--style-folder`: path to the folder style images.\n\t* `--vgg-model-dir`: path to folder where the vgg model will be downloaded.\n\t* `--save-model-dir`: path to folder where trained model will be saved.\n\t* `--cuda`: set it to 1 for running on GPU, 0 for CPU.\n\n## Neural Style\n\n[Image Style Transfer Using Convolutional Neural Networks](http:\u002F\u002Fwww.cv-foundation.org\u002Fopenaccess\u002Fcontent_cvpr_2016\u002Fpapers\u002FGatys_Image_Style_Transfer_CVPR_2016_paper.pdf) by Leon A. Gatys, Alexander S. Ecker, and Matthias Bethge.\n\n```bash\npython main.py optim --content-image images\u002Fcontent\u002Fvenice-boat.jpg --style-image images\u002F21styles\u002Fcandy.jpg\n```\n* `--content-image`: path to content image.\n* `--style-image`: path to style image.\n* `--output-image`: path for saving the output image.\n* `--content-size`: the content image size to test on.\n* `--style-size`: the style image size to test on.\n* `--cuda`: set it to 1 for running on GPU, 0 for CPU.\n\n\u003Cimg src =\"images\u002Fg1.jpg\" width=\"260px\" \u002F> \u003Cimg src =\"images\u002Fg2.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg3.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg4.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg5.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg6.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg7.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg8.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg9.jpg\" width=\"260px\" \u002F>\n\n### Acknowledgement\nThe code benefits from outstanding prior work and their implementations including:\n- [Texture Networks: Feed-forward Synthesis of Textures and Stylized Images](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1603.03417.pdf) by Ulyanov *et al. ICML 2016*. ([code](https:\u002F\u002Fgithub.com\u002FDmitryUlyanov\u002Ftexture_nets))\n- [Perceptual Losses for Real-Time Style Transfer and Super-Resolution](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1603.08155.pdf) by Johnson *et al. ECCV 2016* ([code](https:\u002F\u002Fgithub.com\u002Fjcjohnson\u002Ffast-neural-style)) and its pytorch implementation [code](https:\u002F\u002Fgithub.com\u002Fdarkstar112358\u002Ffast-neural-style) by Abhishek.\n- [Image Style Transfer Using Convolutional Neural Networks](http:\u002F\u002Fwww.cv-foundation.org\u002Fopenaccess\u002Fcontent_cvpr_2016\u002Fpapers\u002FGatys_Image_Style_Transfer_CVPR_2016_paper.pdf) by Gatys *et al. CVPR 2016* and its torch implementation [code](https:\u002F\u002Fgithub.com\u002Fjcjohnson\u002Fneural-style) by Johnson.\n","# PyTorch-风格迁移\n\n本仓库提供了 **[MSG-Net（我们的方法）](#msg-net)** 和 **[神经风格迁移（Gatys 等人，CVPR 2016）](#neural-style)** 的 PyTorch 实现，这些实现已被 [ModelDepot](https:\u002F\u002Fmodeldepot.io\u002Fzhanghang\u002Fmulti-style-generative-network-for-real-time-transfer\u002Foverview) 收录。我们还提供了 [Torch 实现](https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FMSG-Net\u002F) 和 [MXNet 实现](https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FMXNet-Gluon-Style-Transfer)。\n\n**目录**\n\n* [使用 MSG-Net 进行实时风格迁移](#msg-net)\n\t- [使用预训练模型对图像进行风格化](#stylize-images-using-pre-trained-msg-net)\n\t- [训练您自己的 MSG-Net 模型](#train-your-own-msg-net-model)\n* [慢速神经风格迁移](#neural-style)\n\n## MSG-Net\n\u003Ctable width=\"100%\" border=\"0\" cellspacing=\"15\" cellpadding=\"0\">\n\t\u003Ctbody>\n\t\t\u003Ctr>\n\t\t\t\u003Ctd>\n\t\t\t\u003Cb>用于实时迁移的多风格生成网络\u003C\u002Fb>  [\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F1703.06953.pdf\">arXiv\u003C\u002Fa>] [\u003Ca href=\"http:\u002F\u002Fcomputervisionrutgers.github.io\u002FMSG-Net\u002F\">项目\u003C\u002Fa>]  \u003Cbr>\n  \u003Ca href=\"http:\u002F\u002Fhangzh.com\u002F\">张航\u003C\u002Fa>,  \u003Ca href=\"http:\u002F\u002Feceweb1.rutgers.edu\u002Fvision\u002Fdana.html\">克里斯汀·达纳\u003C\u002Fa>\n\u003Cpre>\n@article{zhang2017multistyle,\n\ttitle={Multi-style Generative Network for Real-time Transfer},\n\tauthor={Zhang, Hang and Dana, Kristin},\n\tjournal={arXiv preprint arXiv:1703.06953},\n\tyear={2017}\n}\n\u003C\u002Fpre>\n\t\t\t\u003C\u002Ftd>\n\t\t\t\u003Ctd width=\"440\">\u003Ca>\u003Cimg src =\"https:\u002F\u002Fraw.githubusercontent.com\u002Fzhanghang1989\u002FMSG-Net\u002Fmaster\u002Fimages\u002Ffigure1.jpg\" width=\"420px\" border=\"1\">\u003C\u002Fa>\u003C\u002Ftd>\n\t\t\u003C\u002Ftr>\n\t\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n### 使用预训练的 MSG-Net 对图像进行风格化\n0. 下载预训练模型\n\t```bash\n\tgit clone git@github.com:zhanghang1989\u002FPyTorch-Style-Transfer.git\n\tcd PyTorch-Style-Transfer\u002Fexperiments\n\tbash models\u002Fdownload_model.sh\n\t```\n0. 相机演示\n\t```bash\n\tpython camera_demo.py demo --model models\u002F21styles.model\n\t```\n\t![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhanghang1989_PyTorch-Multi-Style-Transfer_readme_85e6e0dcd0c5.gif)\n0. 测试模型\n\t```bash\n\tpython main.py eval --content-image images\u002Fcontent\u002Fvenice-boat.jpg --style-image images\u002F21styles\u002Fcandy.jpg --model models\u002F21styles.model --content-size 1024\n\t```\n* 如果您没有 GPU，只需将 `--cuda` 设置为 0。对于不同的风格，设置 `--style-image path\u002Fto\u002Fstyle`。如果您想对自己的照片进行风格化，请更改 `--content-image path\u002Fto\u002Fyour\u002Fphoto`。更多选项：\n\n\t* `--content-image`: 您想要风格化的内容图像路径。\n\t* `--style-image`: 风格图像路径（通常在训练过程中使用）。\n\t* `--model`: 用于风格化图像的预训练模型路径。\n\t* `--output-image`: 保存输出图像的路径。\n\t* `--content-size`: 用于测试的内容图像尺寸。\n\t* `--cuda`: 设置为 1 表示在 GPU 上运行，0 表示在 CPU 上运行。\n\n\u003Cimg src =\"images\u002F1.jpg\" width=\"260px\" \u002F> \u003Cimg src =\"images\u002F2.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F3.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F4.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F5.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F6.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F7.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F8.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002F9.jpg\" width=\"260px\" \u002F>\n\n### 训练您自己的 MSG-Net 模型\n0. 下载 COCO 数据集\n\t```bash\n\tbash dataset\u002Fdownload_dataset.sh\n\t```\n0. 训练模型\n\t```bash\n\tpython main.py train --epochs 4\n\t```\n* 如果您想自定义风格，可以设置 `--style-folder path\u002Fto\u002Fyour\u002Fstyles`。更多选项：\n\t* `--style-folder`: 风格图像文件夹的路径。\n\t* `--vgg-model-dir`: VGG 模型将被下载到的文件夹路径。\n\t* `--save-model-dir`: 训练好的模型将被保存到的文件夹路径。\n\t* `--cuda`: 设置为 1 表示在 GPU 上运行，0 表示在 CPU 上运行。\n\n## 神经风格迁移\n\n[使用卷积神经网络进行图像风格迁移](http:\u002F\u002Fwww.cv-foundation.org\u002Fopenaccess\u002Fcontent_cvpr_2016\u002Fpapers\u002FGatys_Image_Style_Transfer_CVPR_2016_paper.pdf) 由 Leon A. Gatys、Alexander S. Ecker 和 Matthias Bethge 撰写。\n\n```bash\npython main.py optim --content-image images\u002Fcontent\u002Fvenice-boat.jpg --style-image images\u002F21styles\u002Fcandy.jpg\n```\n* `--content-image`: 内容图像的路径。\n* `--style-image`: 风格图像的路径。\n* `--output-image`: 保存输出图像的路径。\n* `--content-size`: 用于测试的内容图像尺寸。\n* `--style-size`: 用于测试的风格图像尺寸。\n* `--cuda`: 设置为 1 表示在 GPU 上运行，0 表示在 CPU 上运行。\n\n\u003Cimg src =\"images\u002Fg1.jpg\" width=\"260px\" \u002F> \u003Cimg src =\"images\u002Fg2.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg3.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg4.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg5.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg6.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg7.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg8.jpg\" width=\"260px\" \u002F>\n\u003Cimg src =\"images\u002Fg9.jpg\" width=\"260px\" \u002F>\n\n### 致谢\n该代码受益于许多杰出的先前工作及其实现，包括：\n- [纹理网络：纹理和风格化图像的前馈合成](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1603.03417.pdf) 由 Ulyanov 等人在 ICML 2016 上提出。（[代码](https:\u002F\u002Fgithub.com\u002FDmitryUlyanov\u002Ftexture_nets)）\n- [用于实时风格迁移和超分辨率的感知损失](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1603.08155.pdf) 由 Johnson 等人在 ECCV 2016 上提出（[代码](https:\u002F\u002Fgithub.com\u002Fjcjohnson\u002Ffast-neural-style)），以及其 PyTorch 实现 [代码](https:\u002F\u002Fgithub.com\u002Fdarkstar112358\u002Ffast-neural-style) 由 Abhishek 提供。\n- [使用卷积神经网络进行图像风格迁移](http:\u002F\u002Fwww.cv-foundation.org\u002Fopenaccess\u002Fcontent_cvpr_2016\u002Fpapers\u002FGatys_Image_Style_Transfer_CVPR_2016_paper.pdf) 由 Gatys 等人在 CVPR 2016 上提出，以及其 Torch 实现 [代码](https:\u002F\u002Fgithub.com\u002Fjcjohnson\u002Fneural-style) 由 Johnson 提供。","# PyTorch-Multi-Style-Transfer 快速上手指南\n\n本指南基于 `PyTorch-Style-Transfer` 仓库，帮助您快速体验实时多风格迁移（MSG-Net）及经典神经风格迁移（Neural Style）。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux 或 macOS（Windows 用户建议使用 WSL2 或 Docker）\n*   **Python**：Python 3.6+\n*   **深度学习框架**：PyTorch (建议安装支持 CUDA 的版本以加速推理)\n*   **依赖库**：\n    ```bash\n    pip install torch torchvision numpy pillow scipy\n    ```\n*   **硬件建议**：虽然支持 CPU 运行，但为了获得实时的风格迁移效果，强烈建议使用 NVIDIA GPU。\n\n## 安装步骤\n\n1.  **克隆项目代码**\n    ```bash\n    git clone git@github.com:zhanghang1989\u002FPyTorch-Style-Transfer.git\n    cd PyTorch-Style-Transfer\n    ```\n\n2.  **下载预训练模型**\n    进入实验目录并执行下载脚本，获取包含 21 种风格的预训练 MSG-Net 模型：\n    ```bash\n    cd experiments\n    bash models\u002Fdownload_model.sh\n    ```\n    > **提示**：如果下载速度较慢，可手动访问仓库释放页下载 `21styles.model` 文件并放入 `models\u002F` 目录。\n\n3.  **准备数据集（仅训练时需要）**\n    如果您打算从头训练模型，需先下载 COCO 数据集：\n    ```bash\n    bash dataset\u002Fdownload_dataset.sh\n    ```\n\n## 基本使用\n\n本项目提供两种主要模式：**实时风格迁移 (MSG-Net)** 和 **慢速神经风格优化 (Neural Style)**。\n\n### 1. 实时风格迁移 (MSG-Net)\n\n这是推荐的使用方式，速度快，适合处理图片或视频流。\n\n*   **测试单张图片**\n    将内容图片 `venice-boat.jpg` 转换为 `candy` 风格：\n    ```bash\n    python main.py eval --content-image images\u002Fcontent\u002Fvenice-boat.jpg --style-image images\u002F21styles\u002Fcandy.jpg --model models\u002F21styles.model --content-size 1024\n    ```\n    *   若无 GPU，添加参数 `--cuda 0`。\n    *   更换风格：修改 `--style-image` 路径指向 `images\u002F21styles\u002F` 下的其他图片。\n    *   处理自己的照片：修改 `--content-image` 路径。\n\n*   **摄像头实时演示**\n    调用摄像头进行实时风格化（需要 webcam 权限）：\n    ```bash\n    python camera_demo.py demo --model models\u002F21styles.model\n    ```\n\n### 2. 训练自定义模型\n\n如果您想使用特定的艺术风格训练自己的模型：\n\n```bash\npython main.py train --epochs 4 --style-folder path\u002Fto\u002Fyour\u002Fstyles\n```\n*   `--style-folder`: 存放您自定义风格图片的文件夹路径。\n*   `--epochs`: 训练轮数，默认示例为 4 轮。\n*   生成的模型将保存在 `--save-model-dir` 指定的目录中。\n\n### 3. 经典神经风格迁移 (Neural Style)\n\n基于 Gatys et al. (CVPR 2016) 的方法，通过迭代优化生成高质量但速度较慢的风格图：\n\n```bash\npython main.py optim --content-image images\u002Fcontent\u002Fvenice-boat.jpg --style-image images\u002F21styles\u002Fcandy.jpg\n```\n*   该方法无需预训练模型，直接通过优化像素生成结果。\n*   可通过 `--content-size` 和 `--style-size` 分别调整内容和风格图的分辨率。","一家数字营销机构的设计团队需要为旅游客户快速生成一系列具有不同艺术风格的宣传海报，以适配社交媒体上的多样化推广需求。\n\n### 没有 PyTorch-Multi-Style-Transfer 时\n- **效率低下**：设计师必须手动使用 Photoshop 逐张调整滤镜和纹理，处理一张高清图片往往耗时数小时，难以应对大批量需求。\n- **风格单一且固化**：传统滤镜只能提供有限的预设效果，无法灵活模仿特定的名家画作（如印象派或浮世绘），导致创意受限。\n- **实时反馈缺失**：若采用早期的神经风格迁移算法，每张图渲染需数分钟甚至更久，团队无法在现场与客户即时确认效果并调整。\n- **训练成本高昂**：若想定制专属风格，重新训练模型通常需要复杂的框架切换和漫长的等待，技术门槛极高。\n\n### 使用 PyTorch-Multi-Style-Transfer 后\n- **实时生成提速**：利用 MSG-Net 模型，团队能在秒级时间内将同一张风景照转换为多种艺术风格，甚至支持摄像头实时预览，极大缩短了创作周期。\n- **多风格自由切换**：只需加载预训练的 `21styles.model` 或指定新的风格图，即可一键实现从“糖果色”到“星空夜”的无缝切换，创意落地无障碍。\n- **低门槛自定义训练**：开发人员可使用简单的 Python 命令指向自定义风格文件夹，在标准 GPU 上几小时内即可训练出机构专属的风格模型。\n- **资源灵活部署**：工具支持 CPU 模式运行，即便在没有高端显卡的普通办公电脑上也能进行基础的样式测试，降低了硬件依赖。\n\nPyTorch-Multi-Style-Transfer 通过将复杂的神经风格迁移转化为实时、可定制的工业化流程，让创意团队从繁琐的修图中解放，专注于内容策划与艺术表达。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhanghang1989_PyTorch-Multi-Style-Transfer_3a1c9772.png","zhanghang1989","Hang Zhang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fzhanghang1989_6159fbdd.png","\r\n    Hang Zhang (张航)\r\n",null,"zhanghang@fb.com","zhanghang0704","https:\u002F\u002Fhangzhang.org\u002F","https:\u002F\u002Fgithub.com\u002Fzhanghang1989",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Jupyter Notebook","#DA5B0B",96.7,{"name":88,"color":89,"percentage":90},"Python","#3572A5",3.2,{"name":92,"color":93,"percentage":94},"Shell","#89e051",0,{"name":96,"color":97,"percentage":94},"Dockerfile","#384d54",1012,201,"2026-03-25T17:07:14","MIT","Linux, macOS, Windows","非必需。支持 CUDA GPU 加速（通过 --cuda=1 启用），若无 GPU 可设置为 CPU 模式（--cuda=0）。未指定具体显卡型号、显存大小或 CUDA 版本要求。","未说明",{"notes":106,"python":104,"dependencies":107},"该项目同时支持实时风格迁移（MSG-Net）和慢速优化风格迁移（Neural Style）。若无 GPU，可通过设置参数 '--cuda=0' 在 CPU 上运行，但速度较慢。训练自定义模型需下载 COCO 数据集。预训练模型和 VGG 模型需在首次运行时下载。代码提供了 Bash 脚本用于下载模型和数据集，Windows 用户可能需要手动执行下载步骤或调整脚本。",[108,109,110],"PyTorch","torchvision (隐含，用于加载预训练 VGG 模型)","numpy (隐含，图像处理通用依赖)",[15],[113,114,115],"style-transfer","deep-neural-networks","real-time","2026-03-27T02:49:30.150509","2026-04-09T21:36:23.630611",[119,124,129,134,139,144,149],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},26660,"训练完成后生成了多个 .model 文件，应该使用哪一个？","代码会在训练过程中每隔几次迭代保存一次检查点（checkpoint），这些仅用于恢复训练。请务必使用最终生成的模型文件进行测试和推理。如果您看到多个文件且不确定，通常是因为训练过程未完整结束，建议重新运行训练脚本直到完成，以获取最终的模型文件。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F4",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},26661,"如何正确恢复（resume）中断的训练？恢复后迭代次数归零正常吗？","恢复训练时，程序只加载权重参数，而不关心之前的 epoch 或迭代次数（iterations）。因此，即使日志显示从第 0 次迭代开始，只要权重已加载，训练就会基于现有模型继续优化并变得更好。您可以随时停止并在之后通过添加 `--resume \u003C模型路径>` 参数继续训练，甚至可以增加 `--epochs` 的数量来延长训练时间。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F5",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},26662,"运行时报错 'TypeError: unhashable type: numpy.ndarray' 且涉及 vgg16.t7 文件怎么办？","这通常是由于 PyTorch 版本不兼容导致的。维护者确认该代码在 PyTorch 1.4.0 版本下仍可正常工作（特别是 MSG-Net）。如果遇到此类错误，建议尝试将 PyTorch 降级至 1.4.0 版本。注意：降级 PyTorch 可能也需要匹配相应版本的 CUDA。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F38",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},26663,"运行 camera.py 或 demo 时提示缺少 args.demo_size 或相关变量默认值是多少？","demo_size 的值取决于您的 GPU 性能。如果您使用的是笔记本电脑的 GPU，维护者建议将 demo_size 设置为 320。您可以根据显存大小适当调整该数值以避免内存溢出。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F9",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},26664,"在 Linux 上运行优化（optim）过程速度极慢且 GPU 利用率低怎么办？","这通常是因为安装了与当前 CUDA 版本不匹配的 PyTorch 版本。例如，如果系统安装的是 CUDA 8.0，但 PyTorch 是为 CUDA 7.5 编译的，会导致初始化极慢。解决方法是卸载当前版本并强制重装匹配您 CUDA 版本的 PyTorch。例如对于 CUDA 8.0，可运行：`sudo -H pip3 install --upgrade --force-reinstall http:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu80\u002Ftorch-0.3.0.post4-cp35-cp35m-linux_x86_64.whl`（请根据您的具体 Python 版本和 CUDA 版本替换 URL）。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F8",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},26665,"在 CPU 模式下运行 demo 时报错 'TypeError: torch.FloatTensor object is not callable' 如何解决？","这是代码中针对 CPU\u002FGPU 的条件判断逻辑写反了导致的。请打开 `camera_demo.py` 文件，找到第 56 行左右的代码，将原本判断 `if args.cuda` 的逻辑修改为 `if not args.cuda`（或者交换 if\u002Felse 块的内容），确保在非 CUDA 模式下执行正确的数据处理流程即可解决。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F7",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},26666,"该项目支持视频风格迁移中的时序一致性（Temporal Coherence）吗？","目前该代码库主要专注于单张图片的风格迁移，维护者表示没有太多视频风格迁移的经验，代码中暂未包含专门针对视频帧间时序一致性（Temporal Coherence）的处理技术。如果需要对视频进行处理，可能需要自行研究并添加相关算法以减少帧间闪烁伪影。","https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Multi-Style-Transfer\u002Fissues\u002F10",[155],{"id":156,"version":157,"summary_zh":158,"released_at":159},171867,"v0.1","添加预训练模型权重","2022-05-12T01:33:13"]