ComfyUI-ขั้นสูง-ControlNet
โหนดสำหรับการจัดกำหนดการความแข็งแกร่งของ ControlNet ข้ามขั้นตอนเวลาและค่าแฝงแบบแบตช์ รวมถึงการใช้ตุ้มน้ำหนักที่กำหนดเองและมาส์กความสนใจ โหนด ControlNet ที่นี่รองรับการสุ่มตัวอย่างบริบทแบบเลื่อนอย่างสมบูรณ์ เช่นเดียวกับที่ใช้ในโหนด ComfyUI-AnimateDiff-Evolved ปัจจุบันรองรับ ControlNets, T2IAdapters, ControlLoRAs, ControlLLLite, SparseCtrls, SVD-ControlNets และ Reference
ตุ้มน้ำหนักแบบกำหนดเองอนุญาตให้มีการจำลองคุณสมบัติ "พรอมต์ของฉันสำคัญกว่า" ของส่วนขยาย sd-webui ControlNet ของ Auto1111 ผ่านทาง Soft Weights และคุณสมบัติ "ControlNet มีความสำคัญมากกว่า" สามารถควบคุมได้อย่างละเอียดโดยการเปลี่ยน uncond_multiplier บน Soft Weights เดียวกัน
ตัวประมวลผลล่วงหน้าของ ControlNet พร้อมใช้งานผ่านโหนด Comfyui_controlnet_aux
คุณสมบัติ
- การกำหนดเวลาและความแรงแฝง
- หน้ากากความสนใจ
- จำลองคุณสมบัติ "พรอมต์ของฉันสำคัญกว่า" จากส่วนขยาย sd-webui-controlnet ผ่าน Soft Weights และอนุญาตให้ปรับแต่งความนุ่มนวลผ่าน base_multiplier
- ทำซ้ำคุณสมบัติ "ControlNet สำคัญกว่า" จากส่วนขยาย sd-webui-controlnet ผ่าน uncond_multiplier บน Soft Weights
- uncond_multiplier=0.0 ให้ผลลัพธ์ที่เหมือนกันของคุณลักษณะของ auto1111 แต่สามารถใช้ค่าระหว่าง 0.0 ถึง 1.0 ได้โดยไม่มีปัญหาในการควบคุมการตั้งค่าอย่างละเอียด
- รองรับ ControlNet, T2IAdapter และ ControlLoRA สำหรับการเลื่อนหน้าต่างบริบท
- การสนับสนุน ControlLLLite
- รองรับ SparseCtrl
- รองรับ SVD-ControlNet
- Video Diffusion ControlNets ที่เสถียร ฝึกฝนโดย CiaraRowles : Depth, Lineart
- การสนับสนุนการอ้างอิง
- รองรับโหมด
reference_attn
, reference_adain
และ refrence_adain+attn
style_fidelity
และ ref_weight
เทียบเท่ากับ style_fidelity และ control_weight ใน Auto1111 ตามลำดับ และจุดแข็งของ Apply ControlNet คือความสมดุลระหว่างผลลัพธ์ที่ได้รับอิทธิพลจากการอ้างอิงและผลลัพธ์ที่ไม่มีการอ้างอิง นอกจากนี้ยังมีโหนด Reference ControlNet (Finetune) ที่ช่วยให้สามารถปรับ style_fidelity น้ำหนัก และความแรงของ attn และ adain แยกกันได้
สารบัญ:
- คำอธิบายกำหนดการ
- โหนด
- การใช้งาน (จะกรอกเร็วๆ นี้)
คำอธิบายกำหนดการ
แนวคิดหลักสองประการสำหรับการกำหนดเวลาคือ คีย์เฟรมขั้นเวลา และ คีย์เฟรมแฝง
คีย์เฟรมขั้นเวลา จะเก็บค่าที่เป็นแนวทางในการตั้งค่าสำหรับคอนโทรลเน็ต และเริ่มมีผลตาม start_percent ซึ่งสอดคล้องกับเปอร์เซ็นต์ของกระบวนการสุ่มตัวอย่าง พวกเขาสามารถประกอบด้วยมาสก์สำหรับจุดแข็งของแต่ละค่าแฝง, control_net_weights และ latent_keyframes (จุดแข็งเฉพาะสำหรับค่าแฝงแต่ละรายการ) ทั้งหมดนี้เป็นทางเลือก
คีย์เฟรมแฝง จะกำหนดความแรงของเครือข่ายควบคุมสำหรับค่าแฝงเฉพาะ - คีย์เฟรมแฝงทั้งหมดที่มีคือแบตช์_ดัชนีของค่าแฝง และความแรงที่คอนโทรลเน็ตควรใช้กับค่าแฝงนั้น ตามแนวคิดแล้ว คีย์เฟรมแฝงจะให้ผลเช่นเดียวกับมาสก์แบบเดียวกันที่มีค่าความแข็งแกร่งที่เลือก
โหนด
โหนด ControlNet ที่ให้ไว้ที่นี่คือโหนด Apply Advanced ControlNet และ Load Advanced ControlNet Model (หรือ diff) โหนด vanilla ControlNet ยังเข้ากันได้ และสามารถใช้แทนกันได้เกือบหมด ข้อแตกต่างเพียงอย่างเดียวคือ ต้องใช้อย่างน้อยหนึ่งโหนดเหล่านี้ สำหรับ ControlNet เวอร์ชันขั้นสูงที่จะใช้ (สำคัญสำหรับการสุ่มตัวอย่างบริบทแบบเลื่อน เช่นเดียวกับ AnimateDiff-Evolved) .
สำคัญ:
- - - อินพุตที่จำเป็น
- - - อินพุตเสริม
- - - เริ่มต้นเป็นวิดเจ็ตสามารถแปลงเป็นอินพุตได้
- - - อินพุต/เอาท์พุตเสริม แต่ไม่แนะนำให้ใช้เว้นแต่จำเป็น
- - - เอาท์พุท
ใช้ Advanced ControlNet
ฟังก์ชันการทำงานเหมือนกับโหนด vanilla Apply Advanced ControlNet (ขั้นสูง) ยกเว้นว่าจะเพิ่มฟีเจอร์ Advanced ControlNet เข้าไป แปลง ControlNet จากตัวโหลด ControlNet เป็นเวอร์ชันขั้นสูงโดยอัตโนมัติ
อินพุต
- - บวก : การปรับสภาพ (บวก)
- - ลบ : ปรับอากาศ (ลบ)
- - control_net : โหลด controlnet; จะถูกแปลงเป็นเวอร์ชันขั้นสูงโดยอัตโนมัติโดยโหนดนี้ หากเป็นประเภทที่รองรับ
- - image : รูปภาพเพื่อเป็นแนวทางในคอนโทรลเน็ต - หากคอนโทรลเน็ตที่โหลดต้องการมัน จะต้องประมวลผลรูปภาพล่วงหน้า หากมีภาพหนึ่งภาพจะถูกใช้สำหรับสิ่งที่แฝงอยู่ทั้งหมด หากมีรูปภาพเพิ่มเติม จะใช้แต่ละรูปภาพแยกกันสำหรับค่าแฝงแต่ละค่า หากภาพไม่เพียงพอที่จะตอบสนองการนับที่แฝงอยู่ จะทำซ้ำภาพตั้งแต่ต้นเพื่อให้ตรงกับฟังก์ชันการทำงานของ Vanilla ControlNet
- - mask_Optional : มาสก์ความสนใจที่จะใช้กับคอนโทรลเน็ต โดยพื้นฐานแล้ว ตัดสินใจว่าจะใช้คอนโทรลเน็ตส่วนใดของรูปภาพ (และความแรงสัมพัทธ์ หากมาสก์ไม่ใช่ไบนารี) เช่นเดียวกับอินพุตรูปภาพ หากคุณระบุมาสก์มากกว่าหนึ่งรายการ แต่ละมาสก์สามารถนำไปใช้กับค่าแฝงที่แตกต่างกันได้
- - timestep_kf : คีย์เฟรมของไทม์สเตปเพื่อเป็นแนวทางในเอฟเฟกต์ controlnet ตลอดขั้นตอนการสุ่มตัวอย่าง
- - latent_kf_override : แทนที่คีย์เฟรมแฝง ซึ่งมีประโยชน์หากไม่ต้องการคุณสมบัติอื่นจากคีย์เฟรมไทม์สเต็ป หมายเหตุ: คีย์เฟรมแฝงนี้จะนำไปใช้กับการก้าวเวลาทั้งหมด โดยไม่คำนึงว่าจะมีคีย์เฟรมแฝงอื่นแนบอยู่กับคีย์เฟรมไทม์สเต็ปที่เชื่อมต่ออยู่หรือไม่
- - Weights_override : แทนที่น้ำหนัก มีประโยชน์หากไม่จำเป็นต้องใช้คุณสมบัติอื่นๆ จากคีย์เฟรมการก้าวเวลา หมายเหตุ: น้ำหนักนี้จะใช้กับการก้าวเวลาทั้งหมด โดยไม่คำนึงว่าจะมีน้ำหนักอื่นแนบมากับคีย์เฟรมการก้าวเวลาที่เชื่อมต่ออยู่หรือไม่
- - ความแข็งแกร่ง : ความแข็งแกร่งของคอนโทรลเน็ต 1.0 คือความแรงเต็มที่ 0.0 ไม่มีผลใดๆ เลย
- - start_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างที่ควรเริ่มใช้ controlnet - ไม่ว่าจะตั้งค่า start_percent ไว้บนคีย์เฟรมลำดับเวลาก็ตาม ก็จะไม่มีผลจนกว่าจะถึง start_percent นี้
- - stop_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างที่ควรหยุดใช้ controlnet - ไม่ว่าจะตั้งค่า start_percent ไว้บนคีย์เฟรมลำดับเวลาก็ตาม ก็จะไม่มีผลเมื่อถึง end_percent นี้
เอาท์พุต
- - บวก : การปรับสภาพ (บวก) ด้วยคอนโทรลเน็ตที่ใช้
- - ลบ : การปรับสภาพ (ลบ) ด้วย controlnets ที่ใช้
โหลดโมเดล Advanced ControlNet
โหลดโมเดล ControlNet และแปลงเป็นเวอร์ชันขั้นสูงที่รองรับฟีเจอร์ทั้งหมดใน repo นี้ เมื่อใช้กับโหนด Apply Advanced ControlNet ไม่มีเหตุผลที่จะใช้อินพุต timestep_keyframe บนโหนดนี้ - ใช้ timestep_kf บนโหนด Apply แทน
อินพุต
- - timestep_keyframe : อินพุตทางเลือกและมีแนวโน้มว่าไม่จำเป็นเพื่อให้ ControlNet ใช้ timestep_keyframes ที่เลือก - ไม่ควรใช้เว้นแต่คุณต้องการ มีประโยชน์หากไม่ได้แนบโหนดนี้เข้ากับโหนด Apply Advanced ControlNet แต่ยังต้องการใช้คีย์เฟรมไทม์สเต็ป หรือใช้เอาต์พุต TK_SHORTCUT จาก ControlWeights ในสถานการณ์เดียวกัน จะถูกแทนที่โดยอินพุต timestep_kf บนโหนด Apply Advanced ControlNet หากมีการระบุไว้ที่นั่น
- - model : model ที่จะเสียบเข้ากับเวอร์ชันต่างของโหนด คอนโทรลเน็ตบางตัวได้รับการออกแบบเพื่อรับโมเดล หากคุณไม่รู้ว่าสิ่งนี้ทำอะไร คุณอาจไม่ต้องการใช้เวอร์ชันต่างของโหนด
เอาท์พุต
- - CONTROL_NET : โหลด Advanced ControlNet แล้ว
คีย์เฟรมไทม์สเต็ป
โหนดการจัดกำหนดการข้ามเวลา (ขั้นตอนการสุ่มตัวอย่าง) ตามชุด start_percent การเชื่อมโยงไทม์สเต็ปคีย์เฟรมช่วยให้สามารถกำหนดเวลา ControlNet ข้ามขั้นตอนการสุ่มตัวอย่าง (ตามเปอร์เซ็นต์) ผ่านกำหนดการคีย์เฟรมไทม์สเต็ป
อินพุต
- - prev_timestep_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมของ Timestep เข้าด้วยกันเพื่อสร้างกำหนดการ ลำดับไม่สำคัญ - ไทม์สเต็ปคีย์เฟรมจะเรียงลำดับตัวเองโดยอัตโนมัติตาม start_percent คีย์เฟรมของไทม์สเต็ปใดๆ ที่มีอยู่ใน prev_timestep_keyframe ที่มี start_percent เดียวกันกับคีย์เฟรมของไทม์สเต็ปจะถูกเขียนทับ
- - cn_weights : น้ำหนักที่จะใช้กับ controlnet ในขณะที่ไทม์เฟรมคีย์เฟรมนี้มีผลอยู่ ต้องเข้ากันได้กับ controlnet ที่โหลดไว้ ไม่เช่นนั้นจะมีข้อผิดพลาดอธิบายว่าน้ำหนักประเภทใดที่เข้ากันได้ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน control_net_weight จะพยายามนำน้ำหนักที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นตอนเวลา หากใช้โหนด Advanced ControlNet มี Weight_override ระบบจะใช้ Weight_override ในระหว่างการสุ่มตัวอย่างแทน Control_net_weight
- - latent_keyframe : คีย์เฟรมแฝงที่จะใช้กับ controlnet ขณะที่คีย์เฟรมไทม์สเต็ปนี้มีผลอยู่ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน Latent_keyframe จะพยายามนำน้ำหนักที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นเวลา หากใช้โหนด Advanced ControlNet มี latent_kf_override นั้น latent_lf_override จะถูกใช้ในระหว่างการสุ่มตัวอย่างแทน latent_keyframe
- - mask_Optional : มาสก์ความสนใจที่จะใช้กับคอนโทรลเน็ต โดยพื้นฐานแล้ว ตัดสินใจว่าจะใช้คอนโทรลเน็ตส่วนใดของรูปภาพ (และความแรงสัมพัทธ์ หากมาสก์ไม่ใช่ไบนารี) เช่นเดียวกับ mask_Optional บนโหนด Apply Advanced ControlNet สามารถใช้ mak หนึ่งตัวกับค่าแฝงทั้งหมด หรือมาสก์แต่ละตัวสำหรับค่าแฝงแต่ละตัวได้ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน Mask_Optional จะพยายามใช้ Mask_Optional ที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นตอนเวลา มันไม่ได้ถูกแทนที่โดย mask_Option บนโหนด Apply Advanced ControlNet จะได้ใช้ร่วมกัน
- - start_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างที่คีย์เฟรมของก้าวเวลานี้มีคุณสมบัติที่จะใช้ ทำหน้าที่เป็น 'กุญแจ' สำหรับคีย์เฟรมขั้นเวลาในกำหนดการคีย์เฟรมขั้นเวลา
- - Strength : ความแข็งแกร่งของ Controlnet; คูณ controlnet ด้วยค่านี้ โดยทั่วไป นำไปใช้ควบคู่ไปกับความแข็งแกร่งบนโหนด Apply ControlNet หากตั้งค่าเป็น 0.0 จะไม่มีผลใดๆ ในช่วงระยะเวลาของเอฟเฟกต์ของคีย์เฟรมก้าวเวลานี้ และจะเพิ่มความเร็วในการสุ่มตัวอย่างโดยไม่ทำงานใดๆ
- - null_latent_kf_strength : ความแรงในการกำหนดให้กับค่าแฝงที่ไม่ได้รับการนับรวมในการส่งผ่านใน latent_keyframes จะไม่มีผลใดๆ หากไม่มีการส่งผ่าน Latent_keyframes เข้ามา หรือไม่มีการระบุbatch_indeces ใน latent_keyframes ในระหว่างการสุ่มตัวอย่าง
- - inherit_missing : กำหนดว่าควรใช้ค่าจากคีย์เฟรมไทม์สเต็ปก่อนหน้าซ้ำสำหรับค่าที่ไม่บังคับ (control_net_weights, latent_keyframe และ mask_option) ที่ไม่รวมอยู่ใน TimestepKeyframe นี้หรือไม่ หากต้องการสืบทอดเฉพาะอินพุตที่ระบุ ให้ใช้อินพุตเริ่มต้น
- - Guarant_steps : เมื่อ 1 ขึ้นไป แม้ว่า start_percent ของคีย์เฟรมของไทม์สเต็ปก่อนหน้าอันนี้ในกำหนดการจะใกล้กับเปอร์เซ็นต์การสุ่มตัวอย่างปัจจุบัน คีย์เฟรมของไทม์สเตปนี้จะยังคงถูกใช้ตามจำนวนขั้นตอนที่ระบุก่อนที่จะย้ายไปยังคีย์เฟรมของไทม์สเตปที่เลือกถัดไปใน ขั้นตอนต่อไปนี้ ไม่ว่าจะใช้คีย์เฟรมของไทม์สเต็ปหรือไม่ก็ตาม อินพุตของคีย์เฟรมจะยังคงถูกพิจารณาตามวัตถุประสงค์ที่สืบทอดมา
เอาท์พุต
- - TIMESTEP_KF : คีย์เฟรมไทม์สเต็ปที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมไทม์สเต็ปได้
การแก้ไขคีย์เฟรมขั้นเวลา
อนุญาตให้สร้างคีย์เฟรมไทม์สเต็ปที่มีค่าความแข็งแกร่งที่ประมาณไว้ในช่วงเปอร์เซ็นต์ที่กำหนด (คีย์เฟรมแรกที่สร้างขึ้นจะมีการรับประกัน_ขั้นตอน=1 ส่วนที่เหลือตามมาจะมีการรับประกัน_ขั้นตอน=0)
อินพุต
- - prev_timestep_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมของ Timestep เข้าด้วยกันเพื่อสร้างกำหนดการ ลำดับไม่สำคัญ - ไทม์สเต็ปคีย์เฟรมจะเรียงลำดับตัวเองโดยอัตโนมัติตาม start_percent คีย์เฟรมของไทม์สเต็ปใดๆ ที่มีอยู่ใน prev_timestep_keyframe ที่มี start_percent เดียวกันกับคีย์เฟรมของไทม์สเต็ปจะถูกเขียนทับ
- - cn_weights : น้ำหนักที่จะใช้กับ controlnet ในขณะที่ไทม์เฟรมคีย์เฟรมนี้มีผลอยู่ ต้องเข้ากันได้กับ controlnet ที่โหลดไว้ ไม่เช่นนั้นจะมีข้อผิดพลาดอธิบายว่าน้ำหนักประเภทใดที่เข้ากันได้ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน control_net_weight จะพยายามนำน้ำหนักที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นตอนเวลา หากใช้โหนด Advanced ControlNet มี Weight_override ระบบจะใช้ Weight_override ในระหว่างการสุ่มตัวอย่างแทน Control_net_weight
- - latent_keyframe : คีย์เฟรมแฝงที่จะใช้กับ controlnet ขณะที่คีย์เฟรมไทม์สเต็ปนี้มีผลอยู่ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน Latent_keyframe จะพยายามนำน้ำหนักที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นเวลา หากใช้โหนด Advanced ControlNet มี latent_kf_override นั้น latent_lf_override จะถูกใช้ในระหว่างการสุ่มตัวอย่างแทน latent_keyframe
- - mask_Optional : มาสก์ความสนใจที่จะใช้กับคอนโทรลเน็ต โดยพื้นฐานแล้ว ตัดสินใจว่าจะใช้คอนโทรลเน็ตส่วนใดของรูปภาพ (และความแรงสัมพัทธ์ หากมาสก์ไม่ใช่ไบนารี) เช่นเดียวกับ mask_Optional บนโหนด Apply Advanced ControlNet สามารถใช้ mak หนึ่งตัวกับค่าแฝงทั้งหมด หรือมาสก์แต่ละตัวสำหรับค่าแฝงแต่ละตัวได้ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน Mask_Optional จะพยายามใช้ Mask_Optional ที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นตอนเวลา มันไม่ได้ถูกแทนที่โดย mask_Option บนโหนด Apply Advanced ControlNet จะได้ใช้ร่วมกัน
- - start_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างที่คีย์เฟรมของขั้นตอนเวลาที่สร้างขึ้นครั้งแรกมีคุณสมบัติเหมาะสมที่จะใช้
- - end_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างซึ่งคีย์เฟรมของขั้นตอนเวลาที่สร้างขึ้นล่าสุดมีคุณสมบัติเหมาะสมที่จะใช้
- - Strength_start : ความแรงของคีย์เฟรมไทม์สเต็ปที่จุดเริ่มต้นของช่วง
- - Strength_end : ความแรงของคีย์เฟรมไทม์สเต็ปที่จุดสิ้นสุดของช่วง
- - การแก้ไข : วิธีการแก้ไข
- - ช่วง : จำนวนคีย์เฟรมที่จะสร้างทั้งหมด - คีย์เฟรมแรกจะมี start_percent เท่ากับ start_percent และคีย์เฟรมสุดท้ายจะมี start_percent เท่ากับ end_percent
- - null_latent_kf_strength : ความแรงในการกำหนดให้กับค่าแฝงที่ไม่ได้รับการนับรวมในการส่งผ่านใน latent_keyframes จะไม่มีผลใดๆ หากไม่มีการส่งผ่าน Latent_keyframes เข้ามา หรือไม่มีการระบุbatch_indeces ใน latent_keyframes ในระหว่างการสุ่มตัวอย่าง
- - inherit_missing : กำหนดว่าควรใช้ค่าจากคีย์เฟรมไทม์สเต็ปก่อนหน้าซ้ำสำหรับค่าที่ไม่บังคับ (control_net_weights, latent_keyframe และ mask_option) ที่ไม่รวมอยู่ใน TimestepKeyframe นี้หรือไม่ หากต้องการสืบทอดเฉพาะอินพุตที่ระบุ ให้ใช้อินพุตเริ่มต้น
- - print_keyframes : หากเป็น True จะพิมพ์คีย์เฟรมไทม์สเต็ปที่สร้างโดยโหนดนี้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่อง
เอาท์พุต
- - TIMESTEP_KF : คีย์เฟรมไทม์สเต็ปที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมไทม์สเต็ปได้
คีย์เฟรมไทม์สเต็ปจากรายการ
อนุญาตให้สร้างไทม์สเต็ปคีย์เฟรมผ่านรายการโฟลต เช่น ด้วย Batch Value Schedule จากโหนด ComfyUI_FizzNodes (คีย์เฟรมแรกที่สร้างขึ้นจะมีการรับประกัน_ขั้นตอน=1 ส่วนที่เหลือตามมาจะมีการรับประกัน_ขั้นตอน=0)
อินพุต
- - prev_timestep_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมของ Timestep เข้าด้วยกันเพื่อสร้างกำหนดการ ลำดับไม่สำคัญ - ไทม์สเต็ปคีย์เฟรมจะเรียงลำดับตัวเองโดยอัตโนมัติตาม start_percent คีย์เฟรมของไทม์สเต็ปใดๆ ที่มีอยู่ใน prev_timestep_keyframe ที่มี start_percent เดียวกันกับคีย์เฟรมของไทม์สเต็ปจะถูกเขียนทับ
- - cn_weights : น้ำหนักที่จะใช้กับ controlnet ในขณะที่ไทม์เฟรมคีย์เฟรมนี้มีผลอยู่ ต้องเข้ากันได้กับ controlnet ที่โหลดไว้ ไม่เช่นนั้นจะมีข้อผิดพลาดอธิบายว่าน้ำหนักประเภทใดที่เข้ากันได้ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน control_net_weight จะพยายามนำน้ำหนักที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นตอนเวลา หากใช้โหนด Advanced ControlNet มี Weight_override ระบบจะใช้ Weight_override ในระหว่างการสุ่มตัวอย่างแทน Control_net_weight
- - latent_keyframe : คีย์เฟรมแฝงที่จะใช้กับ controlnet ขณะที่คีย์เฟรมไทม์สเต็ปนี้มีผลอยู่ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน Latent_keyframe จะพยายามนำน้ำหนักที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นเวลา หากใช้โหนด Advanced ControlNet มี latent_kf_override นั้น latent_lf_override จะถูกใช้ในระหว่างการสุ่มตัวอย่างแทน latent_keyframe
- - mask_Optional : มาสก์ความสนใจที่จะใช้กับคอนโทรลเน็ต โดยพื้นฐานแล้ว ตัดสินใจว่าจะใช้คอนโทรลเน็ตส่วนใดของรูปภาพ (และความแรงสัมพัทธ์ หากมาสก์ไม่ใช่ไบนารี) เช่นเดียวกับ mask_Optional บนโหนด Apply Advanced ControlNet สามารถใช้ mak หนึ่งตัวกับค่าแฝงทั้งหมด หรือมาสก์แต่ละตัวสำหรับค่าแฝงแต่ละตัวได้ หาก inherit_missing เป็น True หากไม่มีการส่งผ่าน Mask_Optional จะพยายามใช้ Mask_Optional ที่ใช้ล่าสุดซ้ำในกำหนดการคีย์เฟรมขั้นตอนเวลา มันไม่ได้ถูกแทนที่โดย mask_Option บนโหนด Apply Advanced ControlNet จะได้ใช้ร่วมกัน
- - float_strengths : รายการลอยที่จะสอดคล้องกับความแข็งแกร่งของคีย์เฟรมไทม์สเต็ปแต่ละอัน รายการแรกจะถูกกำหนดให้กับ start_percent รายการสุดท้ายจะถูกกำหนดให้กับ end_percent และส่วนที่เหลือจะกระจายเป็นเส้นตรงระหว่าง
- - start_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างที่คีย์เฟรมของขั้นตอนเวลาที่สร้างขึ้นครั้งแรกมีคุณสมบัติเหมาะสมที่จะใช้
- - end_percent : เปอร์เซ็นต์ขั้นตอนการสุ่มตัวอย่างซึ่งคีย์เฟรมของขั้นตอนเวลาที่สร้างขึ้นล่าสุดมีคุณสมบัติเหมาะสมที่จะใช้
- - null_latent_kf_strength : ความแรงในการกำหนดให้กับค่าแฝงที่ไม่ได้รับการนับรวมในการส่งผ่านใน latent_keyframes จะไม่มีผลใดๆ หากไม่มีการส่งผ่าน Latent_keyframes เข้ามา หรือไม่มีการระบุbatch_indeces ใน latent_keyframes ในระหว่างการสุ่มตัวอย่าง
- - inherit_missing : กำหนดว่าควรใช้ค่าจากคีย์เฟรมไทม์สเต็ปก่อนหน้าซ้ำสำหรับค่าที่ไม่บังคับ (control_net_weights, latent_keyframe และ mask_option) ที่ไม่รวมอยู่ใน TimestepKeyframe นี้หรือไม่ หากต้องการสืบทอดเฉพาะอินพุตที่ระบุ ให้ใช้อินพุตเริ่มต้น
- - print_keyframes : หากเป็น True จะพิมพ์คีย์เฟรมไทม์สเต็ปที่สร้างโดยโหนดนี้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่อง
เอาท์พุต
- - TIMESTEP_KF : คีย์เฟรมไทม์สเต็ปที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมไทม์สเต็ปได้
คีย์เฟรมแฝง
คีย์เฟรมแฝงแบบเอกพจน์ เลือกความแรงสำหรับbatch_indexเฉพาะ หากไม่มี batt_index ในระหว่างการสุ่มตัวอย่าง ก็จะไม่มีผลกระทบใดๆ สามารถเชื่อมโยงกับโหนดประเภทคีย์เฟรมแฝงอื่นๆ เพื่อสร้างกำหนดการคีย์เฟรมแฝงได้
อินพุต
- - prev_latent_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมแฝงเข้าด้วยกันเพื่อสร้างกำหนดการ หากคีย์เฟรมแฝงที่อยู่ใน prev_latent_keyframes มี batt_index เหมือนกับคีย์เฟรมแฝงนี้ คีย์เฟรมเหล่านั้นจะมีลำดับความสำคัญมากกว่าค่าของโหนดนี้
- - atch_index : ดัชนีของค่าแฝงในชุดที่จะใช้ความแรงของคอนโทรลเน็ต ทำหน้าที่เป็น 'กุญแจ' สำหรับคีย์เฟรมแฝงในกำหนดการคีย์เฟรมแฝง
- - Strength : ความแรงของ Controlnet ที่จะนำไปใช้กับค่าแฝงที่สอดคล้องกัน
เอาท์พุต
- - LATENT_KF : คีย์เฟรมแฝงที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมแฝงได้
กลุ่มคีย์เฟรมแฝง
อนุญาตให้สร้างคีย์เฟรมแฝงผ่านดัชนีแต่ละรายการหรือช่วงสไตล์หลาม
อินพุต
- - prev_latent_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมแฝงเข้าด้วยกันเพื่อสร้างกำหนดการ หากคีย์เฟรมแฝงใดๆ ที่อยู่ใน prev_latent_keyframes มี batt_index เดียวกันกับคีย์เฟรมแฝงนี้ คีย์เฟรมเหล่านั้นจะมีลำดับความสำคัญมากกว่าเวอร์ชันของโหนดนี้
- - latent_Optional : ค่าแฝงที่คาดว่าจะส่งผ่านเพื่อการสุ่มตัวอย่าง จำเป็นเฉพาะในกรณีที่คุณต้องการใช้ดัชนีติดลบ (จะถูกแปลงเป็นค่าจริงโดยอัตโนมัติ)
- - index_strengths : รายการสตริงของดัชนีหรือช่วงดัชนีแบบหลามเพื่อกำหนดจุดแข็งให้ หากมีการส่งผ่าน latent_Optional อาจมีดัชนีหรือช่วงที่เป็นค่าลบซึ่งมีตัวเลขติดลบ รูปแบบหลาม ดัชนีที่แตกต่างกันจะต้องคั่นด้วยเครื่องหมายจุลภาค ค่าแฝงแต่ละรายการสามารถระบุได้ด้วย
batch_index=strength
เช่น 0=0.9
ช่วงสามารถระบุได้โดย start_index_inclusive:end_index_exclusive=strength
เช่น 0:8=strength
ดัชนีเชิงลบเป็นไปได้เมื่อ latents_Optional มีอินพุต โดยมีสตริง เช่น 0,-4=0.25
- - print_keyframes : หากเป็น True จะพิมพ์คีย์เฟรมแฝงที่สร้างโดยโหนดนี้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่อง
เอาท์พุต
- - LATENT_KF : คีย์เฟรมแฝงที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมแฝงได้
การแก้ไขคีย์เฟรมแฝง
อนุญาตให้สร้างคีย์เฟรมแฝงที่มีค่าประมาณในช่วง
อินพุต
- - prev_latent_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมแฝงเข้าด้วยกันเพื่อสร้างกำหนดการ หากคีย์เฟรมแฝงใดๆ ที่อยู่ใน prev_latent_keyframes มี batt_index เดียวกันกับคีย์เฟรมแฝงนี้ คีย์เฟรมเหล่านั้นจะมีลำดับความสำคัญมากกว่าเวอร์ชันของโหนดนี้
- - batt_index_from : เริ่มต้น batt_index ของช่วง รวมอยู่ด้วย
- - bat_index_to : สิ้นสุด batt_index ของช่วง ไม่รวม (ช่วงสไตล์หลาม)
- - Strength_from : ความแรงเริ่มต้นของการประมาณค่า
- - Strength_to : จุดสิ้นสุดของการประมาณค่า
- - การแก้ไข : วิธีการแก้ไข
- - print_keyframes : หากเป็น True จะพิมพ์คีย์เฟรมแฝงที่สร้างโดยโหนดนี้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่อง
เอาท์พุต
- - LATENT_KF : คีย์เฟรมแฝงที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมแฝงได้
คีย์เฟรมแฝงจากรายการ
อนุญาตให้สร้างคีย์เฟรมแฝงผ่านรายการโฟลต เช่น ด้วย Batch Value Schedule จากโหนด ComfyUI_FizzNodes
อินพุต
- - prev_latent_kf : ใช้เพื่อเชื่อมโยงคีย์เฟรมแฝงเข้าด้วยกันเพื่อสร้างกำหนดการ หากคีย์เฟรมแฝงใดๆ ที่อยู่ใน prev_latent_keyframes มี batt_index เดียวกันกับคีย์เฟรมแฝงนี้ คีย์เฟรมเหล่านั้นจะมีลำดับความสำคัญมากกว่าเวอร์ชันของโหนดนี้
- - float_strengths : รายการลอยที่จะสอดคล้องกับความแข็งแกร่งของคีย์เฟรมแฝงแต่ละอัน batt_index คือดัชนีของแต่ละค่าทศนิยมในรายการ
- - print_keyframes : หากเป็น True จะพิมพ์คีย์เฟรมแฝงที่สร้างโดยโหนดนี้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่อง
เอาท์พุต
- - LATENT_KF : คีย์เฟรมแฝงที่สร้างขึ้น ซึ่งสามารถเชื่อมโยงกับคีย์เฟรมอื่นหรือเข้าสู่อินพุตคีย์เฟรมแฝงได้
มีโหนดเพิ่มเติมในการจัดทำเอกสารและแสดงการใช้งาน - จะเพิ่มเร็วๆ นี้! สิ่งที่ต้องทำ