前言
前面我们尝试了在Hugging Face上创建文本生成、情感分析以及文生图应用,今天我们再看一个有意思的项目,使用DDColor模型在Hugging Face上创建一个黑白图上色的应用,对往期内容感兴趣的小伙伴也可以看往期:
- 【Hugging Face】Hugging Face Transformers的使用方式
- 【Hugging Face】Hugging Face Diffusers的使用方式
- 【Hugging Face实战】创建一个文本生成应用
- 【Hugging Face实战】创建一个情感分析应用
- 【Hugging Face实战】使用Gradio创建一个文生图应用
创建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创建一个图片上色应用
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。