Skip to content

Conversation

@rolandtannous
Copy link
Collaborator

Problem

In the QAT notebooks and equivalent python scripts, the following code on line 343:

model.save_pretrained_torchao(
    "model",
    tokenizer,
    torchao_config = model._torchao_config.base_config_and_filter_fns[0][0],
)`

raises an attribute error:

AttributeError: 'TorchAOConfig' object has no attribute 'base_config'

Root Cause

The save_pretrained_torchao method expects a torchao_config argument containing the quantization configuration. However, the TorchAOConfig object doesn't have a base_config attribute. Instead, it has a base_config_and_filter_fns attribute that returns a list of tuples in the format:

[(Int4WeightOnlyConfig(...), <function>)]

Solution

To access the correct quantization config, use base_config_and_filter_fns[0][0]:

model.save_pretrained_torchao(
    "model",
    tokenizer,
    torchao_config = model._torchao_config.base_config_and_filter_fns[0][0],
)

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @rolandtannous, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily addresses and resolves a critical 'AttributeError' that occurred when attempting to save a pre-trained model with TorchAO quantization in QAT notebooks and associated Python scripts. The root cause was an incorrect attribute access path for the 'torchao_config' object, which has now been corrected to 'model._torchao_config.base_config_and_filter_fns[0][0]'. In addition to this core functional fix, the PR includes general maintenance updates across the affected Jupyter notebooks, such as reformatting 'pip install' commands, updating progress bar characters for better display, and ensuring kernel metadata reflects the use of Python 3.12.0.

Highlights

  • Critical Bug Fix: Resolved an 'AttributeError' in the 'model.save_pretrained_torchao' method by correctly accessing the 'torchao_config' attribute using 'base_config_and_filter_fns[0][0]' instead of 'base_config'.
  • Notebook Structure and Metadata Updates: Standardized 'pip install' commands in Jupyter notebooks to use a list format for source cells, updated various output progress bar unicode characters, and aligned kernel metadata to Python 3.12.0.
  • Emoji Standardization: Updated emoji characters in markdown headers across the affected notebooks for consistency.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request correctly resolves an AttributeError by updating the attribute used to access the torchao_config. The fix is applied consistently across the affected notebooks and Python scripts. My review includes a suggestion to make this access more robust in the Python scripts to prevent potential future errors. The other changes in the notebooks appear to be related to formatting and metadata, which are fine.

@danielhanchen danielhanchen merged commit 57141f2 into main Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants