axlearn
axlearn copied to clipboard
Single-host config maker rejected by `config_class_for_function`
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.