โดย Black Forest Labs: https://blackforestlabs.ai คุณสามารถดูเอกสารประกอบสำหรับ API ของเราได้ที่นี่: docs.bfl.ml
ที่เก็บนี้มีโค้ดการอนุมานขั้นต่ำเพื่อเรียกใช้ข้อความเป็นรูปภาพและรูปภาพเป็นรูปภาพด้วยตัวแปลงการไหลแบบแฝง Flux ของเรา
เรามีความยินดีที่จะเป็นพันธมิตรกับ Replicate, FAL, Mystic และ Together คุณสามารถสุ่มตัวอย่างแบบจำลองของเราได้โดยใช้บริการของพวกเขา ด้านล่างเราจะแสดงรายการลิงก์ที่เกี่ยวข้อง
ทำซ้ำ:
ฟอล:
มิสติก:
ด้วยกัน:
cd $HOME && git clone https://github.com/black-forest-labs/flux
cd $HOME /flux
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e " .[all] "
เรานำเสนอสามรุ่น:
FLUX1.1 [pro]
มีให้ใช้งานผ่าน API เท่านั้นFLUX.1 [pro]
ใช้งานได้ผ่าน API เท่านั้นFLUX.1 [dev]
ตัวแปรกลั่นที่แนะนำFLUX.1 [schnell]
และรูปแบบการกลั่นแบบขั้นตอนชื่อ | การซื้อคืน HuggingFace | ใบอนุญาต | md5sum |
---|---|---|---|
FLUX.1 [schnell] | https://huggingface.co/black-forest-labs/FLUX.1-schnell | อาปาเช่-2.0 | a9e1e277b9b16add186f38e3f5a34044 |
FLUX.1 [dev] | https://huggingface.co/black-forest-labs/FLUX.1-dev | FLUX.1-dev ใบอนุญาตที่ไม่ใช่เชิงพาณิชย์ | a6bd8c16dfc23db6aee2f63a2eba78c0 |
FLUX.1 [pro] | มีเฉพาะใน API ของเราเท่านั้น | ||
FLUX1.1 [pro] | มีเฉพาะใน API ของเราเท่านั้น |
น้ำหนักของตัวเข้ารหัสอัตโนมัติยังถูกปล่อยออกมาภายใต้ apache-2.0 และสามารถพบได้ใน repos HuggingFace ทั้งสองข้างต้น จะเหมือนกันสำหรับทั้งสองรุ่น
ตุ้มน้ำหนักจะถูกดาวน์โหลดโดยอัตโนมัติจาก HuggingFace เมื่อคุณเริ่มการสาธิตรายการใดรายการหนึ่ง หากต้องการดาวน์โหลด FLUX.1 [dev]
คุณจะต้องเข้าสู่ระบบ ดูที่นี่ หากคุณดาวน์โหลดน้ำหนักโมเดลด้วยตนเอง คุณสามารถระบุเส้นทางที่ดาวน์โหลดผ่านตัวแปรสภาพแวดล้อมได้:
export FLUX_SCHNELL= < path_to_flux_schnell_sft_file >
export FLUX_DEV= < path_to_flux_dev_sft_file >
export AE= < path_to_ae_sft_file >
สำหรับการสุ่มตัวอย่างแบบโต้ตอบ
python -m flux --name < name > --loop
หรือเพื่อสร้างการรันตัวอย่างเดียว
python -m flux --name < name >
--height < height > --width < width >
--prompt " "
นอกจากนี้เรายังจัดให้มีการสาธิตแบบ Streamlit ที่ทำทั้งข้อความเป็นรูปภาพและรูปภาพเป็นรูปภาพ สามารถเรียกใช้การสาธิตได้ผ่านทาง
streamlit run demo_st.py
นอกจากนี้เรายังนำเสนอการสาธิตที่ใช้ Gradio เพื่อประสบการณ์เชิงโต้ตอบ หากต้องการเรียกใช้การสาธิต Gradio:
python demo_gr.py --name flux-schnell --device cuda
ตัวเลือก:
--name
: เลือกรุ่นที่จะใช้ (ตัวเลือก: "flux-schnell", "flux-dev")--device
: ระบุอุปกรณ์ที่จะใช้ (ค่าเริ่มต้น: "cuda" หากมี มิฉะนั้น "cpu")--offload
: ถ่ายโมเดลไปยัง CPU เมื่อไม่ได้ใช้งาน--share
: สร้างลิงก์สาธารณะไปยังการสาธิตของคุณหากต้องการรันการสาธิตด้วยโมเดล dev และสร้างลิงก์สาธารณะ:
python demo_gr.py --name flux-dev --share
FLUX.1 [schnell]
และ FLUX.1 [dev]
ถูกรวมเข้ากับ ? ห้องสมุดดิฟฟิวเซอร์ หากต้องการใช้กับตัวกระจายแสง ให้ติดตั้ง:
pip install git+https://github.com/huggingface/diffusers.git
จากนั้นคุณสามารถใช้ FluxPipeline
เพื่อรันโมเดลได้
import torch
from diffusers import FluxPipeline
model_id = "black-forest-labs/FLUX.1-schnell" #you can also use `black-forest-labs/FLUX.1-dev`
pipe = FluxPipeline . from_pretrained ( "black-forest-labs/FLUX.1-schnell" , torch_dtype = torch . bfloat16 )
pipe . enable_model_cpu_offload () #save some VRAM by offloading the model to CPU. Remove this if you have enough GPU power
prompt = "A cat holding a sign that says hello world"
seed = 42
image = pipe (
prompt ,
output_type = "pil" ,
num_inference_steps = 4 , #use a larger number if you are using [dev]
generator = torch . Generator ( "cpu" ). manual_seed ( seed )
). images [ 0 ]
image . save ( "flux-schnell.png" )
หากต้องการเรียนรู้เพิ่มเติม โปรดดูเอกสารประกอบของตัวกระจายสัญญาณ
API ของเราเสนอการเข้าถึงโมเดลของเรา มีการบันทึกไว้ที่นี่: docs.bfl.ml
ใน repository นี้ เรายังนำเสนออินเทอร์เฟซ python ที่ใช้งานง่ายอีกด้วย หากต้องการใช้สิ่งนี้ คุณต้องลงทะเบียนกับ API บน api.bfl.ml ก่อน และสร้างคีย์ API ใหม่
หากต้องการใช้คีย์ API ให้เรียกใช้ export BFL_API_KEY=
หรือระบุผ่านพารามิเตอร์ api_key=
คาดว่าคุณได้ติดตั้งแพ็คเกจดังกล่าวแล้ว
การใช้งานจากหลาม:
from flux . api import ImageRequest
# this will create an api request directly but not block until the generation is finished
request = ImageRequest ( "A beautiful beach" , name = "flux.1.1-pro" )
# or: request = ImageRequest("A beautiful beach", name="flux.1.1-pro", api_key="your_key_here")
# any of the following will block until the generation is finished
request . url
# -> https:<...>/sample.jpg
request . bytes
# -> b"..." bytes for the generated image
request . save ( "outputs/api.jpg" )
# saves the sample to local storage
request . image
# -> a PIL image
การใช้งานจากบรรทัดคำสั่ง:
$ python -m flux.api --prompt= " A beautiful beach " url
https: < ... > /sample.jpg
# generate and save the result
$ python -m flux.api --prompt= " A beautiful beach " save outputs/api
# open the image directly
$ python -m flux.api --prompt= " A beautiful beach " image show