ComfyUI-LTXVideo
ComfyUI-LTXVideo copied to clipboard
unsupported operand type(s) for +: 'Tensor' and 'NoneType' How to fix ?
How to fix ?
I have the same problem
I was having this problem, and I asked grok for help. This file here - \ComfyUI\comfy\rmsnorm.py
Update it with this and it will fix it:
import torch
import comfy.model_management
import numbers
RMSNorm = None
try:
rms_norm_torch = torch.nn.functional.rms_norm
RMSNorm = torch.nn.RMSNorm
except:
rms_norm_torch = None
def rms_norm(x, weight=None, eps=1e-6):
if eps is None:
print("Warning: eps is None, using default value 1e-6")
eps = 1e-6
if rms_norm_torch is not None and not (torch.jit.is_tracing() or torch.jit.is_scripting()):
if weight is None:
return rms_norm_torch(x, (x.shape[-1],), eps=eps)
else:
return rms_norm_torch(x, weight.shape, weight=comfy.model_management.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps)
else:
r = x * torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps)
if weight is None:
return r
else:
return r * comfy.model_management.cast_to(weight, dtype=x.dtype, device=x.device)
if RMSNorm is None:
class RMSNorm(torch.nn.Module):
def __init__(
self,
normalized_shape,
eps=1e-6, # Changed from None to 1e-6
elementwise_affine=True,
device=None,
dtype=None,
):
factory_kwargs = {"device": device, "dtype": dtype}
super().__init__()
if isinstance(normalized_shape, numbers.Integral):
# mypy error: incompatible types in assignment
normalized_shape = (normalized_shape,) # type: ignore[assignment]
self.normalized_shape = tuple(normalized_shape) # type: ignore[arg-type]
self.eps = eps
self.elementwise_affine = elementwise_affine
if self.elementwise_affine:
self.weight = torch.nn.Parameter(
torch.empty(self.normalized_shape, **factory_kwargs)
)
else:
self.register_parameter("weight", None)
self.bias = None
def forward(self, x):
return rms_norm(x, self.weight, self.eps)
Tenía este problema y le pedí ayuda a grok. Este archivo es: \ComfyUI\comfy\rmsnorm.py
Actualízalo con esto y lo solucionará:
import torch import comfy.model_management import numbers RMSNorm = None try: rms_norm_torch = torch.nn.functional.rms_norm RMSNorm = torch.nn.RMSNorm except: rms_norm_torch = None def rms_norm(x, weight=None, eps=1e-6): if eps is None: print("Warning: eps is None, using default value 1e-6") eps = 1e-6 if rms_norm_torch is not None and not (torch.jit.is_tracing() or torch.jit.is_scripting()): if weight is None: return rms_norm_torch(x, (x.shape[-1],), eps=eps) else: return rms_norm_torch(x, weight.shape, weight=comfy.model_management.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps) else: r = x * torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) if weight is None: return r else: return r * comfy.model_management.cast_to(weight, dtype=x.dtype, device=x.device) if RMSNorm is None: class RMSNorm(torch.nn.Module): def __init__( self, normalized_shape, eps=1e-6, # Changed from None to 1e-6 elementwise_affine=True, device=None, dtype=None, ): factory_kwargs = {"device": device, "dtype": dtype} super().__init__() if isinstance(normalized_shape, numbers.Integral): # mypy error: incompatible types in assignment normalized_shape = (normalized_shape,) # type: ignore[assignment] self.normalized_shape = tuple(normalized_shape) # type: ignore[arg-type] self.eps = eps self.elementwise_affine = elementwise_affine if self.elementwise_affine: self.weight = torch.nn.Parameter( torch.empty(self.normalized_shape, **factory_kwargs) ) else: self.register_parameter("weight", None) self.bias = None def forward(self, x): return rms_norm(x, self.weight, self.eps)
Thanks but it didn't work for me
Thanks a lot ! it worked for me.