当前位置: 首页 > news >正文

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

在这里插入图片描述

由【让你拥有专属且万能的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 环境部署

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

# 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,并在选择风格的时候碰到了以下报错:

Could not create share link. 
Missing file: /xxxx/frpc_linux_amd64_v0.2. 

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

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)】,但笔者这里出现了:
在这里插入图片描述

indexerror:list index out of range

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

# 原先的
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)

也是很无语的一个问题…

相关文章:

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

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

linux虚机新增加磁盘后在系统中查不到

问题描述 在虚机管理平台上对某一linux主机添加了一块硬盘,但在系统中并未显示 通过执行 lsblk,并未看到新增的硬盘信息 解决方法 1. 可通过重启服务器解决 2. 如果不能重启服务器,可重新扫描下 scsi总线 查看总线: ls /s…...

js中隐式类型转换与toPrimitive

前言 我们知道Js的隐式类型转换主要出现在有运算符的情况下【逻辑运算符、关系运算符、算术运算符】。那么在接触toPrimitive之前,我们需要先知道其他值到某个类型值的转换规则。 其他值到数值的转换规则 Boolean: true — 1 false — 0 Null&#xf…...

家政系统预约小程序具备哪些功能?

预约家政小程序有这么大的市场需求加上这么多的好处,相信未来发展前景不错。也必将吸引很多商家投资者着手开发属于自己的上门家政APP小程序软件,在实际的开发过程中需要具备哪些功能呢? 一、用户端功能: 1. 用户注册登录&#x…...

【LeetCode】46. 全排列

1 问题 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入&#x…...

宏电股份RedCap产品亮相迪拜华为MBBF,并参与RedCap全球商用阶段性成果发布

10月10-11日,由华为主办的第十四届全球移动宽带论坛(MBBF)在阿联酋迪拜成功举办。MBBF期间,华为联合宏电股份等产业伙伴集中发布RedCap商用阶段性成果。本次发布是RedCap产业的关键里程碑,标志着RedCap在全球已具备规模…...

Harris图像角点检测

角点检测算法大致有三类:基于灰度图像的角点检测,基于二值图像的角点检测,基于轮廓曲线的角点检测。基于灰度图像的角点检测又可分为基于梯度、基于模板和基于模板梯度组合3类方法,其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够…...

互联网Java工程师面试题·Java 总结篇·第七弹

目录 68、Java 中如何实现序列化,有什么意义? 69、Java 中有几种类型的流? 70、写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。 71、如何用 Java 代码列出一个目录下所有的文件&a…...

UVa658 It’s not a Bug, it’s a Feature!(Dijkstra)

题意 给出一个包含n个bug的应用程序,以及m个补丁,每个补丁使用两个字符串表示,第一个串表示补丁针对bug的情况,即哪些bug存在,以及哪些bug不存在,第二个串表示补丁对bug的修复情况,即修复了哪些…...

Object 类常用方法

在Java中,java.lang.Object类是所有类的根类,因此所有对象都继承了Object类的方法。以下是Object类中一些常用的方法: equals(Object obj): 用于比较两个对象是否相等。默认实现是比较对象的引用是否相同,但通常需要…...

chromium 52 chrome 各个版本发布功能列表(58-84)

chromium Features 58-84 From https://chromestatus.com/features chromium58 Features:41 ‘allow-top-navigation-by-user-activation’ <iframe sandbox> keyword Adds a new keyword named “allow-top-navigation-by-user-activation” for iframe sandbox, wh…...

python web开发(四): Bootstrap

1.初步了解 别人已经写好的CSS样式&#xff0c;我们可以直接引用 下载 Link-BootStrap 解压&#xff0c;并放入到当前项目中 引用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</tit…...

【EI会议征稿】2024年遥感技术与测量测绘国际学术会议(RSTSM 2024)

2024年遥感技术与测量测绘国际学术会议&#xff08;RSTSM 2024&#xff09; 2024 International Conference on Remote Sensing Technology and Survey Mapping 2024年遥感技术与测量测绘国际学术会议&#xff08;RSTSM 2024&#xff09;将在2024年1月12-14日于吉林长春召开。…...

灵感:VUE2实现权限按钮控制

运用场景&#xff1b; 根据权限码&#xff0c;实现判断当前用户是否能控制权限按钮 一、在main.JS 里面写入全局指令《自定义权限按钮》 // S 自定义按钮权限 Vue.directive(has, {inserted: function(el, binding) {const buttonList JSON.parse(localStorage.getItem(butt…...

【2023最新版】Python全栈知识点总结

python全栈知识点总结 全栈即指的是全栈工程师&#xff0c;指掌握多种技能&#xff0c;并能利用多种技能独立完成产品的人。就是与这项技能有关的都会&#xff0c;都能够独立的完成。 全栈只是个概念&#xff0c;也分很多种类。真正的全栈工程师涵盖了web开发、DBA 、爬虫 、…...

推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。

文章目录 &#x1f31f; 离线评估&#xff1a;常用的推荐系统离线评估方法有哪些&#xff1f;&#x1f34a; 1. RMSE/MSE&#x1f34a; 2. MAE&#x1f34a; 3. Precision/Recall/F1-score&#x1f34a; 4. Coverage&#x1f34a; 5. Personalization&#x1f34a; 6. AUC &…...

day1:Node.js 简介

day1:Node.js 简介 文章目录 day1:Node.js 简介Node.js 是什么?Node.js 的历史和发展 ?Node.js 的主要用途和优势 ?Node.js 是什么? 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事…...

ESP RainMaker 客户案例 #1|Halonix

Halonix 是印度规模增长最快的电器公司之一&#xff0c;专注于照明、风扇等电器产品&#xff0c;正在进军健康和安全领域&#xff0c;现已推出紫外线消毒器和安全摄像头。Halonix 致力于创新&#xff0c;不断采用新兴前沿技术实现产品迭代&#xff0c;并通过加强设备间的互联互…...

【Linux】adduser命令使用

我们经常在linux系统中创建用户。有时候用的是 useradd 有时候用的是 adduser &#xff0c;好混乱啊到底用哪个啊。今天咱们一起来学习一下。 adduser与useradd的区别 useradd 命令是内置的 Linux 命令&#xff0c;在任何 Linux 系统中都可用。然而&#xff0c;使用这种低级…...

中文连续视觉语音识别挑战赛

视觉语音识别&#xff0c;也称唇语识别&#xff0c;是一项通过口唇动作来推断发音内容的技术。该技术在公共安全、助老助残、视频验真等领域具有重要应用。当前&#xff0c;唇语识别的研究方兴未艾&#xff0c;虽然在独立词、短语等识别上取得了长足进展&#xff0c;但在大词表…...

构建企业级金融数据采集系统:AKShare进阶实战指南

构建企业级金融数据采集系统&#xff1a;AKShare进阶实战指南 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/akshar…...

告别网络瓶颈:手把手教你用K8s RDMA Device Plugin和SR-IOV CNI搭建超低延迟通信栈

云原生时代的超高速通信&#xff1a;基于K8s RDMA与SR-IOV的实战架构设计 当分布式AI训练任务因为网络延迟导致GPU利用率不足50%&#xff0c;当金融高频交易系统因TCP协议栈开销错过最佳套利窗口&#xff0c;传统网络架构已成为性能瓶颈的罪魁祸首。本文将揭示如何通过RDMA&…...

API Key认证系统设计:企业级API开放平台实践

API Key认证系统设计&#xff1a;企业级API开放平台实践 摘要&#xff1a;当AI应用从内部工具转向对外开放时&#xff0c;如何确保接口安全、防止滥用并实现精细化权限控制&#xff1f;本文基于一个真实的跑步教练AI项目&#xff0c;详细解析如何构建一套生产级的API Key认证系…...

开源智能体技术解析:从LangChain到自主抓取,构建自动化工作流

1. 项目概述&#xff1a;从“Awesome”列表看开源智能体生态的演进 最近在梳理一些前沿的自动化工具链时&#xff0c;又翻到了 mergisi/awesome-openclaw-agents 这个仓库。对于长期关注AI Agent&#xff08;智能体&#xff09;和自动化工作流开发的同行来说&#xff0c;这类…...

一键获取Steam游戏清单:Onekey工具让游戏管理变得如此简单

一键获取Steam游戏清单&#xff1a;Onekey工具让游戏管理变得如此简单 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 你是否曾为管理Steam游戏文件而烦恼&#xff1f;想备份心爱的游戏却不知从…...

告别Python依赖!手把手教你用C++复现Librosa的Mel频谱和MFCC特征提取

高性能C音频特征提取实战&#xff1a;从Librosa原理到嵌入式部署优化 在语音识别和音频分析领域&#xff0c;Mel频谱和MFCC特征提取是基础但关键的技术环节。许多开发者习惯使用Python的Librosa库快速实现原型&#xff0c;但当需要部署到生产环境时&#xff0c;Python的解释器性…...

荣品RV1126 SDK编译避坑指南:从环境配置到分区调整,手把手解决常见编译错误

RV1126 SDK编译实战&#xff1a;从环境搭建到分区优化的全流程解决方案 1. 开发环境配置与初始化 RV1126开发环境的搭建是整个开发流程的第一步&#xff0c;也是后续所有工作的基础。一个稳定、高效的开发环境能够显著提升开发效率&#xff0c;减少不必要的错误。 首先需要确保…...

高效跨平台游戏模组下载:WorkshopDL完全指南

高效跨平台游戏模组下载&#xff1a;WorkshopDL完全指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在Epic Games Store、GOG或其他非Steam平台购买了游戏&#xff0…...

从零打造会“看”的电子眼:Teensy与OLED的嵌入式图形与传感器实践

1. 项目概述&#xff1a;打造一个会“看”的电子生命体几年前&#xff0c;我第一次在创客社区看到“Uncanny Eyes”项目时就被深深吸引了。一个微小的OLED屏幕&#xff0c;在代码驱动下&#xff0c;竟然能呈现出如此逼真、灵动的眼球运动&#xff0c;那种介于生命与机械之间的诡…...

基于Vanilla JS与IndexedDB构建本地化Markdown笔记工具

1. 项目概述&#xff1a;从零开始构建一个轻量级笔记工具最近在整理个人知识库时&#xff0c;发现市面上的笔记软件要么功能过于臃肿&#xff0c;要么云端同步存在隐私顾虑&#xff0c;要么就是定制化程度不够。作为一个有十多年开发经验的从业者&#xff0c;我决定自己动手&am…...