FLUX第三弹:直面天命,FLUX.1-LoRA/IP-adapter「黑神话:悟空」生图实战

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 应近日来诸多社区开发者的学习诉求,特为大家推出一期 FLUX.1-LoRA/IP-adapter+ComfyUI +“顶流”IP「黑神话:悟空」的模型推理实战教程,玩转一把AI悟空生图 👀

image.png 引言

Black Forest Labs 的新文本生成图像模型FLUX.1自推出以来就引起了开源社区很大的轰动,成为新一代的文生图模型的旗舰。虽然开源时间不久,但围绕Flux.1的社区开源生态发展迅猛,包括量化版本,GGUF版本,以及配套的Controlnet模型、LoRA模型均在各大开源平台上线,而配合各个模型的使用,对应的ComfyUI工作流也在蓬勃发展。

应近日来诸多社区开发者的学习诉求,特为大家推出一期 FLUX.1-LoRA/IP-adapter+ComfyUI +“顶流”IP「黑神话:悟空」的模型推理实战教程,玩转一把AI悟空生图 👀

PS:本教程只限社区学习使用,不可投入商业用途。

最佳实践

环境配置和安装:

  1. python 3.10及以上版本
  2. pytorch 1.12及以上版本,推荐2.0及以上版本
  3. 建议使用CUDA 11.4及以上

本文在魔搭社区免费提供的GPU免费算力上体验:

image.png

开发者也可以使用modelscope的官方镜像,在云端或自有的设备上体验。

GPU环境镜像(python3.10):

registry.cn-beijing.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1
registry.us-west-1.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1

下载和部署ComfyUI

clone代码,并安装相关依赖,链接如下:

https://github.com/comfyanonymous/ComfyUI

https://github.com/ltdrdata/ComfyUI-Manager

https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git

# #@title Environment Setup
from pathlib import Path
OPTIONS = {}
UPDATE_COMFY_UI = True  #@param {type:"boolean"}
INSTALL_COMFYUI_MANAGER = True  #@param {type:"boolean"}
INSTALL_CUSTOM_NODES_DEPENDENCIES = True  #@param {type:"boolean"}
INSTALL_ComfyUI_Comfyroll_CustomNodes = True #@param {type:"boolean"}
INSTALL_x_flux_comfyui = True  #@param {type:"boolean"}
OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI
OPTIONS['INSTALL_COMFYUI_MANAGER'] = INSTALL_COMFYUI_MANAGER
OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES'] = INSTALL_CUSTOM_NODES_DEPENDENCIES
OPTIONS['INSTALL_ComfyUI_Comfyroll_CustomNodes'] = INSTALL_ComfyUI_Comfyroll_CustomNodes
OPTIONS['INSTALL_x_flux_comfyui'] = INSTALL_x_flux_comfyui
current_dir = !pwd
WORKSPACE = f"{current_dir[0]}/ComfyUI"
%cd /mnt/workspace/
![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI
%cd $WORKSPACE
if OPTIONS['UPDATE_COMFY_UI']:
  !echo "-= Updating ComfyUI =-"
  !git pull
if OPTIONS['INSTALL_COMFYUI_MANAGER']:
  %cd custom_nodes
  ![ ! -d ComfyUI-Manager ] && echo -= Initial setup ComfyUI-Manager =- && git clone https://github.com/ltdrdata/ComfyUI-Manager
  %cd ComfyUI-Manager
  !git pull
if OPTIONS['INSTALL_ComfyUI_Comfyroll_CustomNodes']:
  %cd ..
  !echo -= Initial setup ComfyUI_Comfyroll_CustomNodes =- && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
if OPTIONS['INSTALL_x_flux_comfyui']:
  !echo -= Initial setup x-flux-comfyui =- && git clone https://github.com/XLabs-AI/x-flux-comfyui.git
if OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES']:
  !pwd
  !echo "-= Install custom nodes dependencies =-"
  ![ -f "custom_nodes/ComfyUI-Manager/scripts/colab-dependencies.py" ] && python "custom_nodes/ComfyUI-Manager/scripts/colab-dependencies.py"
!pip install spandrel

下载一些模型(包含Flux.1基础模型,Lora,Controlnet,IP-adapter等),并存放到models目录的相关子目录下。小伙伴们可以选择自己希望使用的模型并下载。

感谢社区开发者们lora的贡献!

模型链接:

https://www.liblib.art/modelinfo/5e4a4cc0e3674818a9f8454a63cc0115

模型链接:

https://huggingface.co/wanghaofan/Black-Myth-Wukong-FLUX-LoRA

#@markdown ###Download standard resources
%cd /mnt/workspace/ComfyUI
### FLUX1-DEV
!modelscope download --model=AI-ModelScope/flux-fp8 --local_dir ./models/unet/ flux1-dev-fp8.safetensors
### clip
!modelscope download --model=AI-ModelScope/flux_text_encoders --local_dir ./models/clip/ clip_l.safetensors
!modelscope download --model=AI-ModelScope/flux_text_encoders --local_dir ./models/clip/ t5xxl_fp8_e4m3fn.safetensors
### vae
!modelscope download --model=AI-ModelScope/FLUX.1-dev --local_dir ./models/vae/ ae.safetensors
### lora
!modelscope download --model=FluxLora/flux-koda --local_dir ./models/loras/ araminta_k_flux_koda.safetensors
!modelscope download --model=FluxLora/Black-Myth-Wukong-FLUX-LoRA --local_dir ./models/loras/ pytorch_lora_weights.safetensors
!modelscope download --model=FluxLora/FLUX1_wukong_lora --local_dir ./models/loras/ FLUX1_wukong_lora.safetensors
### ip-adapter
!modelscope download --model=FluxLora/flux-ip-adapter --local_dir ./models/xlabs/ipadapters/ flux-ip-adapter.safetensors
!modelscope download --model=FluxLora/flux-ip-adapter --local_dir ./models/clip_vision/ clip_vision_l.safetensors

使用cloudflared运行ComfyUI

!wget "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/cloudflared-linux-amd64.deb"
!dpkg -i cloudflared-linux-amd64.deb
%cd /mnt/workspace/ComfyUI
import subprocess
import threading
import time
import socket
import urllib.request
def iframe_thread(port):
  while True:
      time.sleep(0.5)
      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      result = sock.connect_ex(('127.0.0.1', port))
      if result == 0:
        break
      sock.close()
  print("\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\n")
  p = subprocess.Popen(["cloudflared", "tunnel", "--url", "http://127.0.0.1:{}".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  for line in p.stderr:
    l = line.decode()
    if "trycloudflare.com " in l:
      print("This is the URL to access ComfyUI:", l[l.find("http"):], end='')
    #print(l, end='')
threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()
!python main.py --dont-print-server

load ComfyUI流程图,链接:

https://modelscope.oss-cn-beijing.aliyuncs.com/resource/workflow-flux-lora-simple.json

https://modelscope.oss-cn-beijing.aliyuncs.com/resource/workflow-flux-lora-wukong.json

https://modelscope.oss-cn-beijing.aliyuncs.com/resource/ip_adapter_workflow.json

lora流程图片如下:

image.png

ip-adapter流程图片如下:

image.png

显存占用:

image.png

注意,上传图片后,需要检查图片中的模型文件和下载存储的模型名称是否一致,可直接一键点击如ckpt_name关联到存储的模型文件名字。

作品分享

身披战衣,佛在心中

image.png

直面天命,浴火重生

image.png

带上眼镜,一起来玩魔搭!

image.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
21天前
|
存储 机器学习/深度学习 测试技术
[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?
[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?
29 0
|
3月前
|
测试技术 程序员 C#
《黑神话:悟空》:从Unity到UE4 —— 游戏引擎迁移的挑战与机遇
【8月更文第26天】近年来,游戏行业的发展突飞猛进,特别是在图形表现力和技术实现上。《黑神话:悟空》是一款备受期待的动作角色扮演游戏,该游戏在早期开发阶段使用了Unity引擎,但为了追求更高的视觉质量和更强大的技术能力,开发团队决定将其迁移到Unreal Engine 4 (UE4)。本文将探讨这一迁移过程中的技术挑战与机遇。
264 1
|
3月前
|
机器学习/深度学习 编解码 API
《黑神话:悟空》中的光线追踪与DLSS技术解析
【8月更文第26天】《黑神话:悟空》是一款备受期待的国产动作冒险游戏,它采用了先进的图形技术,包括实时光线追踪和NVIDIA DLSS(Deep Learning Super Sampling),以提供令人震撼的视觉效果和流畅的游戏体验。本文将深入探讨这两种技术在游戏中的应用及其背后的原理。
96 1
|
3月前
|
开发者 前端开发 Apache
【绝不错过!】揭秘Wicket大神级插件,带你飞越编程极限,探索Web应用开发新大陆!
【8月更文挑战第31天】Apache Wicket是一个成熟的Java Web框架,以其组件化体系结构、直观的API及对MVC的支持著称。其活跃社区贡献了大量插件和扩展,显著提升了Wicket的功能性。本文推荐几个实用插件,如**Wicket Ajax Support**,可轻松添加Ajax功能,提升用户体验;**Bootstrap for Wicket**则将Bootstrap与Wicket结合,美化应用界面。
31 0
|
3月前
|
人工智能 开发者
黑神话:悟空中的AI行为树设计
【8月更文第26天】在《黑神话:悟空》这款游戏中,NPC(非玩家角色)的智能行为对于创造一个富有沉浸感的游戏世界至关重要。为了实现复杂的敌人行为模式,游戏开发团队采用了行为树作为NPC决策的核心架构。本文将详细介绍《黑神话:悟空》中NPC AI的设计原理,特别关注行为树的设计与实现。
163 0
|
6月前
|
SQL 安全 关系型数据库
技术面问题集锦
爬虫模块、框架、反爬虫机制(IP->代理池、验证码破解、UA) 并发(多线程、线程池、协程、三个程之间的区别)
371 3
|
6月前
|
监控 算法 数据可视化
BN层迎来升级版MABN | 轻轻松松几行代码帮你解决跨域问题,同时顺手涨点
BN层迎来升级版MABN | 轻轻松松几行代码帮你解决跨域问题,同时顺手涨点
107 0
BN层迎来升级版MABN | 轻轻松松几行代码帮你解决跨域问题,同时顺手涨点
星际争霸之小霸王之小蜜蜂(三)--重构模块
星际争霸之小霸王之小蜜蜂(三)--重构模块
|
机器学习/深度学习 人工智能 JavaScript
直连Colab,支持20种编程语言:谷歌版ChatGPT代码水平反杀了?
直连Colab,支持20种编程语言:谷歌版ChatGPT代码水平反杀了?
172 0
|
机器学习/深度学习 编解码 算法
真的有这么丝滑:3D头发建模新方法NeuralHDHair,浙大、ETH Zurich、CityU联合出品
真的有这么丝滑:3D头发建模新方法NeuralHDHair,浙大、ETH Zurich、CityU联合出品
128 0