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] Fail to use confusion_matrix to RGBPoseC3D #2815

Open
3 tasks done
HoBeom opened this issue Apr 4, 2024 · 3 comments
Open
3 tasks done

[Bug] Fail to use confusion_matrix to RGBPoseC3D #2815

HoBeom opened this issue Apr 4, 2024 · 3 comments
Assignees

Comments

@HoBeom
Copy link

HoBeom commented Apr 4, 2024

Branch

main branch (1.x version, such as v1.0.0, or dev-1.x branch)

Prerequisite

Environment

sys.platform: linux
Python: 3.9.17 (main, Jul 5 2023, 20:41:20) [GCC 11.2.0]
CUDA available: True
numpy_random_seed: 2147483648
GPU 0,1,2,3: NVIDIA GeForce RTX 4090
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 11.8, V11.8.89
GCC: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
PyTorch: 2.0.1+cu117
PyTorch compiling details: PyTorch built with:

  • GCC 9.3
  • C++ Version: 201703
  • Intel(R) oneAPI Math Kernel Library Version 2023.1-Product Build 20230303 for Intel(R) 64 architecture applications
  • Intel(R) MKL-DNN v2.7.3 (Git Hash 6dbeffbae1f23cbbeae17adb7b5b13f1f37c080e)
  • OpenMP 201511 (a.k.a. OpenMP 4.5)
  • LAPACK is enabled (usually provided by MKL)
  • NNPACK is enabled
  • CPU capability usage: AVX2
  • CUDA Runtime 11.7
  • 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_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
  • CuDNN 8.8.1 (built against CUDA 11.8)
    • Built with CuDNN 8.5
  • Magma 2.6.1
  • Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.7, CUDNN_VERSION=8.5.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/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-missing-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 -Wno-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 -faligned-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_WITH_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, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF,

TorchVision: 0.15.2
OpenCV: 4.8.0
MMEngine: 0.8.2
MMAction2: 1.2.0+4d6c934
MMCV: 2.0.1
MMDetection: 3.1.0

Describe the bug

While attempting to configure evaluators for validation and testing phases for the RGBPoseC3D, I encountered an issue where specifying ConfusionMatrix as part of the evaluators does not work as expected.

Reproduces the problem - code sample

The configuration is defined in configs/skeleton/posec3d/rgbpose_conv3d/rgbpose_conv3d.py. The relevant section of the configuration is as follows:

val_evaluator = [dict(type='AccMetric'), dict(type='ConfusionMatrix')]
test_evaluator = val_evaluator

Reproduces the problem - command or script

 ./tools/dist_train.sh configs/skeleton/posec3d/rgbpose_conv3d/rgbpose_conv3d.py 4

Reproduces the problem - error message

mmaction/evaluation/metrics/acc_metric.py", line 252, in process
    pred_label = pred_scores.argmax(dim=0, keepdim=True)
AttributeError: 'dict' object has no attribute 'argmax'

Additional information

The modified version in my branch, which was adjusted to operate identically to the AccMetric module, functions only for specific purposes. There is a need to redesign the abstraction of the evaluation code.

@lmc2000
Copy link

lmc2000 commented Apr 8, 2024

解决了吗?

@HoBeom
Copy link
Author

HoBeom commented Apr 9, 2024

@lmc2000
Copy link

lmc2000 commented Apr 9, 2024

谢谢,我也对我自己的代码做了相应的修改

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants