【Hugging Face实战】使用Gradio创建一个图片上色应用

前言

前面我们尝试了在Hugging Face上创建文本生成、情感分析以及文生图应用,今天我们再看一个有意思的项目,使用DDColor模型在Hugging Face上创建一个黑白图上色的应用,对往期内容感兴趣的小伙伴也可以看往期:

创建Space应用

首先在Hugging Face上创建一个Gradio 空白模版应用,详细创建流程可以查看之前这篇文章:
【Hugging Face】Hugging Face Space空间的基本使用方式

创建完成后将项目克隆到本地,我们将拥有一个类似的项目结构:

简介

DDColor是一种基于深度学习的图像上色技术,它利用卷积神经网络(CNN)对黑白图像进行上色处理。该模型通常包含一个编码器和一个解码器,编码器提取图像的特征,解码器则根据这些特征生成颜色。DDColor模型能够处理多种类型的图像,并生成自然且逼真的颜色效果。它在图像编辑、电影后期制作以及历史照片修复等领域有广泛的应用。

搭建图片上色应用

本示例以 DDColor 模型项目为例搭建文本生成应用

Github地址:github.com/piddnad/DDC...

魔搭社区体验地址:www.modelscope.cn/models/iic/...

缓存模型

php 复制代码
$ pip install modelscope
python 复制代码
from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('damo/cv_ddcolor_image-colorization', cache_dir='./modelscope')
print('model assets saved to %s' % model_dir)

缓存完成后,我们将得到模型目录结构如下:

复制代码
modelscope                           
└─ damo                              
   └─ cv_ddcolor_image-colorization  
      └─ pytorch_model.pt            

克隆项目

DDColor提供了DDColor模型的最佳实践封装,因为DDColor没有提供可以通过pip安装的依赖库,我们使用DDColor需要先将DDColor源代码克隆下来

shell 复制代码
$ git clone https://github.com/piddnad/DDColor.git

DDColor项目克隆下来以后,项目结构如下:

我们需要删除 assets 目录,该目录为DDColor项目README的效果展示资源目录,不删除提交到Hugging Face Spaces时会报错,Hugging Face对二进制文件有限制

项目整合

准备好DDColor模型和DDColor工具库之后,将DDColor模型和工具库拷贝到Hugging Face image-colorization 项目中(注意DDColor工具库项目中除了README.md 和 assets 不要,其他的都要),完成后我们可以得到一个完整的项目,项目结构如下:

修改 gradio_app.py 文件为 app.py,或者修改Hugging Face项目REAEME.md 中的 app_file 为 gradio_app.py

最后修改 requirements.txt 中的 dlib==19.24.2 为 dlib-bin==19.24.2,在Hugging Face上dlib库编译时会报错,详细内容可见【常见问题】

准备完成后,最终的目录结构如下:

运行 python app.py 启动服务,在浏览器中打开效果如下

随便找张黑白图测试一下效果,拖动ImageSlider组件查看效果对比

在线体验

在线体验地址:huggingface.co/spaces/zhou...

常见问题

Failed to build dlib

Hugging Face编译报错,出现该问题的原因是【容器缺系统依赖 + CMake 版本不兼容】,解决方案是把 dlib==19.24.2 改成 dlib-bin==19.24.2

Push was rejected

DDColor工具项目中包含图片,使用 git lfs 添加track仍然报错,尝试把DDColor项目中的 assets 目录移除后重新提交,该目录也不是项目必要的。

友情提示

见原文:【Hugging Face实战】使用Gradio创建一个图片上色应用

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。

相关推荐
ServBay2 小时前
GPT-6.1 Terra 单价降了一半,修 bug 更省了吗?
gpt·chatgpt·aigc
Behavior3 小时前
16天,他用Opus 5.5把《小王子》做成3D游戏,书里的星球能逛了
aigc·unity3d·游戏开发
threerocks7 小时前
2026 深度盘点:我评估了 369 个 Claude/CodeX AI 视频与自动化剪辑开源项目
aigc·openai·ai编程
全栈探索者9 小时前
一枚 162MB 的挂件,改写一只猫的画风:LoRA 实战——风格定制与人脸保持
人工智能·macos·lora·aigc·stablediffusion·comfyui
TomEval9 小时前
【测AI】第20篇:大模型安全测试 —— 越狱攻击与防护
人工智能·python·功能测试·ai·aigc·测试用例·安全性测试
Dawson Zhu10 小时前
【AI编译器入门②】TVM架构拆解:Relay、Relax、TIR与Runtime四层结构
人工智能·语言模型·架构·aigc·agi
Dawson Zhu11 小时前
【AI编译器入门③】编译前端:ONNX、TorchScript与动态shape处理
人工智能·语言模型·架构·aigc·agi
科起点AI11 小时前
初稿写作指南:用科起点AI从文献阅读到初稿生成
人工智能·aigc·ai写作
贾公子1 天前
图片 AIGC 检测接入实战——URL 与 Base64 的取舍、体积校验与「你送过去的可能不是那张图」
python·aigc
读完一本书1 天前
AI 生成的图,为什么一眼就能看出是 AI?5 个破绽
人工智能·aigc