mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-03 10:40:51 +08:00
New Year ruff cleanup. (#11595)
This commit is contained in:
parent
1bdc9a947f
commit
65cfcf5b1b
@ -44,7 +44,7 @@ class ModelFileManager:
|
|||||||
@routes.get("/experiment/models/{folder}")
|
@routes.get("/experiment/models/{folder}")
|
||||||
async def get_all_models(request):
|
async def get_all_models(request):
|
||||||
folder = request.match_info.get("folder", None)
|
folder = request.match_info.get("folder", None)
|
||||||
if not folder in folder_paths.folder_names_and_paths:
|
if folder not in folder_paths.folder_names_and_paths:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
files = self.get_model_file_list(folder)
|
files = self.get_model_file_list(folder)
|
||||||
return web.json_response(files)
|
return web.json_response(files)
|
||||||
@ -55,7 +55,7 @@ class ModelFileManager:
|
|||||||
path_index = int(request.match_info.get("path_index", None))
|
path_index = int(request.match_info.get("path_index", None))
|
||||||
filename = request.match_info.get("filename", None)
|
filename = request.match_info.get("filename", None)
|
||||||
|
|
||||||
if not folder_name in folder_paths.folder_names_and_paths:
|
if folder_name not in folder_paths.folder_names_and_paths:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
|
|
||||||
folders = folder_paths.folder_names_and_paths[folder_name]
|
folders = folder_paths.folder_names_and_paths[folder_name]
|
||||||
|
|||||||
@ -527,7 +527,8 @@ class HookKeyframeGroup:
|
|||||||
if self._current_keyframe.get_effective_guarantee_steps(max_sigma) > 0:
|
if self._current_keyframe.get_effective_guarantee_steps(max_sigma) > 0:
|
||||||
break
|
break
|
||||||
# if eval_c is outside the percent range, stop looking further
|
# if eval_c is outside the percent range, stop looking further
|
||||||
else: break
|
else:
|
||||||
|
break
|
||||||
# update steps current context is used
|
# update steps current context is used
|
||||||
self._current_used_steps += 1
|
self._current_used_steps += 1
|
||||||
# update current timestep this was performed on
|
# update current timestep this was performed on
|
||||||
|
|||||||
@ -270,7 +270,7 @@ class ChromaRadiance(Chroma):
|
|||||||
bad_keys = tuple(
|
bad_keys = tuple(
|
||||||
k
|
k
|
||||||
for k, v in overrides.items()
|
for k, v in overrides.items()
|
||||||
if type(v) != type(getattr(params, k)) and (v is not None or k not in nullable_keys)
|
if not isinstance(v, type(getattr(params, k))) and (v is not None or k not in nullable_keys)
|
||||||
)
|
)
|
||||||
if bad_keys:
|
if bad_keys:
|
||||||
e = f"Invalid value(s) in transformer_options chroma_radiance_options: {', '.join(bad_keys)}"
|
e = f"Invalid value(s) in transformer_options chroma_radiance_options: {', '.join(bad_keys)}"
|
||||||
|
|||||||
@ -3,7 +3,8 @@ import torch.nn as nn
|
|||||||
import torch.nn.functional as F
|
import torch.nn.functional as F
|
||||||
from comfy.ldm.modules.diffusionmodules.model import ResnetBlock, VideoConv3d
|
from comfy.ldm.modules.diffusionmodules.model import ResnetBlock, VideoConv3d
|
||||||
from comfy.ldm.hunyuan_video.vae_refiner import RMS_norm
|
from comfy.ldm.hunyuan_video.vae_refiner import RMS_norm
|
||||||
import model_management, model_patcher
|
import model_management
|
||||||
|
import model_patcher
|
||||||
|
|
||||||
class SRResidualCausalBlock3D(nn.Module):
|
class SRResidualCausalBlock3D(nn.Module):
|
||||||
def __init__(self, channels: int):
|
def __init__(self, channels: int):
|
||||||
|
|||||||
@ -394,7 +394,8 @@ class Model(nn.Module):
|
|||||||
attn_resolutions, dropout=0.0, resamp_with_conv=True, in_channels,
|
attn_resolutions, dropout=0.0, resamp_with_conv=True, in_channels,
|
||||||
resolution, use_timestep=True, use_linear_attn=False, attn_type="vanilla"):
|
resolution, use_timestep=True, use_linear_attn=False, attn_type="vanilla"):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
if use_linear_attn: attn_type = "linear"
|
if use_linear_attn:
|
||||||
|
attn_type = "linear"
|
||||||
self.ch = ch
|
self.ch = ch
|
||||||
self.temb_ch = self.ch*4
|
self.temb_ch = self.ch*4
|
||||||
self.num_resolutions = len(ch_mult)
|
self.num_resolutions = len(ch_mult)
|
||||||
@ -548,7 +549,8 @@ class Encoder(nn.Module):
|
|||||||
conv3d=False, time_compress=None,
|
conv3d=False, time_compress=None,
|
||||||
**ignore_kwargs):
|
**ignore_kwargs):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
if use_linear_attn: attn_type = "linear"
|
if use_linear_attn:
|
||||||
|
attn_type = "linear"
|
||||||
self.ch = ch
|
self.ch = ch
|
||||||
self.temb_ch = 0
|
self.temb_ch = 0
|
||||||
self.num_resolutions = len(ch_mult)
|
self.num_resolutions = len(ch_mult)
|
||||||
|
|||||||
@ -45,7 +45,7 @@ class LitEma(nn.Module):
|
|||||||
shadow_params[sname] = shadow_params[sname].type_as(m_param[key])
|
shadow_params[sname] = shadow_params[sname].type_as(m_param[key])
|
||||||
shadow_params[sname].sub_(one_minus_decay * (shadow_params[sname] - m_param[key]))
|
shadow_params[sname].sub_(one_minus_decay * (shadow_params[sname] - m_param[key]))
|
||||||
else:
|
else:
|
||||||
assert not key in self.m_name2s_name
|
assert key not in self.m_name2s_name
|
||||||
|
|
||||||
def copy_to(self, model):
|
def copy_to(self, model):
|
||||||
m_param = dict(model.named_parameters())
|
m_param = dict(model.named_parameters())
|
||||||
@ -54,7 +54,7 @@ class LitEma(nn.Module):
|
|||||||
if m_param[key].requires_grad:
|
if m_param[key].requires_grad:
|
||||||
m_param[key].data.copy_(shadow_params[self.m_name2s_name[key]].data)
|
m_param[key].data.copy_(shadow_params[self.m_name2s_name[key]].data)
|
||||||
else:
|
else:
|
||||||
assert not key in self.m_name2s_name
|
assert key not in self.m_name2s_name
|
||||||
|
|
||||||
def store(self, parameters):
|
def store(self, parameters):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -71,7 +71,7 @@ def count_params(model, verbose=False):
|
|||||||
|
|
||||||
|
|
||||||
def instantiate_from_config(config):
|
def instantiate_from_config(config):
|
||||||
if not "target" in config:
|
if "target" not in config:
|
||||||
if config == '__is_first_stage__':
|
if config == '__is_first_stage__':
|
||||||
return None
|
return None
|
||||||
elif config == "__is_unconditional__":
|
elif config == "__is_unconditional__":
|
||||||
|
|||||||
@ -154,7 +154,8 @@ class TAEHV(nn.Module):
|
|||||||
self._show_progress_bar = value
|
self._show_progress_bar = value
|
||||||
|
|
||||||
def encode(self, x, **kwargs):
|
def encode(self, x, **kwargs):
|
||||||
if self.patch_size > 1: x = F.pixel_unshuffle(x, self.patch_size)
|
if self.patch_size > 1:
|
||||||
|
x = F.pixel_unshuffle(x, self.patch_size)
|
||||||
x = x.movedim(2, 1) # [B, C, T, H, W] -> [B, T, C, H, W]
|
x = x.movedim(2, 1) # [B, C, T, H, W] -> [B, T, C, H, W]
|
||||||
if x.shape[1] % 4 != 0:
|
if x.shape[1] % 4 != 0:
|
||||||
# pad at end to multiple of 4
|
# pad at end to multiple of 4
|
||||||
@ -167,5 +168,6 @@ class TAEHV(nn.Module):
|
|||||||
def decode(self, x, **kwargs):
|
def decode(self, x, **kwargs):
|
||||||
x = self.process_in(x).movedim(2, 1) # [B, C, T, H, W] -> [B, T, C, H, W]
|
x = self.process_in(x).movedim(2, 1) # [B, C, T, H, W] -> [B, T, C, H, W]
|
||||||
x = apply_model_with_memblocks(self.decoder, x, self.parallel, self.show_progress_bar)
|
x = apply_model_with_memblocks(self.decoder, x, self.parallel, self.show_progress_bar)
|
||||||
if self.patch_size > 1: x = F.pixel_shuffle(x, self.patch_size)
|
if self.patch_size > 1:
|
||||||
|
x = F.pixel_shuffle(x, self.patch_size)
|
||||||
return x[:, self.frames_to_trim:].movedim(2, 1)
|
return x[:, self.frames_to_trim:].movedim(2, 1)
|
||||||
|
|||||||
@ -207,15 +207,15 @@ class ExecutionList(TopologicalSort):
|
|||||||
return self.output_cache.get(node_id) is not None
|
return self.output_cache.get(node_id) is not None
|
||||||
|
|
||||||
def cache_link(self, from_node_id, to_node_id):
|
def cache_link(self, from_node_id, to_node_id):
|
||||||
if not to_node_id in self.execution_cache:
|
if to_node_id not in self.execution_cache:
|
||||||
self.execution_cache[to_node_id] = {}
|
self.execution_cache[to_node_id] = {}
|
||||||
self.execution_cache[to_node_id][from_node_id] = self.output_cache.get(from_node_id)
|
self.execution_cache[to_node_id][from_node_id] = self.output_cache.get(from_node_id)
|
||||||
if not from_node_id in self.execution_cache_listeners:
|
if from_node_id not in self.execution_cache_listeners:
|
||||||
self.execution_cache_listeners[from_node_id] = set()
|
self.execution_cache_listeners[from_node_id] = set()
|
||||||
self.execution_cache_listeners[from_node_id].add(to_node_id)
|
self.execution_cache_listeners[from_node_id].add(to_node_id)
|
||||||
|
|
||||||
def get_cache(self, from_node_id, to_node_id):
|
def get_cache(self, from_node_id, to_node_id):
|
||||||
if not to_node_id in self.execution_cache:
|
if to_node_id not in self.execution_cache:
|
||||||
return None
|
return None
|
||||||
value = self.execution_cache[to_node_id].get(from_node_id)
|
value = self.execution_cache[to_node_id].get(from_node_id)
|
||||||
if value is None:
|
if value is None:
|
||||||
|
|||||||
@ -55,7 +55,8 @@ class APG(io.ComfyNode):
|
|||||||
def pre_cfg_function(args):
|
def pre_cfg_function(args):
|
||||||
nonlocal running_avg, prev_sigma
|
nonlocal running_avg, prev_sigma
|
||||||
|
|
||||||
if len(args["conds_out"]) == 1: return args["conds_out"]
|
if len(args["conds_out"]) == 1:
|
||||||
|
return args["conds_out"]
|
||||||
|
|
||||||
cond = args["conds_out"][0]
|
cond = args["conds_out"][0]
|
||||||
uncond = args["conds_out"][1]
|
uncond = args["conds_out"][1]
|
||||||
|
|||||||
@ -817,7 +817,7 @@ def get_sample_indices(original_fps,
|
|||||||
if required_duration > total_frames / original_fps:
|
if required_duration > total_frames / original_fps:
|
||||||
raise ValueError("required_duration must be less than video length")
|
raise ValueError("required_duration must be less than video length")
|
||||||
|
|
||||||
if not fixed_start is None and fixed_start >= 0:
|
if fixed_start is not None and fixed_start >= 0:
|
||||||
start_frame = fixed_start
|
start_frame = fixed_start
|
||||||
else:
|
else:
|
||||||
max_start = total_frames - required_origin_frames
|
max_start = total_frames - required_origin_frames
|
||||||
|
|||||||
6
nodes.py
6
nodes.py
@ -2242,8 +2242,10 @@ async def init_external_custom_nodes():
|
|||||||
|
|
||||||
for possible_module in possible_modules:
|
for possible_module in possible_modules:
|
||||||
module_path = os.path.join(custom_node_path, possible_module)
|
module_path = os.path.join(custom_node_path, possible_module)
|
||||||
if os.path.isfile(module_path) and os.path.splitext(module_path)[1] != ".py": continue
|
if os.path.isfile(module_path) and os.path.splitext(module_path)[1] != ".py":
|
||||||
if module_path.endswith(".disabled"): continue
|
continue
|
||||||
|
if module_path.endswith(".disabled"):
|
||||||
|
continue
|
||||||
if args.disable_all_custom_nodes and possible_module not in args.whitelist_custom_nodes:
|
if args.disable_all_custom_nodes and possible_module not in args.whitelist_custom_nodes:
|
||||||
logging.info(f"Skipping {possible_module} due to disable_all_custom_nodes and whitelist_custom_nodes")
|
logging.info(f"Skipping {possible_module} due to disable_all_custom_nodes and whitelist_custom_nodes")
|
||||||
continue
|
continue
|
||||||
|
|||||||
@ -15,12 +15,16 @@ lint.select = [
|
|||||||
"N805", # invalid-first-argument-name-for-method
|
"N805", # invalid-first-argument-name-for-method
|
||||||
"S307", # suspicious-eval-usage
|
"S307", # suspicious-eval-usage
|
||||||
"S102", # exec
|
"S102", # exec
|
||||||
|
"E",
|
||||||
"T", # print-usage
|
"T", # print-usage
|
||||||
"W",
|
"W",
|
||||||
# The "F" series in Ruff stands for "Pyflakes" rules, which catch various Python syntax errors and undefined names.
|
# The "F" series in Ruff stands for "Pyflakes" rules, which catch various Python syntax errors and undefined names.
|
||||||
# See all rules here: https://docs.astral.sh/ruff/rules/#pyflakes-f
|
# See all rules here: https://docs.astral.sh/ruff/rules/#pyflakes-f
|
||||||
"F",
|
"F",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
lint.ignore = ["E501", "E722", "E731", "E712", "E402", "E741"]
|
||||||
|
|
||||||
exclude = ["*.ipynb", "**/generated/*.pyi"]
|
exclude = ["*.ipynb", "**/generated/*.pyi"]
|
||||||
|
|
||||||
[tool.pylint]
|
[tool.pylint]
|
||||||
|
|||||||
@ -324,7 +324,7 @@ class PromptServer():
|
|||||||
@routes.get("/models/{folder}")
|
@routes.get("/models/{folder}")
|
||||||
async def get_models(request):
|
async def get_models(request):
|
||||||
folder = request.match_info.get("folder", None)
|
folder = request.match_info.get("folder", None)
|
||||||
if not folder in folder_paths.folder_names_and_paths:
|
if folder not in folder_paths.folder_names_and_paths:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
files = folder_paths.get_filename_list(folder)
|
files = folder_paths.get_filename_list(folder)
|
||||||
return web.json_response(files)
|
return web.json_response(files)
|
||||||
@ -579,7 +579,7 @@ class PromptServer():
|
|||||||
folder_name = request.match_info.get("folder_name", None)
|
folder_name = request.match_info.get("folder_name", None)
|
||||||
if folder_name is None:
|
if folder_name is None:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
if not "filename" in request.rel_url.query:
|
if "filename" not in request.rel_url.query:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
|
|
||||||
filename = request.rel_url.query["filename"]
|
filename = request.rel_url.query["filename"]
|
||||||
@ -593,7 +593,7 @@ class PromptServer():
|
|||||||
if out is None:
|
if out is None:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
dt = json.loads(out)
|
dt = json.loads(out)
|
||||||
if not "__metadata__" in dt:
|
if "__metadata__" not in dt:
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
return web.json_response(dt["__metadata__"])
|
return web.json_response(dt["__metadata__"])
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user