AI绘画:PhotoMaker Win11本地安装记录!

news2024/9/24 1:18:07

昨天介绍一个叫PhotoMaker的AI绘画开源项目。挺不错的!

通过这个项目可以快速制作特定人脸的AI绘画作品,相比传统的技术效果会好很多,效率也高很多。

今天趁热打铁,本地电脑装装看,并且记录,分享一下!

本文主要面向有一定配置基础的人,所以废话我就尽量少说了。

把步骤说清楚,把命令留下,把坑填了,就收工了。

会装的可以结束阅读直接去GitHub了。

想努力一下的可以慢慢看,我尽量把关键信息写清楚。

不想努力的直接拉到最后~~哈啊哈!

0.准备工作

准备一张牛逼的英伟达显卡!

Windows11+Conda+git

1.克隆代码

打开CMD工具,通过CD命令进入到制定目录,然后克隆代码。

git clone https://github.com/TencentARC/PhotoMaker.git
cd PhotoMaker

2.创建虚拟环境并激活

官方推荐的版本信息如下:

  • Python >= 3.8(推荐 Anaconda or Miniconda)
  • PyTorch >= 2.0.0

使用Conda工具,创建一个虚拟环境,创建成功之后激活虚拟环境。

conda create -n photemaker python=3.10
conda activate photomaker

3.安装依赖

常规安装方法如下:

pip install -r requirements.txt

由于在Windows下面安装,又会有些不一样。需要修改一下这个文件。

注释掉下面三项:

#torch==2.0.1
#torchvision==0.15.2
#pytorch-cuda==11.8

运行上面的安装命令,装完之后,单独安装一下Torch!

安装过程网络不好的,可以设置conda镜像,pip镜像。

4.下载模型

这个项目用到了两类模型,一个是PhotoMaker,还有一个是基于SDXL的基础模型。

运行代码之后会自动下载。

下载部分代码如下:

from huggingface_hub import hf_hub_download
photomaker_path = hf_hub_download(repo_id="TencentARC/PhotoMaker", filename="photomaker-v1.bin", repo_type="model")

当然,你也可以手动下载。那就得明白各种路径的问题!

模型默认会下载在C盘,大概7G左右,准备好足够的硬盘空间。

C盘扛不住的,可以设置环境变量:

SET HF_HUB_CACHE=./models

这样C就解脱了,压力给到D>E>F。

5. 运行测试

喜欢研究代码的,可以直接根据项目主页上提供的演示代码来运行项目。

但是本文以配置为主,就不展开讲代码了。

直接运行网页版Demo:

python gradio_demo/app.py

运行成功之后,打开网址,就可以使用了。

从文章来看,配置过程简直小菜一碟!

而实际安装过程肯定没有那么顺利!

这就叫,搞定之后云淡风轻,搞的过程痛不欲生

下面来说说我遇到的几个问题。

6. 遇到的问题

但凡涉及网络的问题,我都不认为是问题。大家都知道有这个问题,但是不能说是什么问题。

pytorch-cuda包找不到!

ERROR: Could not find a version that satisfies the requirement pytorch-cuda==11.8 (from versions: none)
ERROR: No matching distribution found for pytorch-cuda==11.8

这个问题上面有提到,直接安装就会报这个错误。原因大概是,这个依赖文件,就不是为Windows用户准备的。

所以,我的选择是,直接注释掉。

Torch版本的问题

如果只是简单使用:

pip install torch

那肯定是不行滴,Linux玩家专属。

Windows需要:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

你可以不指定GPU,但是必须带个尾巴!

Fork异常

ValueError: cannot find context for 'fork'

看到这个问题时,我就默默说了句fxxk。

鬼知道什么问题!

经过查询,基本确定和操作系统差异有关。

把源代码中的fork换成spawn就可以了。

无法导入photomaker

ModuleNotFoundError: No module named 'photomaker'

所有问题都解决之后,根据官方主页上提供的运行命令,运行app.py就会出现这个错误了。

VSCode里面可以看到导入正常,但是运行命令就是为出现这个问题。

可能是我对Import的路径问题理解不够深刻。

我先是暴力解决,直接把gradio_demo文件下面的两个文件拖动到上一级目录了。

然后直接用如下命令:

python app.py

后来思考了一下它的导入机制。我只要在根目录创建一个run.py。

里面添加一行代码:

import gradio_demo.app

这样就不用去移动那两个文件,直接使用:

python run.py

这样就可以了。

上面的问题都解决了,你应该可以在Windows正常运行这个项目了。

但是,你还要面临最后一个考验:OOM

我先是在3060上配置运行的,可以启动,但是跑到最后就提示显存不够了,直接摆烂了。

最后又在3090上折腾了一阵子,终于可以愉快的玩耍了。

我开头说了,不想努力的拉到最后,主要基于两点:

  1. 硬件不够硬,就直接不用努力了。
  2. 硬件够硬,可以等我的一键运行包。

给公众号“托尼不是塔克“ 发送关键词photomaker获取!

最后夹带点私货。

在线演示可以看这里:

https://github.com/dream80/TonyDemo

Colab脚本可以看这里:

https://github.com/dream80/TonyColab

在线演示人太多,可能有点崩溃了!

最后…

不管你会没会,不能白看哦。

起码点个赞再走!!!

收工!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

城建档案数字化管理系统

城市建设档案数字化管理系统是指将城市建设相关档案纸质化资料转换为数字化形式,并通过信息技术手段进行存储、检索、管理和利用的系统。该系统旨在解决传统纸质档案管理存在的问题,提高档案管理的效率和准确性。 专久智能城市建设档案数字化管理系统主要…

自学C语言-7

第7章 循环控制 生活中总会有许多简单而重复的工作,为完成这些重复性工作,需要花费很多时间。使用循环语句来处理程序开发中简单、重复性的工作是最好不过的了。 本章致力于使读者了解while、do…while和for3种循环结构的特点,以及转移语句的…

Python第三方扩展库Matplotlib

Python第三方扩展库Matplotlib Matplotlib 是第三方库,不是Python安装程序自带的库,需要额外安装,它是Python的一个综合性的绘图库,提供了大量的绘图函数用于创建静态、动态、交互式的图形和数据可视化,可以帮助用户创…

Python实现时间序列分析AR定阶自回归模型(ar_select_order算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中,AR定阶自回归模型(AR order selection)是指确定自回…

Springboot使用数据库连接池druid

springboot框架中可以使用druid进行数据库连接池,下面介绍druid在springboot中使用和参数配置介绍。 数据库连接池(Druid)是一种用于管理数据库连接的机制,其工作原理和常见使用方法如下: 原理:数据库连接…

Android 12 系统开机动画

一、查找Android系统提供的开机动画 在Android系统源码目录下输入 find ./ -name "bootanimation.zip" 如图所示 所输出的路劲即为bootanimation.zip所在路径,每个系统都不一样,建议用命令查找 二、复制到对应目录下 android12\out\target\…

vue使用mpegts.js教程

vue使用mpegts.js教程 最简单好用的H265网页播放器-mpegts.js简介特征受限性 使用步骤安装引入HTML 中添加视频标签video知识扩展 在容器里创建播放器 最简单好用的H265网页播放器-mpegts.js H265是新一代视频编码规范,与H264相比压缩比更高,同样的码率下…

Web实战丨基于Django的简单网页计数器

文章目录 写在前面Django简介主要程序运行结果系列文章写在后面 写在前面 本期内容 基于django的简单网页计数器 所需环境 pythonpycharm或vscodedjango 下载地址 https://download.csdn.net/download/m0_68111267/88795604 Django简介 Django 是一个用 Python 编写的高…

prism 10 for Mac v10.1.1.270激活版 医学绘图分析软件

GraphPad Prism 10 for Mac是一款专为科研工作者和数据分析师设计的绘图和数据可视化软件。以下是该软件的一些主要功能: 软件下载:prism 10 for Mac v10.1.1.270激活版 数据整理和导入:GraphPad Prism 10支持从多种数据源导入数据&#xff0…

设计与实现基于Java+MySQL的考勤发布-签到系统

课题背景 随着现代经济的迅速发展,电子考勤签到服务已经渗透到人们生活的方方面面,成为不可或缺的一项服务。在这个背景下,线上签到作为考勤签到的一种创新形式,为用户提供了便捷的操作方式,使得任务签到、个人签到记…

神经调节的Hebbian学习用于完全测试时自适应

摘要 完全测试时自适应(Fully test-time adaptation)是指在推理阶段对输入样本进行序列分析,从而对网络模型进行自适应,以解决深度神经网络的跨域性能退化问题。我们从生物学合理性学习中获得灵感,其中神经元反应是基…

【HarmonyOS应用开发】UIAbility实践第一部分(五)

一、UIAbility概述 1、UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。 2、每一个UIAbility实例,都对应于一个最近任务列表中的任务。 3、一个应用可以有一个UI…

【学网攻】 第(14)节 -- 动态路由(EIGRP)

系列文章目录 目录 系列文章目录 文章目录 前言 一、动态路由EIGRP是什么? 二、实验 1.引入 实验步骤 实验拓扑图 实验配置 看到D开头是便是我们的EIGRP动态路由 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学…

公司宣传电子画册的制作方法

​制作公司宣传电子画册是一种非常有效的方式,可以展示公司的形象和产品,同时也可以吸引更多的潜在客户。不仅低碳环保,还省了不少人力和财力,只要一个二维码、一个链接就能随时随地访问公司的宣传画册。以下是一些制作电子画册的…

【vue】vue.config.js里面获取本机ip:

文章目录 一、效果:二、实现: 一、效果: 二、实现: const os require(os);function getLocalIpAddress() {const interfaces os.networkInterfaces();for (let key in interfaces) {const iface interfaces[key];for (let i …

对鸢尾花进行分类预测-----pycharm

项目说明 #项目: 对鸢尾花进行分类预测 #实例数量150个(3类各50个) #属性数量:4(数值型,数值型,帮助预测的属性和类) #特征:花萼长度,花萼宽度,花瓣长度,花瓣宽度 单位&#xff1…

C#需要学到什么程度才能做MES系统开发工作?

C#需要学到什么程度才能做MES系统开发工作? 在开始前我分享下我的经历,刚入行时遇到一个好公司和师父,给了我机会,两年时间从3k薪资涨到18k的, 我师父给了一些C#学习方法和资料,让我不断提升自己&#xff…

读书人必须知道的9个搜书引擎

各位小伙伴大家好,众所周知,现在找资源的难度要比以前高的多,各种网站封的封删的删,但大家对书籍资源的需求却越来越大。那今天我镜像哥就决定整一期电子书资源狠活儿。 这些资源都是我辛苦收集,并逐一验证筛选出来的的…

1分钟内生成美妙歌曲:Suno AI的音乐魔法

1分钟内生成美妙歌曲:Suno AI的音乐魔法 Suno AI是一款人工智能工具,让创作者能够生成超现实的音乐、语音和音效,可以根据用户的指令生成音乐、语音和其他音频内容。它可以帮助创作者快速生成高质量的音乐作品,并且可以根据不同的…

全国网络安全行业职业技能大赛WP

word_sercet 文档被加密 查看图片的属性 在备注可以看到解压密码 解密成功 在选项里面把隐藏的文本显示出来 可以看到ffag easy_encode 得到一个bmp二维码 使用qr research 得到的密文直接放瑞士军刀 base32解码base64解码hex解码 dir_pcap 直接搜索flag 发现flag…