{"record":{"id":"e4aad8516b43d56b","repo":"huggingface/pytorch-image-models","slug":"importing-from-name-is-deprecated-please-im-e4aad8","errorCode":null,"errorMessage":"Importing from {__name__} is deprecated, please import via timm.optim","messagePattern":"Importing from (.+?) is deprecated, please import via timm\\.optim","errorType":"console","errorClass":"FutureWarning","httpStatus":null,"severity":"warning","filePath":"timm/optim/optim_factory.py","lineNumber":7,"sourceCode":"# lots of uses of these functions directly, ala 'import timm.optim.optim_factory as optim_factory', fun :/\n\nfrom ._optim_factory import create_optimizer, create_optimizer_v2, optimizer_kwargs\nfrom ._param_groups import param_groups_layer_decay, param_groups_weight_decay, group_parameters, _layer_map, _group\n\nimport warnings\nwarnings.warn(f\"Importing from {__name__} is deprecated, please import via timm.optim\", FutureWarning)\n","sourceCodeStart":1,"sourceCodeEnd":8,"githubUrl":"https://github.com/huggingface/pytorch-image-models/blob/9a5261e31b3b5128526eb2658333b4c0a54464ae/timm/optim/optim_factory.py#L1-L8","documentation":"Importing timm.optim.optim_factory is deprecated: the functions moved to timm.optim._optim_factory and timm.optim._param_groups, and this shim re-exports them with a FutureWarning. The comment in the shim acknowledges the common 'import timm.optim.optim_factory as optim_factory' pattern.","triggerScenarios":"import timm.optim.optim_factory as optim_factory; from timm.optim.optim_factory import create_optimizer, create_optimizer_v2, optimizer_kwargs — pervasive in timm-based training repos.","commonSituations":"Nearly every training script from the timm/examples lineage after upgrading timm past the module rename.","solutions":["Change to from timm.optim import create_optimizer_v2, optimizer_kwargs","For module-style usage: import timm.optim as optim_factory","Grep for 'timm.optim.optim_factory' and 'optim_factory.create_optimizer' references and migrate"],"exampleFix":"# before\nimport timm.optim.optim_factory as optim_factory\noptimizer = optim_factory.create_optimizer_v2(model, opt='adamw', lr=1e-3)\n# after\nfrom timm.optim import create_optimizer_v2\noptimizer = create_optimizer_v2(model, opt='adamw', lr=1e-3)","handlingStrategy":"validation","validationCode":"from timm.optim import create_optimizer_v2, optimizer_kwargs  # modern path","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use from timm.optim import ... in training scripts","Grep for 'optim_factory' references when upgrading","Pin timm>=0.9 and run import smoke tests in CI"],"tags":["timm","deprecation","import","optimizer-factory"],"backgroundTag":"deprecated-module-import","analyzedSha":"9a5261e31b3b5128526eb2658333b4c0a54464ae","analyzedAt":"2026-08-27T02:34:25.417Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}