Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] TypeError: logger should be either a logging.Logger object, str, "silent", "current" or None, but got <class 'list'> #1452

Closed
2 tasks done
wang-tf opened this issue Dec 5, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@wang-tf
Copy link

wang-tf commented Dec 5, 2023

Prerequisite

Environment

OrderedDict([('sys.platform', 'linux'), ('Python', '3.10.6 (main, Oct 24 2022, 16:07:47) [GCC 11.2.0]'), ('CUDA available', True), ('numpy_random_seed', 2147483648), ('GPU 0,1,2,3', 'Tesla V
100-SXM2-32GB'), ('CUDA_HOME', None), ('GCC', 'gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)'), ('PyTorch', '2.0.1'), ('PyTorch compiling details', 'PyTorch built with:\n  - GCC 9.3\n  - C++ V
ersion: 201703\n  - Intel(R) oneAPI Math Kernel Library Version 2021.4-Product Build 20210904 for Intel(R) 64 architecture applications\n  - Intel(R) MKL-DNN v2.7.3 (Git Hash 6dbeffbae1f23cb
beae17adb7b5b13f1f37c080e)\n  - OpenMP 201511 (a.k.a. OpenMP 4.5)\n  - LAPACK is enabled (usually provided by MKL)\n  - NNPACK is enabled\n  - CPU capability usage: AVX2\n  - CUDA Runtime 11
.8\n  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch
=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_90,code=sm_90;-gencode;arch=compute_3
7,code=compute_37\n  - CuDNN 8.7\n  - Magma 2.6.1\n  - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.8, CUDNN_VERSION=8.7.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/b
in/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_
QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-mis
sing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wunused-local-typedefs -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wn
o-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -fa
ligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WI
TH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_DISABLE_GPU_ASSERTS=ON, TORCH_VERSION=2.0.1, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, U
SE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, \n'), ('TorchVision', '0.15.2'), ('OpenCV', '4.8.1'), ('MMEngine', '0.10.1')])

Reproduces the problem - code sample

In _load_checkpoint_to_model, it should be

_load_checkpoint_to_model(model, state_dict, strict, revise_keys=revise_keys)

Reproduces the problem - command or script

mim test mmpretrain configs/some_config.py --checkpoint some_checkpoint.pth

Reproduces the problem - error message

TypeError: logger should be either a logging.Logger object, str, "silent", "current" or None, but got <class 'list'>

Additional information

No response

@wang-tf wang-tf added the bug Something isn't working label Dec 5, 2023
@HAOCHENYE
Copy link
Collaborator

Thanks for your feedback. It's weird that _load_checkpoint_to_model accepts a list logger. Could provide an example to reproduce this error?

@wang-tf
Copy link
Author

wang-tf commented Dec 21, 2023

In _load_checkpoint_to_model defination, the fourth argument is logger, and the fifth argument is revise_keys.

def _load_checkpoint_to_model(model,
checkpoint,
strict=False,
logger=None,
revise_keys=[(r'^module\.', '')]):

In this line, the fourth argument was sed to logger (logger=revise_keys).

_load_checkpoint_to_model(model, state_dict, strict, revise_keys)

@wang-tf wang-tf closed this as completed Dec 28, 2023
@wang-tf
Copy link
Author

wang-tf commented Dec 28, 2023

fixed by #1447

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants