AnimateGAN 是一个基于 GAN 的动漫生成模型,可以将真实的场景照片转换成动漫形式。本文将介绍如何将 AnimateGAN 迁移到 Sophon 并使用 Streamlit 部署。
代码地址: https://github.com/sophgo/sophpi-shaolin
1. 模型概述
AnimateGAN 是基于CartoonGAN 的改进,并提出了一个更加轻量级的生成器架构。在论文中还提出了三个全新的损失函数用于提升风格化的动漫视觉效果,这三个损失函数分别是灰度风格损失,灰度对抗损失和颜色重建损失。
AnimateGAN 论文:AnimateGAN: A Generative Adversarial Network for Anime Character Animation
代码地址:https://github.com/TachibanaYoshino/AnimeGAN
体验地址: https://animegan.js.org/
2. 迁移过程
2.1 将ckpt 的权重文件转换为pb 的权重文件。
使用common_freeze_script.py 脚本将https://github.com/TachibanaYoshino/AnimeGAN 库存中ckpt 的权重文件转换为pb 的权重文件。
或者使用我们处理好的权重文件,执行 bash prepare.sh 下载并转换。
2.2 将pb 的权重文件迁移为 BM1684 bmodel 模型
使用 sophon sdk 的bmnett 命令将pb 的权重文件迁移为bmodel 模型。
具体为: python3 convert_pt_2_bmodel.py
如果执行bash prepare.sh 则不需要再转模型
2.3 迁移后pipeline搭建
使用sophon sail 加载和推理模型。
通过python3 inference.py --images_path 图片文件夹 --output_path 输出文件夹 命令进行推理,具体参数请参考脚本。
2.4 使用streamlit部署
安装依赖 pip3 install -r requirements.txt
执行 streamlit run demo_web.py 该命令会提示一个网址,打开网址即可进行体验。
3. 效果展示
选择图片后,即可进行推理,推理结果如下:
|