axlearn icon indicating copy to clipboard operation
axlearn copied to clipboard

Single-host config maker rejected by `config_class_for_function`

Open yhtang opened this issue 8 months ago • 0 comments

I encountered the following error when trying to run the Fuji 3B model locally:

Traceback (most recent call last):
  File "fuji.py", line 339, in <module>
    run_main()
  File "fuji.py", line 219, in run_main
    app.run(lambda _: main(parsed_args))
  File "venv/lib/python3.12/site-packages/absl/app.py", line 308, in run
    _run_main(main, args)
  File "venv/lib/python3.12/site-packages/absl/app.py", line 254, in _run_main
    sys.exit(main(argv))
             ^^^^^^^^^^
  File "fuji.py", line 219, in <lambda>
    app.run(lambda _: main(parsed_args))
                      ^^^^^^^^^^^^^^^^^
  File "fuji.py", line 274, in main
    trainer_config: SpmdTrainer.Config = config_for_function(config_fn).fn()
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "axlearn/axlearn/common/config.py", line 918, in config_for_function
    config_cls = _config_class_for_function(fn)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "axlearn/axlearn/common/config.py", line 891, in _config_class_for_function
    name=f"config_for_function({fn.__module__}.{fn.__qualname__})",
                                                ^^^^^^^^^^^^^^^
AttributeError: 'functools.partial' object has no attribute '__qualname__'

This is apparently caused by https://github.com/apple/axlearn/blob/608e344a44ab54b5afc80328aa9f8026ff36ed98/axlearn/common/config.py#L891 as its input in this case is https://github.com/apple/axlearn/blob/608e344a44ab54b5afc80328aa9f8026ff36ed98/axlearn/experiments/text/gpt/fuji.py#L1014 which is per se not a complete function object due to functools.partial.

yhtang avatar May 02 '25 19:05 yhtang