Skip to content

Unable to convert gemma3 to ExecuTorch format #200

@Himanshunitrr

Description

@Himanshunitrr

🐛 Describe the bug

I ran:

conda create -n optimum-executorch python=3.11
conda activate optimum-executorch

git clone https://github.com/huggingface/optimum-executorch.git
cd optimum-executorch
pip install '.[dev]'

Ran:

optimum-cli export executorch \
  --model "google/gemma-3-4b-it" \
  --task "multimodal-text-to-text" \
  --recipe "cuda" \
  --dtype bfloat16 \
  --device cuda \
  --qlinear 4w \
  --qlinear_encoder 4w \
  --qlinear_packing_format tile_packed_to_4d \
  --qlinear_encoder_packing_format tile_packed_to_4d \
  --output_dir="/scratch/hmaurya/executorch/gemma"

I am getting:

Skipping import of cpp extensions due to incompatible torch version 2.9.1+cu128 for torchao version 0.14.0         Please see GitHub issue #2919 for more info
Loading weights: 100%|█| 883/883 [00:39<00:00, 22.49it/s, Materializing param=model.vision_
Traceback (most recent call last):
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/bin/optimum-cli", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/optimum_cli.py", line 219, in main
    service.run()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/export/executorch.py", line 267, in run
    main_export(
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/__main__.py", line 138, in main_export
    model = task_func(model_name_or_path, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/tasks/multimodal_text_to_text.py", line 167, in load_multimodal_text_to_text_model
    quantize_model_(**quantize_decoder_kwargs)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/quantization.py", line 34, in quantize_model_
    from torchao.experimental.quant_api import UIntxWeightOnlyConfig
ImportError: cannot import name 'UIntxWeightOnlyConfig' from 'torchao.experimental.quant_api' (/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/experimental/quant_api.py)

as I am not using quant_config_key == "fpa4w" so I commented out its import and its usage.... but then I get:

Skipping import of cpp extensions due to incompatible torch version 2.9.1+cu128 for torchao version 0.14.0         Please see GitHub issue #2919 for more info
Loading weights: 100%|█| 883/883 [00:04<00:00, 186.10it/s, Materializing param=model.vision
`torch_dtype` is deprecated! Use `dtype` instead!
WARNING:coremltools:scikit-learn version 1.7.1 is not supported. Minimum required version: 0.17. Maximum required version: 1.5.1. Disabling scikit-learn conversion API.
WARNING:coremltools:Torch version 2.9.1+cu128 has not been tested with coremltools. You may run into unexpected errors. Torch 2.7.0 is the most recent version that has been tested.
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLCPUComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLGPUComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLNeuralEngineComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLComputePlanProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelAssetProxy: No module named 'coremltools.libcoremlpython'
I tokenizers:regex.cpp:27] Registering override fallback regex
/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py:1711: UserWarning: While exporting, we found certain side effects happened in the model.forward. Here are the list of potential sources you can double check: ["L['self'].cache.layers[0]", "L['self'].cache.layers[1]", "L['self'].cache.layers[2]", "L['self'].cache.layers[3]", "L['self'].cache.layers[4]", "L['self'].cache.layers[6]", "L['self'].cache.layers[7]", "L['self'].cache.layers[8]", "L['self'].cache.layers[9]", "L['self'].cache.layers[10]", "L['self'].cache.layers[12]", "L['self'].cache.layers[13]", "L['self'].cache.layers[14]", "L['self'].cache.layers[15]", "L['self'].cache.layers[16]", "L['self'].cache.layers[18]", "L['self'].cache.layers[19]", "L['self'].cache.layers[20]", "L['self'].cache.layers[21]", "L['self'].cache.layers[22]", "L['self'].cache.layers[24]", "L['self'].cache.layers[25]", "L['self'].cache.layers[26]", "L['self'].cache.layers[27]", "L['self'].cache.layers[28]", "L['self'].cache.layers[30]", "L['self'].cache.layers[31]", "L['self'].cache.layers[32]", "L['self'].cache.layers[33]"]
  warnings.warn(
Traceback (most recent call last):
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/bin/optimum-cli", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/optimum_cli.py", line 219, in main
    service.run()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/export/executorch.py", line 267, in run
    main_export(
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/__main__.py", line 145, in main_export
    return export_to_executorch(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/convert.py", line 79, in export_to_executorch
    executorch_progs = recipe_func(model, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/recipes/cuda.py", line 148, in export_to_executorch_with_cuda
    exported_progs = model.export()
                     ^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/integrations.py", line 339, in export
    exported_program = torch.export.export(
                       ^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/__init__.py", line 311, in export
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/__init__.py", line 277, in export
    return _export(
           ^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1163, in wrapper
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1129, in wrapper
    ep = fn(*args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/exported_program.py", line 124, in wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 2255, in _export
    ep = _export_for_training(
         ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1163, in wrapper
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1129, in wrapper
    ep = fn(*args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/exported_program.py", line 124, in wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 2071, in _export_for_training
    export_artifact = export_func(
                      ^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1415, in _strict_export
    gm_torch_level = _export_to_torch_ir(
                     ^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 812, in _export_to_torch_ir
    gm_torch_level, _ = torch._dynamo.export(
                        ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 2002, in inner
    result_traced = opt_f(*args, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 414, in __call__
    return super().__call__(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1775, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1786, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 832, in compile_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/fx/graph_module.py", line 837, in call_wrapped
    return self._wrapped_call(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/fx/graph_module.py", line 413, in __call__
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/fx/graph_module.py", line 400, in __call__
    return super(self.cls, obj).__call__(*args, **kwargs)  # type: ignore[misc]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1775, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1878, in _call_impl
    return inner()
           ^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1829, in inner
    result = forward_call(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1875, in __call__
    result = self._torchdynamo_orig_backend(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 688, in __call__
    result = _compile(
             ^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1495, in _compile
    raise InternalTorchDynamoError(
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1434, in _compile
    guarded_code, tracer_output = compile_inner(code, one_graph, hooks)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_utils_internal.py", line 92, in wrapper_function
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1117, in compile_inner
    return _compile_inner(code, one_graph, hooks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1151, in _compile_inner
    dynamo_output = compile_frame(
                    ^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1032, in compile_frame
    bytecode, tracer_output = transform_code_object(code, transform)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/bytecode_transformation.py", line 1592, in transform_code_object
    tracer_output = transformations(instructions, code_options)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1004, in transform
    tracer_output = trace_frame(
                    ^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 312, in _fn
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 815, in trace_frame
    run_tracer()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 797, in run_tracer
    tracer.run()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 1500, in run
    while self.step():
          ^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 1348, in step
    self.dispatch_table[inst.opcode](self, inst)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2450, in LOAD_ATTR
    self._load_attr(inst)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2438, in _load_attr
    result = BuiltinVariable(getattr).call_function(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1347, in call_function
    return handler(tx, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 966, in <lambda>
    return lambda tx, args, kwargs: obj.call_function(
                                    ^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1347, in call_function
    return handler(tx, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1154, in builtin_dispatch
    rv = fn(tx, args, kwargs)
         ^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1032, in call_self_handler
    result = self_handler(tx, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 2290, in call_getattr
    return obj.var_getattr(tx, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/nn_module.py", line 377, in var_getattr
    if isinstance(out, (NNModuleVariable, UnspecializedNNModuleVariable)):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/base.py", line 227, in __instancecheck__
    instance = instance.realize()
               ^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/lazy.py", line 72, in realize
    self._cache.realize()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/lazy.py", line 33, in realize
    self.vt = builder.VariableBuilder(tx, self.source)(self.value)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 446, in __call__
    vt = self._wrap(value)
         ^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 697, in _wrap
    return self.wrap_tensor(value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2019, in wrap_tensor
    return self.tx.output.register_attr_or_module(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1127, in register_attr_or_module
    return wrap_name(name)
           ^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1037, in wrap_name
    vt = wrap_fx_proxy(
         ^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2645, in wrap_fx_proxy
    return wrap_fx_proxy_cls(target_cls=TensorVariable, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2715, in wrap_fx_proxy_cls
    return _wrap_fx_preexisting_tensor(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2758, in _wrap_fx_preexisting_tensor
    cache_real_value_when_export(tx, proxy, tensor)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2658, in cache_real_value_when_export
    proxy.tracer.real_value_cache[proxy.node] = _clone_input(
                                                ^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2629, in _clone_input
    value = clone_input(value)
            ^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/utils.py", line 2155, in clone_input
    result.copy_(x.clone())
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 674, in _dispatch__torch_dispatch__
    return cls._ATEN_OP_OR_TORCH_FN_TABLE[cls][func](func, types, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 491, in wrapper
    return func(f, types, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 567, in _
    if _same_metadata(self, src):
       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 530, in _same_metadata
    for t_name in self.tensor_data_names
                  ^^^^^^^^^^^^^^^^^^^^^^
torch._dynamo.exc.InternalTorchDynamoError: AttributeError: 'Tensor' object has no attribute 'tensor_data_names'

from user code:
   File "<eval_with_key>.23", line 687, in forward
    model_lm_head_weight = self.model.lm_head.weight

Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"

and when I tried:

optimum-cli export executorch   --model "google/gemma-3-4b-it"   --task "multimodal-text-to-text"   --recipe "cuda"   --dtype bfloat16   --device cuda   --output_dir="/scratch/hmaurya/executorch/gemma"

error:

Skipping import of cpp extensions due to incompatible torch version 2.9.1+cu128 for torchao version 0.14.0         Please see GitHub issue #2919 for more info
Loading weights: 100%|█| 883/883 [00:03<00:00, 233.86it/s, Materializing param=model.vision
`torch_dtype` is deprecated! Use `dtype` instead!
WARNING:coremltools:scikit-learn version 1.7.1 is not supported. Minimum required version: 0.17. Maximum required version: 1.5.1. Disabling scikit-learn conversion API.
WARNING:coremltools:Torch version 2.9.1+cu128 has not been tested with coremltools. You may run into unexpected errors. Torch 2.7.0 is the most recent version that has been tested.
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLCPUComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLGPUComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLNeuralEngineComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLComputePlanProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelAssetProxy: No module named 'coremltools.libcoremlpython'
I tokenizers:regex.cpp:27] Registering override fallback regex
/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py:1711: UserWarning: While exporting, we found certain side effects happened in the model.forward. Here are the list of potential sources you can double check: ["L['self'].cache.layers[0]", "L['self'].cache.layers[1]", "L['self'].cache.layers[2]", "L['self'].cache.layers[3]", "L['self'].cache.layers[4]", "L['self'].cache.layers[6]", "L['self'].cache.layers[7]", "L['self'].cache.layers[8]", "L['self'].cache.layers[9]", "L['self'].cache.layers[10]", "L['self'].cache.layers[12]", "L['self'].cache.layers[13]", "L['self'].cache.layers[14]", "L['self'].cache.layers[15]", "L['self'].cache.layers[16]", "L['self'].cache.layers[18]", "L['self'].cache.layers[19]", "L['self'].cache.layers[20]", "L['self'].cache.layers[21]", "L['self'].cache.layers[22]", "L['self'].cache.layers[24]", "L['self'].cache.layers[25]", "L['self'].cache.layers[26]", "L['self'].cache.layers[27]", "L['self'].cache.layers[28]", "L['self'].cache.layers[30]", "L['self'].cache.layers[31]", "L['self'].cache.layers[32]", "L['self'].cache.layers[33]"]
  warnings.warn(
W1230 00:51:22.887000 596761 site-packages/torch/fx/experimental/symbolic_shapes.py:6833] [1/0] _maybe_guard_rel() was called on non-relation expression Eq(s29, s58) | Eq(s58, 1)
Using a slow image processor as `use_fast` is unset and a slow processor was saved with this model. `use_fast=True` will be the default behavior in v4.52, even if the model was saved with a slow processor. This will result in minor differences in outputs. You'll still be able to use a slow processor with `use_fast=False`.
tokenizer_config.json: 100%|██████████████████████████| 1.16M/1.16M [00:00<00:00, 23.1MB/s]
tokenizer.json: 100%|█████████████████████████████████| 33.4M/33.4M [00:00<00:00, 76.4MB/s]
added_tokens.json: 100%|█████████████████████████████████| 35.0/35.0 [00:00<00:00, 173kB/s]
special_tokens_map.json: 100%|████████████████████████████| 662/662 [00:00<00:00, 3.67MB/s]
Traceback (most recent call last):
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/bin/optimum-cli", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/optimum_cli.py", line 219, in main
    service.run()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/export/executorch.py", line 267, in run
    main_export(
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/__main__.py", line 145, in main_export
    return export_to_executorch(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/convert.py", line 79, in export_to_executorch
    executorch_progs = recipe_func(model, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/recipes/cuda.py", line 150, in export_to_executorch_with_cuda
    return lower_to_executorch(exported_progs, model.metadata, model_config=getattr(model, "config", None))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/recipes/cuda.py", line 54, in lower_to_executorch
    from torch._inductor.decomposition import conv1d_to_conv2d
ImportError: cannot import name 'conv1d_to_conv2d' from 'torch._inductor.decomposition' (/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_inductor/decomposition.py)

then I tried: pytorch/ao#2919 (comment) but still got the same error:

(optimum-executorch) [hmaurya@hyper-01-prod-comp-di-0242-66 optimum-executorch]$ optimum-cli export executorch   --model "google/gemma-3-4b-it"   --task "multimodal-text-to-text"   --recipe "cuda"   --dtype bfloat16   --device cuda   --qlinear 4w   --qlinear_encoder 4w   --qlinear_packing_format tile_packed_to_4d   --qlinear_encoder_packing_format tile_packed_to_4d   --output_dir="/scratch/hmaurya/executorch/gemma"
Skipping import of cpp extensions due to incompatible torch version 2.9.1+cu128 for torchao version 0.14.1+cu129             Please see https://github.com/pytorch/ao/issues/2919 for more info
TMA benchmarks will be running without grid constant TMA descriptor.
Loading weights: 100%|█| 883/883 [00:41<00:00, 21.05it/s, Materializing param=model.vision_
`torch_dtype` is deprecated! Use `dtype` instead!
WARNING:coremltools:scikit-learn version 1.7.1 is not supported. Minimum required version: 0.17. Maximum required version: 1.5.1. Disabling scikit-learn conversion API.
WARNING:coremltools:Torch version 2.9.1+cu128 has not been tested with coremltools. You may run into unexpected errors. Torch 2.7.0 is the most recent version that has been tested.
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLCPUComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLGPUComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLNeuralEngineComputeDeviceProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLComputePlanProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelProxy: No module named 'coremltools.libcoremlpython'
WARNING:coremltools:Failed to load _MLModelAssetProxy: No module named 'coremltools.libcoremlpython'
I tokenizers:regex.cpp:27] Registering override fallback regex
/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py:1711: UserWarning: While exporting, we found certain side effects happened in the model.forward. Here are the list of potential sources you can double check: ["L['self'].cache.layers[0]", "L['self'].cache.layers[1]", "L['self'].cache.layers[2]", "L['self'].cache.layers[3]", "L['self'].cache.layers[4]", "L['self'].cache.layers[6]", "L['self'].cache.layers[7]", "L['self'].cache.layers[8]", "L['self'].cache.layers[9]", "L['self'].cache.layers[10]", "L['self'].cache.layers[12]", "L['self'].cache.layers[13]", "L['self'].cache.layers[14]", "L['self'].cache.layers[15]", "L['self'].cache.layers[16]", "L['self'].cache.layers[18]", "L['self'].cache.layers[19]", "L['self'].cache.layers[20]", "L['self'].cache.layers[21]", "L['self'].cache.layers[22]", "L['self'].cache.layers[24]", "L['self'].cache.layers[25]", "L['self'].cache.layers[26]", "L['self'].cache.layers[27]", "L['self'].cache.layers[28]", "L['self'].cache.layers[30]", "L['self'].cache.layers[31]", "L['self'].cache.layers[32]", "L['self'].cache.layers[33]"]
  warnings.warn(
Traceback (most recent call last):
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/bin/optimum-cli", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/optimum_cli.py", line 219, in main
    service.run()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/commands/export/executorch.py", line 267, in run
    main_export(
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/__main__.py", line 145, in main_export
    return export_to_executorch(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/convert.py", line 79, in export_to_executorch
    executorch_progs = recipe_func(model, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/recipes/cuda.py", line 148, in export_to_executorch_with_cuda
    exported_progs = model.export()
                     ^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/optimum/exporters/executorch/integrations.py", line 339, in export
    exported_program = torch.export.export(
                       ^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/__init__.py", line 311, in export
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/__init__.py", line 277, in export
    return _export(
           ^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1163, in wrapper
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1129, in wrapper
    ep = fn(*args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/exported_program.py", line 124, in wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 2255, in _export
    ep = _export_for_training(
         ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1163, in wrapper
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1129, in wrapper
    ep = fn(*args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/exported_program.py", line 124, in wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 2071, in _export_for_training
    export_artifact = export_func(
                      ^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 1415, in _strict_export
    gm_torch_level = _export_to_torch_ir(
                     ^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/export/_trace.py", line 812, in _export_to_torch_ir
    gm_torch_level, _ = torch._dynamo.export(
                        ^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 2002, in inner
    result_traced = opt_f(*args, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 414, in __call__
    return super().__call__(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1775, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1786, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 832, in compile_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/fx/graph_module.py", line 837, in call_wrapped
    return self._wrapped_call(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/fx/graph_module.py", line 413, in __call__
    raise e
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/fx/graph_module.py", line 400, in __call__
    return super(self.cls, obj).__call__(*args, **kwargs)  # type: ignore[misc]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1775, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1878, in _call_impl
    return inner()
           ^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1829, in inner
    result = forward_call(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1875, in __call__
    result = self._torchdynamo_orig_backend(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 688, in __call__
    result = _compile(
             ^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1495, in _compile
    raise InternalTorchDynamoError(
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1434, in _compile
    guarded_code, tracer_output = compile_inner(code, one_graph, hooks)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_utils_internal.py", line 92, in wrapper_function
    return function(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1117, in compile_inner
    return _compile_inner(code, one_graph, hooks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1151, in _compile_inner
    dynamo_output = compile_frame(
                    ^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1032, in compile_frame
    bytecode, tracer_output = transform_code_object(code, transform)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/bytecode_transformation.py", line 1592, in transform_code_object
    tracer_output = transformations(instructions, code_options)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1004, in transform
    tracer_output = trace_frame(
                    ^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 312, in _fn
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 815, in trace_frame
    run_tracer()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 797, in run_tracer
    tracer.run()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 1500, in run
    while self.step():
          ^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 1348, in step
    self.dispatch_table[inst.opcode](self, inst)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2450, in LOAD_ATTR
    self._load_attr(inst)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2438, in _load_attr
    result = BuiltinVariable(getattr).call_function(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1347, in call_function
    return handler(tx, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 966, in <lambda>
    return lambda tx, args, kwargs: obj.call_function(
                                    ^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1347, in call_function
    return handler(tx, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1154, in builtin_dispatch
    rv = fn(tx, args, kwargs)
         ^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 1032, in call_self_handler
    result = self_handler(tx, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builtin.py", line 2290, in call_getattr
    return obj.var_getattr(tx, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/nn_module.py", line 377, in var_getattr
    if isinstance(out, (NNModuleVariable, UnspecializedNNModuleVariable)):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/base.py", line 227, in __instancecheck__
    instance = instance.realize()
               ^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/lazy.py", line 72, in realize
    self._cache.realize()
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/lazy.py", line 33, in realize
    self.vt = builder.VariableBuilder(tx, self.source)(self.value)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 446, in __call__
    vt = self._wrap(value)
         ^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 697, in _wrap
    return self.wrap_tensor(value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2019, in wrap_tensor
    return self.tx.output.register_attr_or_module(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1127, in register_attr_or_module
    return wrap_name(name)
           ^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1037, in wrap_name
    vt = wrap_fx_proxy(
         ^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2645, in wrap_fx_proxy
    return wrap_fx_proxy_cls(target_cls=TensorVariable, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2715, in wrap_fx_proxy_cls
    return _wrap_fx_preexisting_tensor(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2758, in _wrap_fx_preexisting_tensor
    cache_real_value_when_export(tx, proxy, tensor)
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2658, in cache_real_value_when_export
    proxy.tracer.real_value_cache[proxy.node] = _clone_input(
                                                ^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/variables/builder.py", line 2629, in _clone_input
    value = clone_input(value)
            ^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torch/_dynamo/utils.py", line 2155, in clone_input
    result.copy_(x.clone())
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 674, in _dispatch__torch_dispatch__
    return cls._ATEN_OP_OR_TORCH_FN_TABLE[cls][func](func, types, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 491, in wrapper
    return func(f, types, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 567, in _
    if _same_metadata(self, src):
       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/group/anantm-g00/hmaurya/envs/optimum-executorch/lib/python3.11/site-packages/torchao/utils.py", line 530, in _same_metadata
    for t_name in self.tensor_data_names
                  ^^^^^^^^^^^^^^^^^^^^^^
torch._dynamo.exc.InternalTorchDynamoError: AttributeError: 'Tensor' object has no attribute 'tensor_data_names'

from user code:
   File "<eval_with_key>.23", line 687, in forward
    model_lm_head_weight = self.model.lm_head.weight

Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"

Versions


(optimum-executorch) [hmaurya@hyper-01-prod-comp-di-0242-66 optimum-executorch]$ python collect_env.py
Collecting environment information...
PyTorch version: 2.9.1+cu128
Is debug build: False
CUDA used to build PyTorch: 12.8
ROCM used to build PyTorch: N/A

OS: Amazon Linux 2023.5.20240701 (x86_64)
GCC version: (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2)
Clang version: Could not collect
CMake version: version 3.22.2
Libc version: glibc-2.34

Python version: 3.11.14 (main, Oct 21 2025, 18:31:21) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-6.1.94-99.176.amzn2023.x86_64-x86_64-with-glibc2.34
Is CUDA available: True
CUDA runtime version: 12.2.140
CUDA_MODULE_LOADING set to: 
GPU models and configuration: 
GPU 0: NVIDIA H200
GPU 1: NVIDIA H200
GPU 2: NVIDIA H200
GPU 3: NVIDIA H200
GPU 4: NVIDIA H200
GPU 5: NVIDIA H200
GPU 6: NVIDIA H200
GPU 7: NVIDIA H200

Nvidia driver version: 570.133.20
cuDNN version: Could not collect
Is XPU available: False
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Caching allocator config: N/A

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        46 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               192
On-line CPU(s) list:                  0-191
Vendor ID:                            GenuineIntel
Model name:                           Intel(R) Xeon(R) Platinum 8488C
CPU family:                           6
Model:                                143
Thread(s) per core:                   2
Core(s) per socket:                   48
Socket(s):                            2
Stepping:                             8
BogoMIPS:                             4800.00
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx_vnni avx512_bf16 wbnoinvd ida arat avx512vbmi umip pku ospke waitpkg avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq rdpid cldemote movdiri movdir64b md_clear serialize amx_bf16 avx512_fp16 amx_tile amx_int8 flush_l1d arch_capabilities
Hypervisor vendor:                    KVM
Virtualization type:                  full
L1d cache:                            4.5 MiB (96 instances)
L1i cache:                            3 MiB (96 instances)
L2 cache:                             192 MiB (96 instances)
L3 cache:                             210 MiB (2 instances)
NUMA node(s):                         2
NUMA node0 CPU(s):                    0-47,96-143
NUMA node1 CPU(s):                    48-95,144-191
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected

Versions of relevant libraries:
[pip3] executorch==1.0.1
[pip3] mypy_extensions==1.1.0
[pip3] numpy==2.3.5
[pip3] nvidia-cublas-cu12==12.8.4.1
[pip3] nvidia-cuda-cupti-cu12==12.8.90
[pip3] nvidia-cuda-nvrtc-cu12==12.8.93
[pip3] nvidia-cuda-runtime-cu12==12.8.90
[pip3] nvidia-cudnn-cu12==9.10.2.21
[pip3] nvidia-cufft-cu12==11.3.3.83
[pip3] nvidia-curand-cu12==10.3.9.90
[pip3] nvidia-cusolver-cu12==11.7.3.90
[pip3] nvidia-cusparse-cu12==12.5.8.93
[pip3] nvidia-cusparselt-cu12==0.7.1
[pip3] nvidia-nccl-cu12==2.27.5
[pip3] nvidia-nvjitlink-cu12==12.8.93
[pip3] nvidia-nvtx-cu12==12.8.90
[pip3] optimum-executorch==0.2.0.dev0
[pip3] pytorch_tokenizers==1.0.1
[pip3] torch==2.9.1
[pip3] torchao==0.14.1+cu129
[pip3] triton==3.5.1
[conda] executorch                1.0.1                    pypi_0    pypi
[conda] numpy                     2.3.5                    pypi_0    pypi
[conda] nvidia-cublas-cu12        12.8.4.1                 pypi_0    pypi
[conda] nvidia-cuda-cupti-cu12    12.8.90                  pypi_0    pypi
[conda] nvidia-cuda-nvrtc-cu12    12.8.93                  pypi_0    pypi
[conda] nvidia-cuda-runtime-cu12  12.8.90                  pypi_0    pypi
[conda] nvidia-cudnn-cu12         9.10.2.21                pypi_0    pypi
[conda] nvidia-cufft-cu12         11.3.3.83                pypi_0    pypi
[conda] nvidia-curand-cu12        10.3.9.90                pypi_0    pypi
[conda] nvidia-cusolver-cu12      11.7.3.90                pypi_0    pypi
[conda] nvidia-cusparse-cu12      12.5.8.93                pypi_0    pypi
[conda] nvidia-cusparselt-cu12    0.7.1                    pypi_0    pypi
[conda] nvidia-nccl-cu12          2.27.5                   pypi_0    pypi
[conda] nvidia-nvjitlink-cu12     12.8.93                  pypi_0    pypi
[conda] nvidia-nvtx-cu12          12.8.90                  pypi_0    pypi
[conda] optimum-executorch        0.2.0.dev0               pypi_0    pypi
[conda] pytorch-tokenizers        1.0.1                    pypi_0    pypi
[conda] torch                     2.9.1                    pypi_0    pypi
[conda] torchao                   0.14.1+cu129             pypi_0    pypi
[conda] triton                    3.5.1                    pypi_0    pypi

(originally created at pytorch/executorch#16411)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions