LARC-CMU-SMU / FoodSeg103-Benchmark-v1

MM'21 Main-Track paper
Apache License 2.0
105 stars 32 forks source link

CLASS len error #13

Open SuhZhang opened 2 years ago

SuhZhang commented 2 years ago

I am trying to run python demo/image_demo.py demo/food.png checkpoints/CCNet_ReLeM/ccnet_r50-d8_512x1024_80k.py checkpoints/CCNet_ReLeM/iter_80000.pth --device cuda:0 --palette cityscapes where the model and config file are sent from the author. But I met the error below:

Use load_from_local loader
Traceback (most recent call last):
  File "demo/image_demo.py", line 29, in <module>
    main()
  File "demo/image_demo.py", line 25, in main
    show_result_pyplot(model, args.img, result, get_palette(args.palette))
  File "/root/zsh5/foodseg/Swin-Transformer-Semantic-Segmentation/mmseg/apis/inference.py", line 115, in show_result_pyplot
    img = model.show_result(img, result, palette=palette, show=False)
  File "/root/zsh5/foodseg/Swin-Transformer-Semantic-Segmentation/mmseg/models/segmentors/base.py", line 246, in show_result
    assert palette.shape[0] == len(self.CLASSES)
AssertionError

It seems that the length of CLASSES is not right. How can I fix the problem?

My environment:

sys.platform: linux
Python: 3.7.11 (default, Jul 27 2021, 14:32:16) [GCC 7.5.0]
CUDA available: True
GPU 0: GeForce GTX 1080 Ti
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 10.1, V10.1.243
GCC: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
PyTorch: 1.6.0
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) oneAPI Math Kernel Library Version 2021.3-Product Build 20210617 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v1.5.0 (Git Hash e2ac1fac44c5078ca927cb9b90e1b3066a0b2ed0)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.1
  - 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_37,code=compute_37
  - CuDNN 7.6.3
  - Magma 2.5.2
  - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -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 -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF, 

TorchVision: 0.7.0
OpenCV: 4.5.3
MMCV: 1.3.0
MMCV Compiler: GCC 5.4
MMCV CUDA Compiler: 10.1
MMSegmentation: 0.11.0+dcdd544
francoislegac commented 2 years ago

Hi SuhZhang, I'm not an admin of this page but since I was facing the same problem I can respond to you. You are providing the model with the wrong palette of colors since you should have as much segmentation colors as classes of prediction. To solve this issue, just get ride of the argument: get_palette(args.palette) in the function show_result_pyplot(). Random palette with the right size will be generated

XiongweiWu commented 2 years ago

@francoislegac thx for your reply. It seems I missed this issue...