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

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

相关推荐
Rocky Ding*2 小时前
Latent Consistency Models:一篇读懂扩散模型的少步生成核心基础知识
人工智能·深度学习·机器学习·ai作画·stable diffusion·aigc·ai-native
2601_956456348 小时前
5分钟学会:PaperPass如何进行AIGC片段检测
aigc
为码消得人憔悴8 小时前
从零开始搭建 Obsidian 知识库
人工智能·aigc·agent
大蚂蚁2号9 小时前
短视频批量生成技术深度解析与实战方案
python·aigc·音视频
Z-D-K9 小时前
考验AI的“自我和意识“-AI对《红楼梦》后40回的改写(21)
人工智能·ai·aigc·交互·agi
武子康9 小时前
Qwen3-TTS 模型如何选择:稳定音色、方言支持与克隆服务的工程化取舍
人工智能·aigc
宅小年12 小时前
我给微信装了个 AI 助手,事情开始变有意思了
人工智能·aigc
飘尘12 小时前
豆包里一句话就能P图生视频,背后究竟发生了什么?
前端·人工智能·aigc
柠檬味的Cat12 小时前
GEO优化系统是什么?具体做什么,有什么用?
大数据·人工智能·aigc