ao icon indicating copy to clipboard operation
ao copied to clipboard

'FakeTensor' object has no attribute 'layout_type'

Open WAS-PlaiLabs opened this issue 5 months ago • 4 comments

Getting a big whopper of an error trying to apply the optimizations shown in the directions for CogVideoX

---------------------------------------------------------------------------
TorchRuntimeError                         Traceback (most recent call last)
Cell In[2], line 7
      4 num_frames = 49 #@param {type:"integer"}
      5 prompt = "A golden retriever riding a motorcycle" #@param {type:"string", multiline: True, placeholder: "A golden retriever riding a motorcycle"}
----> 7 video_output = result_model["pipeline"](
      8     prompt=prompt,
      9     guidance_scale=guidance_scale,
     10     num_inference_steps=num_inference_steps,
     11     num_frames=num_frames
     12 ).frames
     14 result_video_output = {"video": video_output}

File ~/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py:115, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    112 @functools.wraps(func)
    113 def decorate_context(*args, **kwargs):
    114     with ctx_factory():
--> 115         return func(*args, **kwargs)

File ~/.local/lib/python3.10/site-packages/diffusers/pipelines/cogvideo/pipeline_cogvideox.py:687, in CogVideoXPipeline.__call__(self, prompt, negative_prompt, height, width, num_frames, num_inference_steps, timesteps, guidance_scale, use_dynamic_cfg, num_videos_per_prompt, eta, generator, latents, prompt_embeds, negative_prompt_embeds, output_type, return_dict, callback_on_step_end, callback_on_step_end_tensor_inputs, max_sequence_length)
    684 timestep = t.expand(latent_model_input.shape[0])
    686 # predict noise model_output
--> 687 noise_pred = self.transformer(
    688     hidden_states=latent_model_input,
    689     encoder_hidden_states=prompt_embeds,
    690     timestep=timestep,
    691     image_rotary_emb=image_rotary_emb,
    692     return_dict=False,
    693 )[0]
    694 noise_pred = noise_pred.float()
    696 # perform guidance

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1532, in Module._wrapped_call_impl(self, *args, **kwargs)
   1530     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
   1531 else:
-> 1532     return self._call_impl(*args, **kwargs)

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1541, in Module._call_impl(self, *args, **kwargs)
   1536 # If we don't have any hooks, we want to skip the rest of the logic in
   1537 # this function, and just call forward.
   1538 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
   1539         or _global_backward_pre_hooks or _global_backward_hooks
   1540         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1541     return forward_call(*args, **kwargs)
   1543 try:
   1544     result = None

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/eval_frame.py:451, in _TorchDynamoContext.__call__.<locals>._fn(*args, **kwargs)
    449 prior = set_eval_frame(callback)
    450 try:
--> 451     return fn(*args, **kwargs)
    452 finally:
    453     set_eval_frame(prior)

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1532, in Module._wrapped_call_impl(self, *args, **kwargs)
   1530     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
   1531 else:
-> 1532     return self._call_impl(*args, **kwargs)

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1541, in Module._call_impl(self, *args, **kwargs)
   1536 # If we don't have any hooks, we want to skip the rest of the logic in
   1537 # this function, and just call forward.
   1538 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
   1539         or _global_backward_pre_hooks or _global_backward_hooks
   1540         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1541     return forward_call(*args, **kwargs)
   1543 try:
   1544     result = None

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py:921, in catch_errors_wrapper.<locals>.catch_errors(frame, cache_entry, frame_state)
    917             return hijacked_callback(frame, cache_entry, hooks, frame_state)
    919 with compile_lock, _disable_current_modes():
    920     # skip=1: skip this frame
--> 921     return callback(frame, cache_entry, hooks, frame_state, skip=1)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py:400, in convert_frame_assert.<locals>._convert_frame_assert(frame, cache_entry, hooks, frame_state, skip)
    386 compile_id = CompileId(frame_id, frame_compile_id)
    388 signpost_event(
    389     "dynamo",
    390     "_convert_frame_assert._compile",
   (...)
    397     },
    398 )
--> 400 return _compile(
    401     frame.f_code,
    402     frame.f_globals,
    403     frame.f_locals,
    404     frame.f_builtins,
    405     compiler_fn,
    406     one_graph,
    407     export,
    408     export_constraints,
    409     hooks,
    410     cache_size,
    411     frame,
    412     frame_state=frame_state,
    413     compile_id=compile_id,
    414     skip=skip + 1,
    415 )

File /usr/lib/python3.10/contextlib.py:79, in ContextDecorator.__call__.<locals>.inner(*args, **kwds)
     76 @wraps(func)
     77 def inner(*args, **kwds):
     78     with self._recreate_cm():
---> 79         return func(*args, **kwds)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py:676, in _compile(code, globals, locals, builtins, compiler_fn, one_graph, export, export_constraints, hooks, cache_size, frame, frame_state, compile_id, skip)
    674 fail_user_frame_lineno: Optional[int] = None
    675 try:
--> 676     guarded_code = compile_inner(code, one_graph, hooks, transform)
    677     return guarded_code
    678 except (
    679     Unsupported,
    680     TorchRuntimeError,
   (...)
    687     BisectValidationException,
    688 ) as e:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:262, in dynamo_timed.<locals>.dynamo_timed_inner.<locals>.time_wrapper(*args, **kwargs)
    260 with torch.profiler.record_function(f"{key} (dynamo_timed)"):
    261     t0 = time.time()
--> 262     r = func(*args, **kwargs)
    263     time_spent = time.time() - t0
    264 compilation_time_metrics[key].append(time_spent)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py:535, in _compile.<locals>.compile_inner(code, one_graph, hooks, transform)
    533 CompileContext.get().attempt = attempt
    534 try:
--> 535     out_code = transform_code_object(code, transform)
    536     break
    537 except exc.RestartAnalysis as e:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/bytecode_transformation.py:1036, in transform_code_object(code, transformations, safe)
   1033 instructions = cleaned_instructions(code, safe)
   1034 propagate_line_nums(instructions)
-> 1036 transformations(instructions, code_options)
   1037 return clean_and_assemble_instructions(instructions, keys, code_options)[1]

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py:165, in preserve_global_state.<locals>._fn(*args, **kwargs)
    163 cleanup = setup_compile_debug()
    164 try:
--> 165     return fn(*args, **kwargs)
    166 finally:
    167     cleanup.close()

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/convert_frame.py:500, in _compile.<locals>.transform(instructions, code_options)
    498 try:
    499     with tracing(tracer.output.tracing_context), tracer.set_current_tx():
--> 500         tracer.run()
    501 except exc.UnspecializeRestartAnalysis:
    502     speculation_log.clear()

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:2149, in InstructionTranslator.run(self)
   2148 def run(self):
-> 2149     super().run()

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:810, in InstructionTranslatorBase.run(self)
    805 try:
    806     self.output.push_tx(self)
    807     while (
    808         self.instruction_pointer is not None
    809         and not self.output.should_exit
--> 810         and self.step()
    811     ):
    812         pass
    813 except BackendCompilerFailed:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:773, in InstructionTranslatorBase.step(self)
    769         unimplemented(f"missing: {inst.opname}")
    770     TracingContext.set_current_loc(
    771         self.f_code.co_filename, self.lineno, self.f_code.co_name
    772     )
--> 773     getattr(self, inst.opname)(inst)
    775     return inst.opname != "RETURN_VALUE"
    776 except Unsupported:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:489, in break_graph_if_unsupported.<locals>.decorator.<locals>.wrapper(self, inst)
    485 try:
    486     TracingContext.set_current_loc(
    487         self.f_code.co_filename, self.lineno, self.f_code.co_name
    488     )
--> 489     return inner_fn(self, inst)
    490 except Unsupported as excp:
    491     if self.generic_context_manager_depth > 0:
    492         # We don't support graph break under GenericContextWrappingVariable,
    493         # If there is, we roll back to the checkpoint and fall back.

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:1219, in InstructionTranslatorBase.CALL_FUNCTION(self, inst)
   1217 args = self.popn(inst.argval)
   1218 fn = self.pop()
-> 1219 self.call_function(fn, args, {})

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:674, in InstructionTranslatorBase.call_function(self, fn, args, kwargs)
    672 if inner_fn and callable(inner_fn) and is_forbidden(inner_fn):
    673     raise AssertionError(f"Attempt to trace forbidden callable {inner_fn}")
--> 674 self.push(fn.call_function(self, args, kwargs))

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/nn_module.py:336, in NNModuleVariable.call_function(self, tx, args, kwargs)
    334 else:
    335     assert istype(fn, types.FunctionType)
--> 336 return tx.inline_user_function_return(
    337     variables.UserFunctionVariable(fn, source=fn_source),
    338     args,
    339     kwargs,
    340 )

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:680, in InstructionTranslatorBase.inline_user_function_return(self, fn, args, kwargs)
    676 def inline_user_function_return(self, fn, args, kwargs):
    677     """
    678     A call to some user defined function by inlining it.
    679     """
--> 680     return InliningInstructionTranslator.inline_call(self, fn, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:2285, in InliningInstructionTranslator.inline_call(cls, parent, func, args, kwargs)
   2282 @classmethod
   2283 def inline_call(cls, parent, func, args, kwargs):
   2284     with patch.dict(counters, {"unimplemented": counters["inline_call"]}):
-> 2285         return cls.inline_call_(parent, func, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:2399, in InliningInstructionTranslator.inline_call_(parent, func, args, kwargs)
   2397 try:
   2398     with strict_ctx:
-> 2399         tracer.run()
   2400 except exc.SkipFrame as e:
   2401     msg = f"SKIPPED INLINING {code}: {e}"

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:810, in InstructionTranslatorBase.run(self)
    805 try:
    806     self.output.push_tx(self)
    807     while (
    808         self.instruction_pointer is not None
    809         and not self.output.should_exit
--> 810         and self.step()
    811     ):
    812         pass
    813 except BackendCompilerFailed:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:773, in InstructionTranslatorBase.step(self)
    769         unimplemented(f"missing: {inst.opname}")
    770     TracingContext.set_current_loc(
    771         self.f_code.co_filename, self.lineno, self.f_code.co_name
    772     )
--> 773     getattr(self, inst.opname)(inst)
    775     return inst.opname != "RETURN_VALUE"
    776 except Unsupported:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:489, in break_graph_if_unsupported.<locals>.decorator.<locals>.wrapper(self, inst)
    485 try:
    486     TracingContext.set_current_loc(
    487         self.f_code.co_filename, self.lineno, self.f_code.co_name
    488     )
--> 489     return inner_fn(self, inst)
    490 except Unsupported as excp:
    491     if self.generic_context_manager_depth > 0:
    492         # We don't support graph break under GenericContextWrappingVariable,
    493         # If there is, we roll back to the checkpoint and fall back.

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:1260, in InstructionTranslatorBase.CALL_FUNCTION_EX(self, inst)
   1258 # Map to a dictionary of str -> VariableTracker
   1259 kwargsvars = kwargsvars.keys_as_python_constant()
-> 1260 self.call_function(fn, argsvars.items, kwargsvars)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:674, in InstructionTranslatorBase.call_function(self, fn, args, kwargs)
    672 if inner_fn and callable(inner_fn) and is_forbidden(inner_fn):
    673     raise AssertionError(f"Attempt to trace forbidden callable {inner_fn}")
--> 674 self.push(fn.call_function(self, args, kwargs))

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py:335, in UserMethodVariable.call_function(self, tx, args, kwargs)
    327     if (
    328         module_attr is not None
    329         and module_attr.startswith("torch.nn.")
    330         or self.is_constant
    331     ):
    332         return self.obj.call_method(
    333             tx, self.fn.__name__, args, kwargs, constant=self.is_constant
    334         )
--> 335 return super().call_function(tx, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py:289, in UserFunctionVariable.call_function(self, tx, args, kwargs)
    284 if self.is_constant:
    285     return invoke_and_store_as_constant(
    286         tx, self.fn, self.get_name(), args, kwargs
    287     )
--> 289 return super().call_function(tx, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/functions.py:90, in BaseUserFunctionVariable.call_function(self, tx, args, kwargs)
     87 def call_function(
     88     self, tx, args: "List[VariableTracker]", kwargs: "Dict[str, VariableTracker]"
     89 ) -> "VariableTracker":
---> 90     return tx.inline_user_function_return(
     91         self, list(self.self_args()) + list(args), kwargs
     92     )

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:680, in InstructionTranslatorBase.inline_user_function_return(self, fn, args, kwargs)
    676 def inline_user_function_return(self, fn, args, kwargs):
    677     """
    678     A call to some user defined function by inlining it.
    679     """
--> 680     return InliningInstructionTranslator.inline_call(self, fn, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:2285, in InliningInstructionTranslator.inline_call(cls, parent, func, args, kwargs)
   2282 @classmethod
   2283 def inline_call(cls, parent, func, args, kwargs):
   2284     with patch.dict(counters, {"unimplemented": counters["inline_call"]}):
-> 2285         return cls.inline_call_(parent, func, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:2399, in InliningInstructionTranslator.inline_call_(parent, func, args, kwargs)
   2397 try:
   2398     with strict_ctx:
-> 2399         tracer.run()
   2400 except exc.SkipFrame as e:
   2401     msg = f"SKIPPED INLINING {code}: {e}"

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:810, in InstructionTranslatorBase.run(self)
    805 try:
    806     self.output.push_tx(self)
    807     while (
    808         self.instruction_pointer is not None
    809         and not self.output.should_exit
--> 810         and self.step()
    811     ):
    812         pass
    813 except BackendCompilerFailed:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:773, in InstructionTranslatorBase.step(self)
    769         unimplemented(f"missing: {inst.opname}")
    770     TracingContext.set_current_loc(
    771         self.f_code.co_filename, self.lineno, self.f_code.co_name
    772     )
--> 773     getattr(self, inst.opname)(inst)
    775     return inst.opname != "RETURN_VALUE"
    776 except Unsupported:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:489, in break_graph_if_unsupported.<locals>.decorator.<locals>.wrapper(self, inst)
    485 try:
    486     TracingContext.set_current_loc(
    487         self.f_code.co_filename, self.lineno, self.f_code.co_name
    488     )
--> 489     return inner_fn(self, inst)
    490 except Unsupported as excp:
    491     if self.generic_context_manager_depth > 0:
    492         # We don't support graph break under GenericContextWrappingVariable,
    493         # If there is, we roll back to the checkpoint and fall back.

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:1219, in InstructionTranslatorBase.CALL_FUNCTION(self, inst)
   1217 args = self.popn(inst.argval)
   1218 fn = self.pop()
-> 1219 self.call_function(fn, args, {})

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/symbolic_convert.py:674, in InstructionTranslatorBase.call_function(self, fn, args, kwargs)
    672 if inner_fn and callable(inner_fn) and is_forbidden(inner_fn):
    673     raise AssertionError(f"Attempt to trace forbidden callable {inner_fn}")
--> 674 self.push(fn.call_function(self, args, kwargs))

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/nn_module.py:309, in NNModuleVariable.call_function(self, tx, args, kwargs)
    305         self.convert_to_unspecialized(tx)
    307     from .builder import wrap_fx_proxy
--> 309     return wrap_fx_proxy(
    310         tx=tx,
    311         proxy=tx.output.create_proxy(
    312             "call_module",
    313             self.module_key,
    314             *proxy_args_kwargs(args, kwargs),
    315         ),
    316     )
    317 else:
    318     assert self.source, (
    319         "Must provide a valid source in order to inline, "
    320         "since inlined function may have default args which must be guarded."
    321     )

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/builder.py:1330, in wrap_fx_proxy(tx, proxy, example_value, subclass_type, **options)
   1322 kwargs = {
   1323     "tx": tx,
   1324     "proxy": proxy,
   (...)
   1327     **options,
   1328 }
   1329 if subclass_type is None:
-> 1330     return wrap_fx_proxy_cls(target_cls=TensorVariable, **kwargs)
   1331 else:
   1332     result = wrap_fx_proxy_cls(target_cls=TensorWithTFOverrideVariable, **kwargs)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/variables/builder.py:1415, in wrap_fx_proxy_cls(target_cls, tx, proxy, example_value, subclass_type, **options)
   1411 with preserve_rng_state():
   1412     if example_value is None:
   1413         # only allow_non_graph_fake in this instance because we handle the non-fake
   1414         # cases properly below.
-> 1415         example_value = get_fake_value(proxy.node, tx, allow_non_graph_fake=True)
   1417     # Handle recursive calls here
   1418     elif maybe_get_fake_mode(example_value) is tx.fake_mode:

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:1714, in get_fake_value(node, tx, allow_non_graph_fake)
   1712     elif isinstance(cause, ValueRangeError):
   1713         raise UserError(UserErrorType.CONSTRAINT_VIOLATION, e.args[0]) from e
-> 1714     raise TorchRuntimeError(str(e)).with_traceback(e.__traceback__) from None
   1716 if not allow_non_graph_fake:
   1717     _ = tree_map_only(
   1718         torch.Tensor, functools.partial(ensure_graph_fake, tx=tx), ret_val
   1719     )

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:1656, in get_fake_value(node, tx, allow_non_graph_fake)
   1654 try:
   1655     with tx.fake_mode, enable_python_dispatcher():
-> 1656         ret_val = wrap_fake_exception(
   1657             lambda: run_node(tx.output, node, args, kwargs, nnmodule)
   1658         )
   1659 except Unsupported:
   1660     raise

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:1190, in wrap_fake_exception(fn)
   1188 def wrap_fake_exception(fn):
   1189     try:
-> 1190         return fn()
   1191     except UnsupportedFakeTensorException as e:
   1192         from .exc import unimplemented

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:1657, in get_fake_value.<locals>.<lambda>()
   1654 try:
   1655     with tx.fake_mode, enable_python_dispatcher():
   1656         ret_val = wrap_fake_exception(
-> 1657             lambda: run_node(tx.output, node, args, kwargs, nnmodule)
   1658         )
   1659 except Unsupported:
   1660     raise

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:1782, in run_node(tracer, node, args, kwargs, nnmodule)
   1780         raise unimplemented(make_error_message(e)) from e
   1781     except Exception as e:
-> 1782         raise RuntimeError(make_error_message(e)).with_traceback(
   1783             e.__traceback__
   1784         ) from e
   1786 raise AssertionError(op)

File ~/.local/lib/python3.10/site-packages/torch/_dynamo/utils.py:1769, in run_node(tracer, node, args, kwargs, nnmodule)
   1767 elif op == "call_module":
   1768     assert nnmodule is not None
-> 1769     return nnmodule(*args, **kwargs)
   1770 elif op == "get_attr":
   1771     return tracer.get_submodule(node.target)

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1532, in Module._wrapped_call_impl(self, *args, **kwargs)
   1530     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
   1531 else:
-> 1532     return self._call_impl(*args, **kwargs)

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1541, in Module._call_impl(self, *args, **kwargs)
   1536 # If we don't have any hooks, we want to skip the rest of the logic in
   1537 # this function, and just call forward.
   1538 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
   1539         or _global_backward_pre_hooks or _global_backward_hooks
   1540         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1541     return forward_call(*args, **kwargs)
   1543 try:
   1544     result = None

File ~/.local/lib/python3.10/site-packages/torch/nn/modules/linear.py:116, in Linear.forward(self, input)
    115 def forward(self, input: Tensor) -> Tensor:
--> 116     return F.linear(input, self.weight, self.bias)

File ~/.local/lib/python3.10/site-packages/torchao/dtypes/utils.py:54, in _dispatch__torch_function__(cls, func, types, args, kwargs)
     51 kwargs = {} if kwargs is None else kwargs
     52 if hasattr(cls, "_ATEN_OP_OR_TORCH_FN_TABLE") and \
     53    func in cls._ATEN_OP_OR_TORCH_FN_TABLE:
---> 54     return cls._ATEN_OP_OR_TORCH_FN_TABLE[func](func, types, args, kwargs)
     56 with torch._C.DisableTorchFunctionSubclass():
     57     return func(*args, **kwargs)

File ~/.local/lib/python3.10/site-packages/torchao/dtypes/utils.py:37, in _implements.<locals>.decorator.<locals>.wrapper(f, types, args, kwargs)
     35 @functools.wraps(op)
     36 def wrapper(f, types, args, kwargs):
---> 37     return func(f, types, args, kwargs)

File ~/.local/lib/python3.10/site-packages/torchao/dtypes/affine_quantized_tensor.py:1218, in _(func, types, args, kwargs)
   1214 # using try/except here so that we can have a general fallback when input_tensor/weight_tensor
   1215 # is not picked up by any of the dispatch paths in `_quantized_linear_op`, this allows us to
   1216 # make the branches easier to understand in `_quantized_linear_op`
   1217 try:
-> 1218     return weight_tensor._quantized_linear_op(input_tensor, weight_tensor, bias)
   1219 except QuantizedLinearNotImplementedError:
   1220     if isinstance(input_tensor, AffineQuantizedTensor):

File ~/.local/lib/python3.10/site-packages/torchao/dtypes/affine_quantized_tensor.py:193, in AffineQuantizedTensor._quantized_linear_op(input_tensor, weight_tensor, bias)
    190 @staticmethod
    191 def _quantized_linear_op(input_tensor, weight_tensor, bias):
    192     for dispatch_condition, impl in _QLINEAR_DISPATCH_TABLE.items():
--> 193         if dispatch_condition(input_tensor, weight_tensor, bias):
    194             return impl(input_tensor, weight_tensor, bias)
    195     raise QuantizedLinearNotImplementedError("No specialized dispatch found for quantized linear op")

File ~/.local/lib/python3.10/site-packages/torchao/dtypes/affine_quantized_tensor.py:1059, in _linear_fp_act_int8_weight_check(input_tensor, weight_tensor, bias)
   1046 def _linear_fp_act_int8_weight_check(input_tensor, weight_tensor, bias):
   1047     return (
   1048         # input is native float tensor
   1049         not is_traceable_wrapper_subclass(input_tensor) and
   1050         input_tensor.is_floating_point() and
   1051         # weight is int8 per channel quantized affine quantized tensor
   1052         isinstance(weight_tensor, AffineQuantizedTensor) and
   1053         _aqt_is_int8(weight_tensor) and
   1054         len(weight_tensor.shape) == 2 and
   1055         len(weight_tensor.block_size) == 2 and
   1056         weight_tensor.block_size[0] == 1 and
   1057         weight_tensor.block_size[1] == weight_tensor.shape[1] and
   1058         weight_tensor.zero_point_domain == ZeroPointDomain.INT and
-> 1059         isinstance(weight_tensor.layout_type, PlainLayoutType)
   1060     )

File ~/.local/lib/python3.10/site-packages/torchao/dtypes/affine_quantized_tensor.py:359, in AffineQuantizedTensor.layout_type(self)
    357 @property
    358 def layout_type(self) -> LayoutType:
--> 359     return self.layout_tensor.layout_type

TorchRuntimeError: Failed running call_module L__self___time_embedding_linear_1(*(FakeTensor(..., device='cuda:0', size=(2, 1920), dtype=torch.bfloat16),), **{}):
'FakeTensor' object has no attribute 'layout_type'

My packages installed (with no conflicts according to pip) is:

accelerate==0.33.0
aiohappyeyeballs==2.4.0
aiohttp==3.10.5
aiosignal==1.3.1
anyio==4.4.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
async-timeout==4.0.3
attrs==23.2.0
Automat==22.10.0
Babel==2.10.3
bcrypt==3.2.2
beautifulsoup4==4.12.3
bleach==6.1.0
blinker==1.7.0
certifi==2023.11.17
cffi==1.17.0
chardet==5.2.0
click==8.1.6
cloud-init==24.1.3
colorama==0.4.6
comm==0.2.2
command-not-found==0.3
configobj==5.0.8
constantly==23.10.4
cryptography==41.0.7
dbus-python==1.3.2
debugpy==1.8.5
decorator==5.1.1
defusedxml==0.7.1
diffusers==0.30.2
distro==1.9.0
distro-info==1.7+build1
einops==0.8.0
exceptiongroup==1.2.2
executing==2.1.0
fastjsonschema==2.20.0
filelock==3.15.4
fqdn==1.5.1
frozenlist==1.4.1
fsspec==2024.6.1
h11==0.14.0
httpcore==1.0.5
httplib2==0.20.4
httpx==0.27.2
huggingface-hub==0.24.6
hyperlink==21.0.0
idna==3.6
importlib_metadata==8.4.0
incremental==22.10.0
ipykernel==6.29.5
ipython==8.27.0
ipywidgets==8.1.5
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.4
json5==0.9.25
jsonpatch==1.32
jsonpointer==2.0
jsonschema==4.23.0
jsonschema-specifications==2023.12.1
jupyter==1.1.1
jupyter-console==6.6.3
jupyter-events==0.10.0
jupyter-lsp==2.2.5
jupyter_client==8.6.2
jupyter_core==5.7.2
jupyter_server==2.14.2
jupyter_server_terminals==0.5.3
jupyterlab==4.2.5
jupyterlab_pygments==0.3.0
jupyterlab_server==2.27.3
jupyterlab_widgets==3.0.13
kornia==0.7.3
kornia_rs==0.1.5
launchpadlib==1.11.0
lazr.restfulclient==0.14.6
lazr.uri==1.0.6
llvmlite==0.43.0
markdown-it-py==3.0.0
MarkupSafe==2.1.5
matplotlib-inline==0.1.7
mdurl==0.1.2
mistune==3.0.2
mpmath==1.3.0
multidict==6.0.5
nbclient==0.10.0
nbconvert==7.16.4
nbformat==5.10.4
nest-asyncio==1.6.0
netifaces==0.11.0
networkx==3.3
notebook==7.2.2
notebook_shim==0.2.4
numba==0.60.0
numpy==1.26.4
nvidia-cublas-cu12==12.1.3.1
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==8.9.2.26
nvidia-cufft-cu12==11.0.2.54
nvidia-curand-cu12==10.3.2.106
nvidia-cusolver-cu12==11.4.5.107
nvidia-cusparse-cu12==12.1.0.106
nvidia-nccl-cu12==2.20.5
nvidia-nvjitlink-cu12==12.6.68
nvidia-nvtx-cu12==12.1.105
oauthlib==3.2.2
opencv-python-headless==4.10.0.84
overrides==7.7.0
packaging==24.1
pandocfilters==1.5.1
parso==0.8.4
pexpect==4.9.0
pillow==10.4.0
platformdirs==4.2.2
prometheus_client==0.20.0
prompt_toolkit==3.0.47
psutil==6.0.0
ptyprocess==0.7.0
pure_eval==0.2.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.22
pycurl==7.45.3
Pygments==2.17.2
PyGObject==3.48.2
PyHamcrest==2.1.0
PyJWT==2.7.0
pyOpenSSL==23.2.0
pyparsing==3.1.1
pyrsistent==0.20.0
pyserial==3.5
python-apt==2.7.7+ubuntu1
python-dateutil==2.9.0.post0
python-json-logger==2.0.7
pytz==2024.1
PyYAML==6.0.1
pyzmq==26.2.0
referencing==0.35.1
regex==2024.7.24
requests==2.31.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rich==13.7.1
rpds-py==0.20.0
safetensors==0.4.4
scipy==1.14.1
Send2Trash==1.8.3
sentencepiece==0.2.0
service-identity==24.1.0
six==1.16.0
sniffio==1.3.1
soundfile==0.12.1
soupsieve==2.6
spandrel==0.3.4
stack-data==0.6.3
sympy==1.13.2
systemd-python==235
terminado==0.18.1
tinycss2==1.3.0
tokenizers==0.19.1
tomli==2.0.1
torch==2.3.1+cu121
torchao==0.5.0.dev20240902+cu121
torchaudio==2.3.1+cu121
torchsde==0.2.6
torchvision==0.18.1+cu121
tornado==6.4.1
tqdm==4.66.5
traitlets==5.14.3
trampoline==0.1.2
transformers==4.44.2
triton==2.3.1
Twisted==24.3.0
types-python-dateutil==2.9.0.20240821
typing_extensions==4.12.2
ubuntu-pro-client==8001
unattended-upgrades==0.1
uri-template==1.3.0
urllib3==2.0.7
wadllib==1.3.6
wcwidth==0.2.13
webcolors==24.8.0
webencodings==0.5.1
websocket-client==1.8.0
widgetsnbextension==4.0.13
xformers==0.0.27
yarl==1.9.7
zipp==3.20.1
zope.interface==6.1

WAS-PlaiLabs avatar Sep 02 '24 05:09 WAS-PlaiLabs