腾讯的这个算法,我搬到了网上,随便玩!

简介: 腾讯的这个算法,我搬到了网上,随便玩!

大家好,之前向大家介绍并跑通了腾讯开源的老照片修复算法(AI 黑科技,老照片修复,模糊变高清),同时我也提到官方提供的3个线上试玩版体验都不好。所以我微调了一下官方 Demo,使用最新的V1.3预训练模型且输出whole-image,大家先感受一下:


https://huggingface.co/spaces/beihai/GFPGAN-V1.3-whole-image


640.png


GFPGAN + Gradio + Huggingface 这三者我都是刚接触,揉在一起还是挺好玩的。下面我就将整个实现过程详细介绍一下


克隆官方Demo


GFPGAN 的官方 Demo 就属 Huggingface 体验还行,缺点是只输出人脸且使用的是老模型。

640.png


https://huggingface.co/spaces/akhaliq/GFPGAN


clone 之前先安装git lfs


LFS是Large File Storage的缩写,用了帮助git管理大的文件


sudo apt-get install git-lfs
git init # 这一步必须
sudo git lfs install 
# 安装完成克隆GFPGAN
git clone https://huggingface.co/spaces/akhaliq/GFPGAN


克隆后我直接运行了一下 python app.py,出现了两个报错,大家如果有遇到可以参考一下。


报错1:ERROR: Exception in ASGI application


解决pip install aiofiles


报错2:There is no current event loop in thread 'Thread-2'


解决:参考这这篇文章


https://www.cnblogs.com/SunshineKimi/p/12053914.html


具体就是在uvicorn的server.py 加上一句 new_loop = asyncio.new_event_loop()


640.png

Gradio


Huggingface 上的 GFPGAN Demo 是用 Gradio 实现的。


Gradio是MIT的开源项目,使用gradio,只需在原有的代码中增加几行,就能自动化生成交互式web页面,并支持多种输入输出格式,比如图像分类中的图>>标签,超分辨率中的图>>图等。同时还支持生成能外部网络访问的链接,能够迅速让他人体验你的算法。


Gradio 的定位类似于 Streamlit,但是更轻量(一行代码),因为它推荐的应用场景都是对“单个函数”进行调用的应用,并且不需要对组件进行回调。

640.gif


https://www.gradio.app


顺便提一下,我之前已对 Streamlit 有详细介绍并开发了几个小东西:



我也是第一次接触 gradio ,它的安装很简单:pip install gradio

从零学起我只看了官方文档,用法也只看了 Interface ,耗时半个小时。


# getting_started
https://www.gradio.app/getting_started/
# docs
https://www.gradio.app/docs/
# github
https://github.com/gradio-app/gradio


代码修改


官方Demo的代码我只修改已下几处:


  • 修改model_path,直接将下载好的V1.3预训练模型放到了experiments/pretrained_models下。
  • 修改 inference(img),展现restored_img


restorer = GFPGANer(
    model_path='experiments/pretrained_models/GFPGANv1.3.pth',
    upscale=2,
    arch='clean',
    channel_multiplier=2,
    bg_upsampler=bg_upsampler)
def inference(img):
    input_img = cv2.imread(img, cv2.IMREAD_COLOR)
    cropped_faces, restored_faces, restored_img = restorer.enhance(
        input_img, has_aligned=False, only_center_face=False, paste_back=True)
    return Image.fromarray(restored_img[:, :, ::-1])


改完后可以python app.py先看一下效果:

640.png

它会自动生成一个本地静态交互页面,浏览器会自动跳转到 http://127.0.0.1:7860

640.png

那个gradio.app的链接可以分享,有效期 72 小时。


上传到Huggingface


step1:注册Huggingface账号,略。


step2:创建Space,SDK记得选择Gradio


640.png


step3:克隆新建的space代码,然后将改好的代码push上去


git lfs install 
git add .
git commit -m "commit from $beihai"
git push


push的时候会让输入用户名(就是你的注册邮箱)和密码,解决git总输入用户名和密码的问题:git config --global credential.helper store


push完成就大功告成了,回到你的space页对应项目,就可以看到效果了。


https://huggingface.co/spaces/beihai/GFPGAN-V1.3-whole-image


640.png


不过Huggingface也时常500,大家多试试吧,毕竟免费。


640.png

相关文章
|
1月前
|
算法 前端开发 Java
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
这篇文章总结了单链表的常见面试题,并提供了详细的问题分析、思路分析以及Java代码实现,包括求单链表中有效节点的个数、查找单链表中的倒数第k个节点、单链表的反转以及从尾到头打印单链表等题目。
32 1
数据结构与算法学习四:单链表面试题,新浪、腾讯【有难度】、百度面试题
|
4月前
|
机器学习/深度学习 数据采集 人工智能
算法金 | 致敬深度学习三巨头:不愧是腾讯,LeNet问的巨细。。。
**LeNet 摘要** - LeNet 是 Yann LeCun 在 1989 年提出的卷积神经网络,用于手写数字识别,是深度学习和计算机视觉的里程碑。 - 网络结构包括卷积层(C1, C3, C5)、池化层(S2, S4)和全连接层(F6),处理 32x32 灰度图像,最终分类为 10 类。 - 卷积层提取特征,池化层降低维度,全连接层负责分类。激活函数主要使用 Sigmoid。 - LeNet 在 MNIST 数据集上表现优秀,但现代网络常使用 ReLU 激活和更深结构。 - LeNet 的局限性包括网络较浅、Sigmoid 梯度消失问题和平均池化,但其创新为后续 CNN 发展铺平道路
52 1
算法金 | 致敬深度学习三巨头:不愧是腾讯,LeNet问的巨细。。。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 不愧是腾讯,问基础巨细节 。。。
**摘要:** 本文介绍了Adaboost算法的基本概念、工作原理和数学基础,它是由 Freund 和 Schapire 在 1996 年提出的迭代机器学习算法,通过组合多个弱分类器形成强分类器。Adaboost 通过调整样本权重,重点关注被错误分类的样本,以提高分类性能。文章还提供了代码示例,展示了如何使用决策树作为弱分类器,并在鸢尾花数据集上应用 Adaboost 分类器。此外,还讨论了Adaboost的优缺点及适用场景,强调其在分类问题上的高效性和广泛应用。
46 1
算法金 | 不愧是腾讯,问基础巨细节 。。。
|
6月前
|
算法 架构师 网络协议
对标腾讯T9架构师的 Android 面试题新鲜出炉,算法真的太重要了
对标腾讯T9架构师的 Android 面试题新鲜出炉,算法真的太重要了
|
6月前
|
存储 算法
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
|
6月前
|
存储 人工智能 算法
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
|
6月前
|
算法 搜索推荐
太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记
经历过校招的人都知道,算法和数据结构都是不可避免的。 在笔试的时候,最主要的就是靠算法题。像拼多多、头条这种大公司,上来就来几道算法题,如果你没AC出来,面试机会都没有。
|
6月前
|
算法 程序员
腾讯T4纯手打《数据结构和算法》源码笔记,学完一脚踢进大厂
经历过互联网公司面试的同学大概都知道,数据结构和算法的知识技术栈是不可避免的,并且在笔试中,最重要的是靠算法题,尤其像头条这种大厂公司,上来就是算法题,答不出来的基本面试机会也不会有了。
|
算法
压缩算法 【腾讯2020校园招聘-后台&综合-第一次笔试 】
压缩算法 【腾讯2020校园招聘-后台&综合-第一次笔试 】
86 0
|
Kubernetes 算法 关系型数据库
No.3 腾讯,阿里,字节,优科面经(上-算法篇)
No.3 腾讯,阿里,字节,优科面经(上-算法篇)