前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人脸写真FaceChain的简单部署记录(一)

人脸写真FaceChain的简单部署记录(一)

作者头像
悟乙己
发布2023-10-19 14:25:40
7510
发布2023-10-19 14:25:40
举报
文章被收录于专栏:素质云笔记素质云笔记
在这里插入图片描述
在这里插入图片描述

由【让你拥有专属且万能的AI摄影师+AI修图师——FaceChain迎来最大版本更新】这篇文章开始出发进行人脸写真的尝试,笔者之前modelscope申请过免费额度,这里有适配的GPU环境可以提供测试。 但是很难抢到GPU资源,需要等待很久,可能才能排到。

在这里插入图片描述
在这里插入图片描述

1 所需环境与资源要求

FaceChain是一个组合模型,使用了包括PyTorch和TensorFlow在内的机器学习框架,以下是已经验证过的主要环境依赖:

  • python环境: py3.8, py3.10
  • pytorch版本: torch2.0.0, torch2.0.1
  • tensorflow版本: 2.8.0, tensorflow-cpu
  • CUDA版本: 11.7
  • CUDNN版本: 8+
  • 操作系统版本: Ubuntu 20.04, CentOS 7.9
  • GPU型号: Nvidia-A10 24G

资源要求

  • GPU: 显存占用约19G
  • 磁盘: 推荐预留50GB以上的存储空间

2 环境部署

2.1 环境部署

因为使用的是免费额度的环境,目前暂不提供永久存储,实例重启后数据会丢失 官方教程里面有:

代码语言:javascript
复制
# Step1: 我的notebook -> PAI-DSW -> GPU环境

# Step2: 进入Notebook cell,执行下述命令从github clone代码:
!GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/modelscope/facechain.git --depth 1

# Step3: 切换当前工作路径
import os
os.chdir('/mnt/workspace/facechain')    # 注意替换成上述clone后的代码文件夹主路径
print(os.getcwd())

!pip3 install gradio
!pip3 install controlnet_aux==0.0.6
!pip3 install python-slugify
!python3 app.py

# Step4: 点击生成的URL即可访问web页面,上传照片开始训练和预测

不过,github访问看脸,有时候链接不上,需要手动去github下载facechain

一些辅助依赖也是需要安装的,可参考:facechain_demo.ipynb

2.2 遇到的几个报错

2.2.1 frpc_linux_amd64_v0.2 报错

启动facechain,并在选择风格的时候碰到了以下报错:

代码语言:javascript
复制
Could not create share link. 
Missing file: /xxxx/frpc_linux_amd64_v0.2. 

参考:基于docker快速搭建facechain环境 一种方式是手动添加这个文件,因为modelspace启动的pai-dsw可能不能访问huggingface网站

代码语言:javascript
复制
wget https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64
mv frpc_linux_amd64 frpc_linux_amd64_v0.2
mv frpc_linux_amd64_v0.2 /home/miniconda3/envs/llm/lib/python3.11/site-packages/gradio 
chmod +x frpc_linux_amd64_v0.2 // 注:要给该文件执行权限,否则会报3.3错误

但是呢,笔者又发现,这个问题其实可以忽略,后台自己还是可以正常install,属于一个很无厘头的提示报错

2.2.2 style 报错
在这里插入图片描述
在这里插入图片描述

在选择风格的时候出现的报错,正常选择之后,会出现上面的一个提示框,【秋日胡杨风(xxx)】,但笔者这里出现了:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
indexerror:list index out of range

经过debug才发现app.py的51行函数,出现了一个无厘头的报错,首先evt.value是一个list,[风格图片,风格名称],这里需要指定风格名称,需要改成evt.value[1]

代码语言:javascript
复制
# 原先的
def select_function(evt: gr.SelectData):
    matched = list(filter(lambda item: evt.value == item['name'], styles))
    style = matched[0]
    return gr.Text.update(value=style['name'], visible=True)

# 需要修改
def select_function(evt: gr.SelectData):
    matched = list(filter(lambda item: evt.value[1] == item['name'], styles))
    style = matched[0]
    return gr.Text.update(value=style['name'], visible=True)

也是很无语的一个问题…

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 所需环境与资源要求
  • 2 环境部署
    • 2.1 环境部署
      • 2.2 遇到的几个报错
        • 2.2.1 frpc_linux_amd64_v0.2 报错
        • 2.2.2 style 报错
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档