【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创建一个图片上色应用

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

相关推荐
后端小肥肠7 小时前
OpenClaw实战|从识图到公众号内容自动化,我跑通了完整链路
人工智能·aigc·agent
SharpCJ7 小时前
OpenClaw 大结局——接入个人微信
ai·aigc·openclaw·养龙虾
K姐研究社12 小时前
阿里JVS Claw实测 – 手机一键部署 OpenClaw,开箱即用
人工智能·智能手机·aigc·飞书
量子位12 小时前
黄仁勋要发Token当工资!硅谷兴起刷量大赛,一人一周烧掉33个维基百科
aigc
幸福的猪在江湖13 小时前
🚀 Claude Code 入门完全指南(一):安装与首次体验
aigc·ai编程
Hommy8813 小时前
【剪映小助手-客户端】构建与部署
python·aigc·剪映小助手
树獭叔叔14 小时前
GRPO:比PPO更简单的RLHF算法
后端·aigc·openai
树獭叔叔14 小时前
从RLHF到PPO:让AI学会说人话
后端·aigc·openai
沸点小助手14 小时前
「AI 能力提升场」沸点获奖名单公示|本周互动话题上新🎊
aigc·openai·vibecoding
程序员鱼皮16 小时前
微信正式接入 OpenClaw,Cursor 被锤套壳 Kimi… 本周最炸 AI 热点汇总
aigc·ai编程·资讯