引言
近期stable diffusion的部分核心开发同学,推出了全新的图像生成模型FLUX.1。
从模型架构上看,FLUX.1和SD3有很多相似之处,都是基于FlowingMatching调度的模型,都通过引入T5来增强prompt的依从性。而比较显著的区别在于:flux模型引入了一种叫DoubleStreamBlock的结构,具体来说在前几层layer中,采用了txt和img embedding独立过各自的transformer块,然后再拼到一起过统一的transformer块,我们推测是为了进一步对齐图像和文本特征,但是这部分还没有更具体的技术报告。
FLUX.1在文本控制能力,多主体生成能力,手部生成能力等取得了很好的效果。
FLUX.1提供三种型号:
模型版本 |
模型链接 |
License |
FLUX.1 [schnell] |
apache-2.0 |
|
FLUX.1 [dev] |
FLUX.1-dev Non-Commercial License |
|
FLUX.1 [pro] |
仅可通过API访问 |
AutoDecoder的权重也在模型repo中一起开源,且开源协议为Apache-2.0。
因为dev版本模型size达到12B,为了可以在消费级显卡使用,社区开发者也分享了fp8版本。
fp8模型链接:https://modelscope.cn/models/AI-ModelScope/flux-fp8
代码链接:https://github.com/black-forest-labs/flux
非常感谢阿里muse团队的魔搭体验链接!
体验链接:https://www.modelscope.cn/studios/muse/flux_dev
小程序也可以使用哦~搜索应用同名即可
实战教程
除了在魔搭创空间上直接体验之外,这里我们提供基于ComfyUI的FLUX模型上手使用体验。ComfyUI是一个功能强大、模块化程度高的AIGC图形和视频生成的用户界面和后台。本文使用ComfyUI,在魔搭社区提供的免费GPU Notebook上,体验FLUX模型的使用:
下载和部署ComfyUI
clone代码,并安装相关依赖:
#@title Environment Setup from pathlib import Path OPTIONS = {} UPDATE_COMFY_UI = True #@param {type:"boolean"} WORKSPACE = 'ComfyUI' OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI WORKSPACE = "/mnt/workspace/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 !echo -= Install dependencies =-
模型下载
#@markdown ###Download standard resources ### FLUX1-DEV !modelscope download --model=AI-ModelScope/FLUX.1-dev --local_dir ./models/unet/ flux1-dev.sft !modelscope download --model=AI-ModelScope/flux-fp8 --local_dir ./models/unet/ flux1-dev-fp8.safetensors ### Download text encoder model !modelscope download --model=AI-ModelScope/flux_text_encoders --local_dir ./models/clip/ t5xxl_fp16.safetensors !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.sft
使用cloudflared运行ComfyUI
!wget "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/cloudflared-linux-amd64.deb" !dpkg -i cloudflared-linux-amd64.deb 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流程图
flux1-dev流程图:
https://modelscope.oss-cn-beijing.aliyuncs.com/resource/flux1-dev-test.json
flux1-schnell流程图:
https://modelscope.oss-cn-beijing.aliyuncs.com/resource/flux1-schnell-test.json
流程图上具体配置如下:
简单 Prompt
复杂 Prompt
多实体生成能力很能打,颜色能做到分别控制,空间关系还算OK
多风格
风格上,个人认为风格属性一般。比如没有很好理解中国水墨画风格。
文本
能处理较长英文文本,可以展示换行文本,依然需要cherry pick,但成功率非常高。
多样性
没有训死,多样性还在
tag未来是否还需要?
还有一个好玩的case,提示词里加了 best quality,然后它真的标了个 best quality。