ValueError: mutable default <class 'official.modeling.optimization.configs.optimizer_config.SGDConfig'> for field sgd is not allowed: use default_factory

I am trying to train my custom object detection model using one of the ssd models. I got this error at the training step:
File “C:\Users\user\tensorflow\model_main.py”, line 26, in
from object_detection import model_lib
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\object_detection\model_lib.py”, line 35, in
from object_detection.builders import optimizer_builder
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\object_detection\builders\optimizer_builder.py”, line 25, in
from official.modeling.optimization import ema_optimizer
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\official\modeling\optimization_init_.py”, line 19, in
from official.modeling.optimization.configs.optimization_config import *
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\official\modeling\optimization\configs\optimization_config.py”, line 31, in
@dataclasses.dataclass
^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 1230, in dataclass
return wrap(cls)
^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 1220, in wrap
return _process_class(cls, init, repr, eq, order, unsafe_hash,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 958, in _process_class
cls_fields.append(_get_field(cls, name, type, kw_only))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 815, in _get_field
raise ValueError(f’mutable default {type(f.default)} for field ’
ValueError: mutable default <class ‘official.modeling.optimization.configs.optimizer_config.SGDConfig’> for field sgd is not allowed: use default_factory

(tfod) C:\Users\user\tensorflow>python C:\Users\user\tensorflow\model_main.py --pipeline_config_path=C:\Users\user\tensorflow\ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8\pipeline.config --model_dir=C:\Users\user\tensorflow\workspace\training --alsologtostderr
Traceback (most recent call last):
File “C:\Users\user\tensorflow\model_main.py”, line 26, in
from object_detection import model_lib
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\object_detection\model_lib.py”, line 35, in
from object_detection.builders import optimizer_builder
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\object_detection\builders\optimizer_builder.py”, line 25, in
from official.modeling.optimization import ema_optimizer
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\official\modeling\optimization_init_.py”, line 19, in
from official.modeling.optimization.configs.optimization_config import *
File “C:\Users\user\tensorflow\tfod\Lib\site-packages\official\modeling\optimization\configs\optimization_config.py”, line 31, in
@dataclasses.dataclass
^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 1230, in dataclass
return wrap(cls)
^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 1220, in wrap
return _process_class(cls, init, repr, eq, order, unsafe_hash,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 958, in _process_class
cls_fields.append(_get_field(cls, name, type, kw_only))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\dataclasses.py”, line 815, in _get_field
raise ValueError(f’mutable default {type(f.default)} for field ’
ValueError: mutable default <class ‘official.modeling.optimization.configs.optimizer_config.SGDConfig’> for field sgd is not allowed: use default_factory

This is the command I used:
python C:\Users\user\tensorflow\model_main.py --pipeline_config_path=C:\Users\user\tensorflow\ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8\pipeline.config --model_dir=C:\Users\user\tensorflow\workspace\training --alsologtostderr

Will be very thankful to anyone who can fix this.

Hi @Durga_Saranyu_D_K What Python version are you using?
If Python 3.11 can you please downgrade to 3.10?
Thank you.

Hey, isn’t there any other solution to this problem. I don’t think downgrading python isn’t the best option for my purpose. Thank you.

Hi, is your issue resolved. I am unable to downgrade python 3.11.5 to 3.10 in my virtual environment. Kindly let me know the alternative solution to this, if you found any.