diff --git a/toroidal_attention.py b/toroidal_attention.py index bbb0fea..03f05f6 100644 --- a/toroidal_attention.py +++ b/toroidal_attention.py @@ -199,7 +199,8 @@ class _BaseToroidalAttentionPatch: h_center = h_patches // 2 w_center = w_patches // 2 - syn_ids = torch.zeros(1, self._n_extra, 3, dtype=torch.float32) + n_axes = len(self.pe_embedder.axes_dim) + syn_ids = torch.zeros(1, self._n_extra, n_axes, dtype=torch.float32) syn_ids[0, :, 0] = 0 syn_ids[0, :, 1] = (boundary_h + off_h).float() - h_center syn_ids[0, :, 2] = (boundary_w + off_w).float() - w_center @@ -234,9 +235,11 @@ class _BaseToroidalAttentionPatch: new_v = torch.cat([v, extra_v], dim=2) synthetic_pe = self._synthetic_pe.to(device=pe.device, dtype=pe.dtype) + expand_shape = list(pe.shape) + expand_shape[2] = synthetic_pe.shape[2] new_pe = torch.cat([ pe, - synthetic_pe.expand(pe.shape[0], -1, -1, -1, -1, -1), + synthetic_pe.expand(expand_shape), ], dim=2) return { diff --git a/workflows/advanced_tiling_qwen.json b/workflows/advanced_tiling_qwen.json new file mode 100644 index 0000000..f87b34f --- /dev/null +++ b/workflows/advanced_tiling_qwen.json @@ -0,0 +1 @@ +{"id":"36b344a3-4964-4a43-b580-e9c226c69096","revision":0,"last_node_id":37,"last_link_id":60,"nodes":[{"id":12,"type":"PreviewImage","pos":[1766.3881780190122,235.77378123511033],"size":[210,260],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":38}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":19,"type":"AdvancedTilingVAEDecode","pos":[1580,-80],"size":[310,100],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"settings","name":"settings","type":"ADVANCED_TILING_SETTINGS","link":31},{"localized_name":"samples","name":"samples","type":"LATENT","link":37},{"localized_name":"vae","name":"vae","type":"VAE","link":55},{"localized_name":"crop","name":"crop","type":"BOOLEAN","widget":{"name":"crop"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[38,49,50]}],"properties":{"cnr_id":"comfyui-advanced-tiling","ver":"4c673c71a37bb5ac7fc8f6f4a090fb14534840c4","Node name for S&R":"AdvancedTilingVAEDecode","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[false]},{"id":9,"type":"CLIPTextEncode","pos":[920,170],"size":[290,90],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":53},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[10]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"CLIPTextEncode","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[""]},{"id":29,"type":"PreviewImage","pos":[1675.3337806987129,78.19376250180612],"size":[210,260],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":50}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":27,"type":"SaveImage","pos":[1584.4365412255934,208.8084451598489],"size":[210,290],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":49},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["tiling"]},{"id":20,"type":"AdvancedTiling","pos":[1240,-210],"size":[300,80],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"settings","name":"settings","type":"ADVANCED_TILING_SETTINGS","link":30},{"localized_name":"model","name":"model","type":"MODEL","link":58}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","slot_index":0,"links":[35]}],"properties":{"cnr_id":"comfyui-advanced-tiling","ver":"4c673c71a37bb5ac7fc8f6f4a090fb14534840c4","Node name for S&R":"AdvancedTiling","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":31,"type":"CLIPLoader","pos":[610,-80],"size":[270,106],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null},{"localized_name":"type","name":"type","type":"COMBO","widget":{"name":"type"},"link":null},{"localized_name":"device","name":"device","shape":7,"type":"COMBO","widget":{"name":"device"},"link":null}],"outputs":[{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":[52,53]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"CLIPLoader","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["qwen_2.5_vl_7b.safetensors","qwen_image","default"]},{"id":34,"type":"VAELoader","pos":[610,70],"size":[270,58],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"vae_name","name":"vae_name","type":"COMBO","widget":{"name":"vae_name"},"link":null}],"outputs":[{"localized_name":"VAE","name":"VAE","type":"VAE","links":[55]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"VAELoader","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["qwen_image_vae.safetensors"]},{"id":36,"type":"UnetLoaderGGUF","pos":[610,-210],"size":[270,58],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"unet_name","name":"unet_name","type":"COMBO","widget":{"name":"unet_name"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[59]}],"properties":{"cnr_id":"comfyui-gguf","ver":"1.1.10","Node name for S&R":"UnetLoaderGGUF","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["qwen-image-2512-Q6_K.gguf"]},{"id":35,"type":"ModelSamplingAuraFlow","pos":[920,-210],"size":[290,80],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":59},{"localized_name":"shift","name":"shift","type":"FLOAT","widget":{"name":"shift"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","slot_index":0,"links":[58]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.64","Node name for S&R":"ModelSamplingAuraFlow","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}},"enableTabs":false,"tabWidth":65,"tabXOffset":10,"hasSecondTab":false,"secondTabText":"Send Back","secondTabOffset":80,"secondTabWidth":65},"widgets_values":[3.1]},{"id":3,"type":"KSampler","pos":[1240,-80],"size":[310,500],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":35},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":4},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":10},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":60},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","slot_index":0,"links":[37]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"KSampler","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[42,"fixed",20,4,"er_sde","beta",1]},{"id":17,"type":"AdvancedTilingSettings","pos":[610,-350],"size":[270,90],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"mode","name":"mode","type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"rotation","name":"rotation","type":"FLOAT","widget":{"name":"rotation"},"link":null}],"outputs":[{"localized_name":"SETTINGS","name":"SETTINGS","type":"ADVANCED_TILING_SETTINGS","slot_index":0,"links":[30,31]}],"properties":{"cnr_id":"comfyui-advanced-tiling","ver":"4c673c71a37bb5ac7fc8f6f4a090fb14534840c4","Node name for S&R":"AdvancedTilingSettings","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":["Hexagon",0]},{"id":37,"type":"EmptySD3LatentImage","pos":[920,310],"size":[290,110],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","links":[60]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"EmptySD3LatentImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[1328,1328,1]},{"id":5,"type":"CLIPTextEncode","pos":[920,-80],"size":[290,200],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":52},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[4]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"CLIPTextEncode","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":["60-degree isometric angled view. Detailed digital painting style with soft warm lighting and gentle shadows. Warm color temperature. Light green meadown densely covered with grass."]}],"links":[[4,5,0,3,1,"CONDITIONING"],[10,9,0,3,2,"CONDITIONING"],[30,17,0,20,0,"ADVANCED_TILING_SETTINGS"],[31,17,0,19,0,"ADVANCED_TILING_SETTINGS"],[35,20,0,3,0,"MODEL"],[37,3,0,19,1,"LATENT"],[38,19,0,12,0,"IMAGE"],[49,19,0,27,0,"IMAGE"],[50,19,0,29,0,"IMAGE"],[52,31,0,5,0,"CLIP"],[53,31,0,9,0,"CLIP"],[55,34,0,19,2,"VAE"],[58,35,0,20,1,"MODEL"],[59,36,0,35,0,"MODEL"],[60,37,0,3,3,"LATENT"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.7627768444385489,"offset":[-301.17943210973516,524.9809012418704]},"ue_links":[],"links_added_by_ue":[]},"version":0.4} \ No newline at end of file