DragGAN使用记录

2023-09-18 14:28:12

效果图

  • 调整人物动作

  • 调整裙子长度

  • 调整动物的动作

DragGAN介绍

DragGAN是一种基于人工智能的图像编辑工具,它可以根据用户的输入生成逼真的图像。与传统的图像编辑工具只能扭曲或裁剪现有的像素不同,DragGAN可以创建与用户意图匹配的新内容。

DragGAN的原理是利用生成对抗网络(GAN)来学习和模拟真实数据的分布,然后根据用户在图像上拖动的点来生成新的图像。用户可以通过拖动点来改变图像的姿态、表情、风格等细节,从而实现灵活和精确的图像操纵。

DragGAN是一个开源的项目,它提供了一个网页版的演示,用户可以在浏览器中体验DragGAN的功能。DragGAN也提供了一个GitHub仓库,用户可以下载源代码和预训练的模型,以及查看相关的论文和视频。

DragGAN是一个创新和有趣的工具,它展示了人工智能在图像生成方面的强大能力。它也为图像编辑提供了一种新的交互方式,让用户可以更自由和轻松地创造出想要的图像。

部署DragGAN

  • 克隆代码
git clone https://github.com/XingangPan/DragGAN
  • 使用conda创建一个虚拟环境,并启动环境
conda create -n draggan python==3.10
source activate draggan
  • 安装依赖
cd DragGAN
pip install -r requirements.txt
  • 准备模型,找个没人的地方把这个模型下载下来,
    在DragGAN目录下创建一个checkpoints目录把所有模型都拷贝进去,默认加载的是狮子的模型,如果下载不了,我把我下载的模型转到了CSDN可以自行下载,链接附在最后
git clone https://huggingface.co/DragGan/DragGan-Models
mkdir checkpoints
cd checkpoints
cp ../DragGAN-Models/*.pkl checkpoints
  • 启动服务器,设置一下环境变量CUDA_HOME,不然有可能找错cuda版本,导致torch_extensions编译报错
export CUDA_HOME=/usr/local/cuda
python visualizer_drag_gradio.py --listen

报错信息及解决办法

  • 编译torch_extensions中的bias_act_plugin报错
    Setting up PyTorch plugin "bias_act_plugin"... Failed!
    解决办法:
    这是因为cuda版本不对,我这里的bias_act_plugin指定的是cuda-11.2版本,编译不过,后来我设置了环境变量
    export CUDA_HOME=/usr/local/cuda-11.4

还是报错,后来看pip安装的cuda工具都是cuda-11.7版本的,就安装了cuda-11.7版本就可以通过了
但是如果bias_act_plugin中的build.ninja还是固执的指定了他自己的cuda目录,你就手动修改CUDA_HOME为你自己的目录

  • 运行过程中还会报个glibc版本错误
libstdc++.so.6: version `GLIBCXX_3.4.20' not found

解决方法:

conda install -c anaconda libstdcxx-ng
  • 报关于freetype的错误
 attributeerror: ‘FreeTypeFont‘ object has no attribute ‘getsize‘

解决方法:

pip install Pillow==9.5

DragGAN Lions模型

更多推荐

医药行业安全生产信息化建设分享

随着科技的快速发展和全球化进程的推进,医药行业作为人类健康和安全的重要组成部分,面临着日益严峻的安全生产挑战。近年来,医药企业对于安全生产的需求越来越强烈,安全生产信息化建设成为了医药行业发展的重要趋势。本文将探讨医药行业安全生产信息化建设的现状、挑战与实施策略,以期为相关企业和从业者提供一定的参考。一、医药行业安全生

Python学习-简易聊天室

聊天功能分析1.网络搭建2.进入聊天室客户端:1.输入姓名2.将请求发送给服务器3.接收结果,允许进入则可以聊天,不允许则重新输入姓名服务器:1.接收请求2.判断姓名是否存在,如果允许进入,存储用户基本信息,通知其他客户端,如不允许则结束3.将结果通知客户端3.聊天客户端1.创建新的进程2.一个进程循环接收消息3.一个

package中添加一条命令,用来自动选择包管理器进行依赖安装

package中添加一条命令,用来自动选择包管理器进行依赖安装前提:当前项目为vite项目,所以直接使用import导入模块package.json中的scripts添加"scripts":{"start":"nodescripts/init.js"...},文件目录为init.js的文件为import{execSyn

软件测试进大厂,拿高薪,怎么做?看这里!

有些同学大学专业不对口,但有想进大厂想拿高薪心,只要你有想法,那就一定有实现的方法。俗话说:“世间无难事,只怕有心人”。仔细思索一下,哪家大厂能缺软件测试这一重要职位。相对大学所学专业而言,大厂录取测试人员,更多的是看重这个人的能力和相应的项目经验积累。所以不管是科班还是非科班出身的测试人员想敲开大厂的门,可以做到以下

大模型赛道如何实现华丽的弯道超车

🚀欢迎来到本文🚀🍉个人简介:陈童学哦,目前学习C/C++、算法、Python、Java等方向,一个正在慢慢前行的普通人。🏀系列专栏:陈童学的日记💡其他专栏:C++STL,感兴趣的小伙伴可以看看。🎁希望各位→点赞👍+收藏⭐️+留言📝​⛱️万物从心起,心动则万物动🏄‍♂️前言:Alluxio作为一款强大的

手把手教你5种方法实现Java判断字符串是否为数字

方法一:用JAVA自带的函数publicstaticbooleanisNumeric(Stringstr){for(inti=str.length();--i>=0;){if(!Character.isDigit(str.charAt(i))){returnfalse;}}returntrue;}方法一通过遍历字符串的

js中哪些地方会用到window?

前言Window对象是JavaScript中的顶层对象,它代表了浏览器中打开的窗口或者标签页。浏览器中打开的每一个窗口/标签页都会有一个对应的Window对象。在浏览器中,全局作用域的this就是指向Window对象。正文在JavaScript中,window对象表示浏览器窗口(通常也称为浏览器窗口或浏览器窗口)。以下

Linux 中的make/makefile

一:背景make是一个命令工具,是一个解释makefifile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,VisualC++的nmake,Linux下GNU的make。可见,makefifile都成为了一种在工程方面的编译方法。一个工程中的源文件不计数,其按类型、功能、模块分别

Redis常用应用场景

Redis是一款开源的基于内存的键值存储系统,它提供了多种数据结构和丰富的功能,适用于各种不同的应用场景。以下是Redis常用的应用场景:1.缓存:Redis最常见的用途就是作为缓存。由于Redis存储在内存中,读取速度非常快,可以显著减轻数据库的负载。将频繁读取的数据存储在Redis中,可以大幅提高应用的响应速度。2

SpringBoot-RabbitMQ

RabbitMQ是一个开源的消息中间件,它实现了AMQP(AdvancedMessageQueuingProtocol)协议,并提供了可靠的消息传递机制。SpringBoot中使用RabbitMQ实现异步消息的发送和接收。使用SpringBoot提供的AmqpTemplate和@RabbitListener注解进行消息

数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病...

全文链接:http://tecdat.cn/?p=23061这个数据集(查看文末了解数据免费获取方式)可以追溯到1988年,由四个数据库组成。克利夫兰、匈牙利、瑞士和长滩。"目标"字段是指病人是否有心脏病。它的数值为整数,0=无病,1=有病(点击文末“阅读原文”获取完整代码数据)。数据集信息:目标:主要目的是预测给定的

热文推荐