Code Monkey home page Code Monkey logo

pspnet's People

Contributors

gvi-lab avatar hszhao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pspnet's Issues

Bug in eval_all.m

eval_all.m assumes there are 4 GPUs on the user's PC. However when there are < 4 GPUs, matcaffe will crash.
At line 61:
gpu_id_array=[0:3]; %multi-GPUs for parfor testing
The array should be set according to the number of GPUs of the user's machine.
(This bug cost me almost a day to spot, because caffe's log is suppressed, and the workers run in parallel. Therefore I can only guess where it goes wrong, and insert a lot of disp to trace the crash point.)

runtest failed

...
./include/caffe/test/test_gradient_check_util.hpp:175: Failure
The difference between computed_gradient and estimated_gradient is 0.033336639404296875, which exceeds threshold_ * scale, where
computed_gradient evaluates to 1.9999799728393555,
estimated_gradient evaluates to 1.9666433334350586, and
threshold_ * scale evaluates to 0.00019999798678327352.
debug: (top_id, top_data_id, blob_id, feat_id)=0,119,3,119; feat = 0.96758121252059937; objective+ = 2.1408424377441406; objective- = 2.1015095710754395
...
...
[  FAILED  ] BatchNormLayerTest/2.TestGradient, where TypeParam = caffe::GPUDevice<float> (3116 ms)
[ RUN      ] BatchNormLayerTest/2.TestForward
src/caffe/test/test_batch_norm_layer.cpp:75: Failure
The difference between 1 and var is 111861.75, which exceeds kErrorBound, where
1 evaluates to 1,
var evaluates to 111862.75, and
kErrorBound evaluates to 0.0010000000474974513.
src/caffe/test/test_batch_norm_layer.cpp:75: Failure
The difference between 1 and var is 118616.2578125, which exceeds kErrorBound, where
1 evaluates to 1,
var evaluates to 118617.2578125, and
kErrorBound evaluates to 0.0010000000474974513.
[  FAILED  ] BatchNormLayerTest/2.TestForward, where TypeParam = caffe::GPUDevice<float> (2 ms)
[ RUN      ] BatchNormLayerTest/2.TestForwardInplace
src/caffe/test/test_batch_norm_layer.cpp:119: Failure
The difference between 1 and var is 114000.234375, which exceeds kErrorBound, where
1 evaluates to 1,
var evaluates to 114001.234375, and
kErrorBound evaluates to 0.0010000000474974513.
src/caffe/test/test_batch_norm_layer.cpp:119: Failure
The difference between 1 and var is 91060.625, which exceeds kErrorBound, where
1 evaluates to 1,
var evaluates to 91061.625, and
kErrorBound evaluates to 0.0010000000474974513.
[  FAILED  ] BatchNormLayerTest/2.TestForwardInplace, where TypeParam = caffe::GPUDevice<float> (1 ms)
[----------] 3 tests from BatchNormLayerTest/2 (3119 ms total)

[----------] 8 tests from SliceLayerTest/3, where TypeParam = caffe::GPUDevice<double>
[ RUN      ] SliceLayerTest/3.TestSliceAcrossChannels
[       OK ] SliceLayerTest/3.TestSliceAcrossChannels (2 ms)
...
...
[       OK ] ContrastiveLossLayerTest/0.TestGradientLegacy (127 ms)
[----------] 4 tests from ContrastiveLossLayerTest/0 (266 ms total)

[----------] 1 test from LayerFactoryTest/0, where TypeParam = caffe::CPUDevice<float>
[ RUN      ] LayerFactoryTest/0.TestCreateLayer
*** Aborted at 1489289221 (unix time) try "date -d @1489289221" if you are using GNU date ***
PC: @     0x7fd3894b5962 cfree
*** SIGSEGV (@0x1f9) received by PID 11176 (TID 0x7fd393215740) from PID 505; stack trace: ***
    @     0x7fd38980c390 (unknown)
    @     0x7fd3894b5962 cfree
    @     0x7fd38a1302e1 deallocate()
    @     0x7fd38a18c0e0 caffe::DenseCRFLayer<>::DeAllocateAllData()
    @     0x7fd38a190e66 caffe::DenseCRFLayer<>::~DenseCRFLayer()
    @     0x7fd38a1914a9 caffe::DenseCRFLayer<>::~DenseCRFLayer()
    @           0x71fa18 caffe::LayerFactoryTest_TestCreateLayer_Test<>::TestBody()
    @           0x8b5e43 testing::internal::HandleExceptionsInMethodIfSupported<>()
    @           0x8af45a testing::Test::Run()
    @           0x8af5a8 testing::TestInfo::Run()
    @           0x8af685 testing::TestCase::Run()
    @           0x8b095f testing::internal::UnitTestImpl::RunAllTests()
    @           0x8b0c83 testing::UnitTest::Run()
    @           0x46645d main
    @     0x7fd389452830 __libc_start_main
    @           0x46d7e9 _start
    @                0x0 (unknown)
Makefile:526: recipe for target 'runtest' failed
make: *** [runtest] Segmentation fault

Please help!
CUDA8,cuDNN5,ubuntu16,GTX950m

Unable to open file

  1. When I run run.sh, I go following errors:
    Error using importdata (line 136)
    Unable to open file.

Error in eval_sub (line 3)
list = importdata(fullfile(data_root,eval_list));

Error in eval_all (line 72)
eval_sub(data_name,data_root,eval_list,model_weights,model_deploy,fea_cha,base_size,crop_size,data_class,data_colormap,

  1. Additionally, I wonder if I have to clone Deeplab v2 and copy it to the sub folder of PSP, or I just need to build caffe and use "run.sh"?

Everything is Diningtable

Hi,

I've compiled the net with Cuda 7.0 and and Cudnn 4.
This compiles, but every image that it segments is labeled "dining table", for every pixel.
Using Cudnn 5, like you recommended, it does not compile with the following error message:

    make -j1
PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/internal_thread.cpp
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
                from ./include/caffe/common.hpp:19,
                from ./include/caffe/internal_thread.hpp:4,
                from src/caffe/internal_thread.cpp:4:
./include/caffe/util/cudnn.hpp: In function ‘void caffe::cudnn::createPoolingDesc(cudnnPoolingStruct**, caffe::PoolingParameter_PoolMethod, cudnnPoolingMode_t*, int, int, int, int, int, int)’:
./include/caffe/util/cudnn.hpp:126:3: error: too few arguments to function ‘cudnnStatus_t cudnnSetPooling2dDescriptor(cudnnPoolingDescriptor_t, cudnnPoolingMode_t, cudnnNanPropagation_t, int, int, int, int, int, int)’
In file included from ./include/caffe/util/cudnn.hpp:5:0,
                from ./include/caffe/util/device_alternate.hpp:40,
                from ./include/caffe/common.hpp:19,
                from ./include/caffe/internal_thread.hpp:4,
                from src/caffe/internal_thread.cpp:4:
/usr/local/cuda/include/cudnn.h:799:27: note: declared here
make: *** [.build_release/src/caffe/internal_thread.o] Error 1

It works fine if I compile without Cudnn, then everything is segmented fine.
Any idea why this mad bug may be? I've been trying to find out for a week now, without success.

Greetings,
Veith

Matcaffe compile issue

Getting the following error when make matcaffe

ukrdailo@rcv:~/Desktop/PSPNet/PSPNet$ make matcaffe -j8
make: /usr/local/bin/mexext: Command not found
MEX matlab/+caffe/private/caffe_.cpp
Building with 'g++'.
Warning: You are using gcc version '4.8.4'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
.build_release/lib/libcaffe.a(window_data_layer.o): In function `caffe::WindowDataLayer<float>::load_batch(caffe::Batch<float>*)':
window_data_layer.cpp:(.text._ZN5caffe15WindowDataLayerIfE10load_batchEPNS_5BatchIfEE[_ZN5caffe15WindowDataLayerIfE10load_batchEPNS_5BatchIfEE]+0xb81): undefined reference to `cv::imread(cv::String const&, int)'
.build_release/lib/libcaffe.a(window_data_layer.o): In function `caffe::WindowDataLayer<double>::load_batch(caffe::Batch<double>*)':
window_data_layer.cpp:(.text._ZN5caffe15WindowDataLayerIdE10load_batchEPNS_5BatchIdEE[_ZN5caffe15WindowDataLayerIdE10load_batchEPNS_5BatchIdEE]+0xbb1): undefined reference to `cv::imread(cv::String const&, int)'
.build_release/lib/libcaffe.a(io.o): In function `caffe::ReadImageToCVMat(std::string const&, int, int, bool, int*, int*)':
io.cpp:(.text+0x597): undefined reference to `cv::imread(cv::String const&, int)'
.build_release/lib/libcaffe.a(io.o): In function `caffe::DecodeDatumToCVMatNative(caffe::Datum const&)':
io.cpp:(.text+0x1294): undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
.build_release/lib/libcaffe.a(io.o): In function `caffe::DecodeDatumToCVMat(caffe::Datum const&, bool)':
io.cpp:(.text+0x1688): undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
.build_release/lib/libcaffe.a(io.o): In function `caffe::ReadImageToDatum(std::string const&, int, int, int, bool, std::string const&, caffe::Datum*)':
io.cpp:(.text+0x1e02): undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
collect2: error: ld returned 1 exit status

make: *** [matlab/+caffe/private/caffe_.] Error 255

I am guessing the problem is with OpenCV version? Are you using OpenCV2 or OpenCV3?
Thanks in andvance!

Not enough memory

Thanks to yifan254 & mjohn123, I'm finally able to run "run.sh".
However, the memory of my gpu is not big enough for the model.
Is there anyway to reduce the size of the model or size of the data used for evaluation.
Here is my configuration:

case 'VOC2012'
isVal = false; %evaluation on testset
step = 364; %=1456/4
data_root = '/home/ubuntu16/my_user/workspace/thesis/Framework/PSPNet-segmentation/data/test/VOCdevkit/VOC2012';
eval_list = 'samplelist/VOC2012_test.txt';
save_root = 'mc_result/VOC2012/test/pspnet101_473/';
model_weights = 'model/pspnet101_VOC2012.caffemodel';
model_deploy = 'prototxt/pspnet101_VOC2012_473.prototxt';
fea_cha = 21;
base_size = 512;
crop_size = 473;
data_class = 'objectName21.mat';
data_colormap = 'colormapvoc.mat';

Issue with compiling matcaffe

Hi, I was trying to install caffe and matcaffe before running the code. When I specified my matlab path and ran matcaffe, I get the following error:

2016-12-09 11 57 15

2016-12-09 11 57 30

The error basically says that the mex file cannot be found, but it is located exactly at the place it's pointing at. May I get some suggestions about solving this? Thanks!!

The train.prototxt

Would you provide the train.prototxt file and solver.prototxt file? Thanks.

"Invalid MEX-file" error during run.sh

error during run.sh:
Invalid MEX-file '/home/gopi/PSPNet/matlab/+caffe/private/caffe_.mexa64':
Missing symbol 'ZN6google8protobuf11MessageLite15ParseFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
required by '/home/gopi/PSPNet/matlab/+caffe/private/caffe
.mexa64'
Missing symbol
'_ZN6google8protobuf14MessageFactory29InternalRegisterGeneratedFileEPKcPFvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE'
.....


Note: The output of ldd -d /home/gopi/PSPNet/matlab/+caffe/private/caffe_.mexa64 below.

libmx.so => not found
libmex.so => not found

Anyone faced this issue?

Error in eval_acc.m : Matrix dimensions must agree.

I have an error when I run eval_all.m, some codes as flows:

 case 'VOC2012'
        isVal = true; %evaluation on testset
        step = 364; %364=1456/4
        data_root = '/home/simon/DEEPLEARNING/DATASETS/VOCdevkit/VOC2012/Test';
        eval_list = 'samplelist/VOC2012_test.txt';
        save_root = 'mc_result/VOC2012/test/pspnet101_473/';
        model_weights = 'model/pspnet101_VOC2012.caffemodel';
        model_deploy = 'prototxt/pspnet101_VOC2012_473.prototxt';
        fea_cha = 21;
        base_size = 512;
        crop_size = 473;
        data_class = 'objectName21.mat';
        data_colormap = 'colormapvoc.mat';

because I have some result pictures, so some codes are commented.

%parfor i = 1:gpu_num %change 'parfor' to 'for' if singe GPU testing is used
%  eval_sub(data_name,data_root,eval_list,model_weights,model_deploy,fea_cha,base_size,crop_size,data_class,data_colormap, is_save_feat,save_gray_folder,save_color_folder,save_feat_folder,gpu_id_array(i),index_array(i),step,skipsize,scale_array,mean_r,mean_g,mean_b);
% end
if(isVal)
   eval_acc(data_name,data_root,eval_list,save_gray_folder,data_class,fea_cha);
end

run eval_all.m and the erros happened:

Matrix dimensions must agree.

Error in intersectionAndUnion (line 14)
imPred = imPred.*uint16(imLab>0);

Error in eval_acc (line 55)
    [area_intersection(:,cnt), area_union(:,cnt)] = intersectionAndUnion(imPred, imAnno, numClass);

Error in eval_all (line 75)
   eval_acc(data_name,data_root,eval_list,save_gray_folder,data_class,fea_cha);

before that, I have fixed an error in eval_acc.m:

 strPred = strsplit(str{1},'/');
    strPred = strPred{end};
    if(strcmp(data_name,'cityscapes'))
        strPred = strrep(strPred,'gtFine_labelTrainIds','leftImg8bit');
    end
    filePred = fullfile(pathPred, strPred);
    fileAnno = fullfile(pathAnno, str{1});

I dont know what to do, could any body help me ? Thanks!

MATLAB crashes using cityscapes trained model

I have been trying to test pspnet101_VOC2012.caffemodel, pspnet101_cityscapes.caffemodel, and pspnet50_ADE20K.caffemodel with my set of input images of size 1280*600, Each time I run eval_all.m, matlab crashes with the error as show below
screenshot from 2017-05-27 10-45-47
screenshot from 2017-05-27 10-46-04

I don't understand what the actual problem is, I am running it on a GPU with configuration
screenshot from 2017-05-27 10-54-29

have made my makefile.config with openmpi.

On trying to run it with pspnet101_VOC2012.caffemodel with a sample of images I am able to run it without crashing, but the result saved in /home/PSPNet/evaluation/mc_result/VOC2012/test/pspnet101_473/color shows images with all pixel values 11.

Please let me know, What is wrong, and guide me to successfully test PSPNet with my data set.

Very low scores for provided pretrained model

Hi, I tried to run 'eval_all.m' code to see the performance of pretrained model for Cityscapes dataset
However, even if I followed the instruction, the performance is very very low(See as below)
image
This is the result of 5 images of Cityscapes. As you can see, the performance is really bad.
I would like to ask what is the problem. Below is the code. I just changed paths for database.
image

I suspect label png files I used are wrong. I used png files included in Cityscapes dataset. The file format is like 'frankfurt_000000_000294_gtFine_labelIds.png' ... and so on.

Thanks!

parameter settings for multi-scale testing

Hi, I'm confused with parameter settings when using multi-scale input
the interpolation layer in PSP module is as follows:
layer {
name: "conv5_3_pool1_interp"
type: "Interp"
bottom: "conv5_3_pool1_conv"
top: "conv5_3_pool1_interp"
interp_param {
height: 60
width: 60
}
}
this can make scale of feature after pooling layers be the same as conv5_3 so they can be concatenated when input is 473 x 473
but how does it change when dealing with multi-scale input?
I'm wondering about that, thank you if you can solve my question.

compilation error

src/caffe/layers/domain_transform_forward_only_layer.cu(8): error: function "atomicAdd(double *, double)" has already been defined

about some parameters' settings and what the difference between your BN layer and the one from blvc/caffe?

hi @hszhao , why do you set mult_lr so large in the succeed conv layers after conv5_3/relu layer?
e.g.

layer {
  name: "conv6"
  type: "Convolution"
  bottom: "conv5_4"
  top: "conv6"
  param {
    lr_mult: 10
    decay_mult: 1
  }
  param {
    lr_mult: 20
    decay_mult: 1
  }
  convolution_param {
    num_output: 21
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}

and what the differences between your BN layer and the one from BLVC/caffe ?

thanks.

Ground truth and prediction labels mismatch

I am using the ground truth data downloaded from the Cityscapes webpage

https://www.cityscapes-dataset.com/

The filenames of the ground truth annotations from Cityscapes end in "gtFine_labelIds", while in the evaluation file for the validation set I have noticed you were looking for annotations ending in "gtFine_labelTrainIds". Where did you get those for the validation set?

I am sure you were using different indices for the classes compared to what can be downloaded from cityscapes now. For example the sky class in the cityscapes ground truths has a value of 23, while the PSP-predicted label for sky is 10. And that happens for all classes.

When running the eval_acc function the performance metrics computed are then obviously wrong.
Do you have a remapping from the current cityscapes labels to the ones you were using?

.build_release/src/caffe/layers/densecrf_layer.o:无法识别文件: 文件被截断

There was a bug when I tried to make all.
The details are as follows:

LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
.build_release/src/caffe/layers/densecrf_layer.o:无法识别文件: 文件被截断
collect2: 错误: ld 返回 1
Makefile:567: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1

Could you help me about this problem? Thank you!

Best wishes

CuDNN support, which version?

I am trying to build your network with cuDNN support enabled. I'm using CUDA 8 and cudnn5.1.
I've also tried out Cuda 7.5 with cudnn3.
I keep getting the following error:

CXX src/caffe/internal_thread.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/solver.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/net.cpp
CXX src/caffe/common.cpp
CXX src/caffe/interp_layer.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/util/interp.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/confusion_matrix.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/mpi_functions.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/channel.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/layers/cudnn_bn_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/flatten_layer.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/im2_col_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/image_seg_data_layer.cpp
src/caffe/layers/cudnn_bn_layer.cpp: In instantiation of ‘void caffe::CuDNNBNLayer<Dtype>::Reshape(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = float]’:
src/caffe/layers/cudnn_bn_layer.cpp:79:1:   required from here
src/caffe/layers/cudnn_bn_layer.cpp:39:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:40:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:53:3: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘frozen_’
src/caffe/layers/cudnn_bn_layer.cpp:54:5: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘broadcast_buffer_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<float>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp: In instantiation of ‘void caffe::CuDNNBNLayer<Dtype>::Reshape(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = double]’:
src/caffe/layers/cudnn_bn_layer.cpp:79:1:   required from here
src/caffe/layers/cudnn_bn_layer.cpp:39:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:40:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:45:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:47:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
src/caffe/layers/cudnn_bn_layer.cpp:53:3: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘frozen_’
src/caffe/layers/cudnn_bn_layer.cpp:54:5: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘broadcast_buffer_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘height_’
src/caffe/layers/cudnn_bn_layer.cpp:58:5: error: ‘class caffe::CuDNNBNLayer<double>’ has no member named ‘width_’
make: *** [.build_release/src/caffe/layers/cudnn_bn_layer.o] Error 1

This is an issue with the caffe version you are using, but I do not know how to fix this.
Any help would be greatly appreciated. It would also be great if you could specify the required versions of CUDA and CuDNN in the Readme.

Thank you!

ar

mistaken post, delete/disregard this.

Caffe make error

Getting the following error when compiling Caffe with make:

./include/caffe/common.cuh(9): error: function "atomicAdd(double *, double)" has already been defined

1 error detected in the compilation of "/tmp/tmpxft_00003eec_00000000-5_domain_transform_layer.cpp4.ii".

Any solutions?

libmatio.so.2: cannot open shared object file

I downloaded and install matio by following commands:

./configure
make
sudo make install

I also changed the MATLAB_DIR := /usr/local/MATLAB/R2014b in Makefile.config file. Then I compile the PSPnet using

make -j8 && make matcaffe

I got the success message

MEX matlab/+caffe/private/caffe_.cpp
Building with 'g++'.
Warning: You are using gcc version '5.4.1'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
MEX completed successfully.

However, when I run the eval_all.m file, I got the error

Invalid MEX-file '/home/john/PSPNet/matlab/+caffe/private/caffe_.mexa64': libmatio.so.2: cannot open shared object file: No such file or directory
Error in caffe.reset_all (line 5)
caffe_('reset');
Error in eval_sub (line 20)
caffe.reset_all();
Error in eval_all (line 72)  eval_sub(data_name,data_root,eval_list,model_weights,model_deploy,fea_cha,base_size,crop_size,data_class,data_colormap, ..
```

How can I fix it? Thank you

ade model get 4% lower meanIOU

Hi, @hszhao, thanks for the release of your work.

I have run the evaluation of ADE model but get 37.4/73.44(ss) and 38.57/74.19(ms) performance, which is a bit lower than what you reported. Do you have any idea about it?

Thanks for any help you may offer in advance!

Can you provide the initialization model

I realize that your model is a bit different the original residual network. Do you train the residual network by yourself?

Is it possible the initialization model?

Low Accuracy on ADE20K val

Hello,

I followed the instructions and ran eval_all.m on the ADE20K Validation Dataset (the one from the Challenge). Unfortunately the results are very bad:
Mean IoU over 150 classes: 0.0007
Pixel-wise Accuracy: 2.15%
(see also attached file)
PSPNet_ADE20K_val_results.txt

Tested on 2 different machines. First one on CPU; second one on GPU (Titan X) with Cuda 8.0 and without cuDNN.

The segmentation images don't look that bad but are a lot worse than the ones presented in the paper...

Any hints? How can I check whether the pretrained caffemodel is loaded successfully or not?

Thanks in advance

Best regards,
Johannes

Hardware requirements and typical runtimes

Hi,

I was wandering what are the hardware requirements on running this net/model (pspnet101_VOC2012.caffemodel) with or without GPU (does USE_CUDNN cahnges this)?

What are the typical runtimes in CPU/GPU modes? (for a single 473x473 image)?

Thanks

Could not make densecrf

Hi! First of all thanks for the code! But I tried to make the densecrf, but got the following error. Cannot figure why?

In file included from libDenseCRF/bipartitedensecrf.cpp:27:0:
libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from libDenseCRF/bipartitedensecrf.cpp:27:0:
libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from libDenseCRF/util.h:31:0,
                 from libDenseCRF/bipartitedensecrf.cpp:28:
libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
libDenseCRF/bipartitedensecrf.cpp: At global scope:
libDenseCRF/bipartitedensecrf.cpp:33:44: warning: unused parameter ‘o’ [-Wunused-parameter]
   BPPottsPotential( const BPPottsPotential&o ){}
                                            ^
In file included from libDenseCRF/densecrf.cpp:33:0:
libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from libDenseCRF/densecrf.cpp:33:0:
libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from libDenseCRF/densecrf.cpp:35:0:
libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
libDenseCRF/densecrf.cpp: At global scope:
libDenseCRF/densecrf.cpp:47:40: warning: unused parameter ‘o’ [-Wunused-parameter]
   PottsPotential( const PottsPotential&o ){}
                                        ^
In file included from libDenseCRF/filter.cpp:27:0:
libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
In file included from libDenseCRF/filter.cpp:28:0:
libDenseCRF/densecrf.h: At global scope:
libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from libDenseCRF/filter.cpp:28:0:
libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from libDenseCRF/permutohedral.cpp:28:0:
libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
In file included from libDenseCRF/util.h:30:0,
                 from libDenseCRF/util.cpp:31:
libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from libDenseCRF/util.h:30:0,
                 from libDenseCRF/util.cpp:31:
libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from libDenseCRF/util.h:31:0,
                 from libDenseCRF/util.cpp:31:
libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
libDenseCRF/util.cpp: In function ‘unsigned char* readPPM(const char*, int&, int&)’:
libDenseCRF/util.cpp:80:31: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fgets ( hdr+l, 256-l, fp );
                               ^
libDenseCRF/util.cpp:97:30: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread ( r, 1, W*H*3, fp );
                              ^
libDenseCRF/util.cpp:101:30: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
       fscanf ( fp, "%d", &c );
                              ^
ar rcs libDenseCRF.a bipartitedensecrf.o densecrf.o filter.o permutohedral.o util.o
g++ test_densecrf/simple_dense_inference.cpp -o prog_test_densecrf -W -Wall -O2 -L. -lDenseCRF
In file included from test_densecrf/simple_dense_inference.cpp:31:0:
test_densecrf/../libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from test_densecrf/simple_dense_inference.cpp:31:0:
test_densecrf/../libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
test_densecrf/../libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from test_densecrf/../libDenseCRF/util.h:31:0,
                 from test_densecrf/simple_dense_inference.cpp:32:
test_densecrf/../libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
test_densecrf/../libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
make[1]: se sale del directorio '/home/poto/Escritorio/deeplabv2/PSPNet/densecrf'
make prog_refine_pascal
make[1]: se entra en el directorio '/home/poto/Escritorio/deeplabv2/PSPNet/densecrf'
g++ refine_pascal/dense_inference.cpp -o prog_refine_pascal -W -Wall -O2 -L. -lDenseCRF -I./refine_pascal/ -I./util/
In file included from refine_pascal/dense_inference.cpp:46:0:
refine_pascal/../libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from refine_pascal/dense_inference.cpp:46:0:
refine_pascal/../libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
refine_pascal/../libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from refine_pascal/../libDenseCRF/util.h:31:0,
                 from refine_pascal/dense_inference.cpp:47:
refine_pascal/../libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
refine_pascal/../libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )
                    ^
make[1]: se sale del directorio '/home/poto/Escritorio/deeplabv2/PSPNet/densecrf'
make prog_refine_pascal_v4
make[1]: se entra en el directorio '/home/poto/Escritorio/deeplabv2/PSPNet/densecrf'
g++ refine_pascal_v4/dense_inference.cpp -o prog_refine_pascal_v4 -W -Wall -O2 -L. -lDenseCRF -lmatio -I./util/
In file included from refine_pascal_v4/dense_inference.cpp:48:0:
refine_pascal_v4/../libDenseCRF/densecrf.h:66:23: warning: unused parameter ‘o’ [-Wunused-parameter]
   DenseCRF(DenseCRF & o) {}
                       ^
In file included from refine_pascal_v4/dense_inference.cpp:48:0:
refine_pascal_v4/../libDenseCRF/densecrf.h:140:41: warning: unused parameter ‘o’ [-Wunused-parameter]
   BipartiteDenseCRF(BipartiteDenseCRF & o){}
                                         ^
refine_pascal_v4/../libDenseCRF/densecrf.h:185:25: warning: unused parameter ‘filter’ [-Wunused-parameter]
   Filter( const Filter& filter ){}
                         ^
In file included from refine_pascal_v4/../libDenseCRF/util.h:31:0,
                 from refine_pascal_v4/dense_inference.cpp:49:
refine_pascal_v4/../libDenseCRF/permutohedral.h: In member function ‘void HashTable::grow()’:
refine_pascal_v4/../libDenseCRF/permutohedral.h:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i=0; i<old_capacity; i++ )

maybe I have a dependences problem? Thanks in advance!

bin size in ppm

Hi,

I don't understand about the bin size of the pyramid pooling module (11, 22, 33, 66) in the paper. Does it mean that, for instance of bin size 3*3, the width and height of each feature map after pooling are both 3? If yes, each feature map is square? Thx.

matcaffe throws a block of errors while running eval_all.m

I am on a shared cluster and not a root user.

While doing make matcaffe, I encountered a warning


Warning: You are using gcc version "5.4.0".  The version
         currently supported with MEX is "4.4.x".
         For a list of currently supported compilers see: 
         http://www.mathworks.com/support/compilers/current_release/

Since it was only a warning, I ignored it.

I added caffe path to matlab by addpath('/path/to/caffe/matlab')

I got the following error while trying to execute the file eval_all.m by ./run.sh

/usr/local/MATLAB/R2013a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by
/users/tejaswi.k/caffe_path/caffe/matlab/+caffe/private/caffe_.mexa64)

From https://github.com/BVLC/caffe/issues/827, I added this to .bashrc: export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

And now, if I try to run ./run.sh I get another error as below

/users/tejaswi.k/caffe_path/caffe/matlab/+caffe/private/caffe_.mexa64: undefined symbol:
_ZN2cv8imencodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayERSt6vectorIhSaIhEERKSB_IiSaIiEE

From https://github.com/BVLC/caffe/issues/3934, I understood that it is issue with the caffe being built from system's opencv and matlab having its own opencv libraries.

There they suggested to change symbolic links in /bin/glnxa64, but since I am not a root user on the shared cluster, cannot change the symbolic links in /bin/glnxa64 .

I instead added following to .bashrc :

export LD_PRELOAD = /usr/lib/x86_64-linux-gnu/libopencv_[core,highgui,imgproc]

Now, it also requires libtiff.so.5 location for the /usr/lib of image processing libraries, so I added that too.

Doing this throws more errors and matlab force closes.

The errors are given below:

malloc: unknown:0: assertion botched
free: called with unallocated block argument
last command: (null)
Aborting...


                                                            < M A T L A B (R) >
                                                  Copyright 1984-2013 The MathWorks, Inc.
                                                    R2013a (8.1.0.604) 64-bit (glnxa64)
                                                             February 15, 2013
    
[libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 49:12: Message type "caffe.LayerParameter" has no field named "bn_param".
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0312 04:16:05.166391 26629 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: prototxt/pspnet101_cityscapes_713.prototxt
*** Check failure stack trace: ***

 
------------------------------------------------------------------------
            Abort signal detected at Sun Mar 12 00:55:05 2017
------------------------------------------------------------------------

Configuration:
  Crash Decoding     : Disabled
  Current Visual     : None
  Default Encoding   : UTF-8
  GNU C Library      : 2.23 stable
  MATLAB Architecture: glnxa64
  MATLAB Root        : /usr/local/MATLAB/R2013a
  MATLAB Version     : 8.1.0.604 (R2013a)
  Operating System   : Linux 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64
  Processor ID       : x86 Family 6 Model 42 Stepping 7, GenuineIntel
  Virtual Machine    : Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
  Window System      : No active display

Fault Count: 1


Abnormal termination:
Abort signal

Register State (from fault):
  RAX = 0000000000000000  RBX = 00007f960059f420
  RCX = 00007f9698685428  RDX = 0000000000000006
  RSP = 00007f9672711158  RBP = 00007f9672711430
  RSI = 00000000000067d5  RDI = 000000000000677d

   R8 = 0000000000000081   R9 = 00007f960059f440
  R10 = 0000000000000008  R11 = 0000000000000206
  R12 = 00007f960059f480  R13 = 00000000000000b7
  R14 = 00007f960059f420  R15 = 00007f96005a6de0

  RIP = 00007f9698685428  EFL = 0000000000000206

   CS = 0033   FS = 0000   GS = 0000

Stack Trace (from fault):
[  0] 0x00007f9698685428                    /lib/x86_64-linux-gnu/libc.so.6+00218152 gsignal+00000056
[  1] 0x00007f969868702a                    /lib/x86_64-linux-gnu/libc.so.6+00225322 abort+00000362
[  2] 0x00007f960038ae49             /usr/lib/x86_64-linux-gnu/libglog.so.0+00040521
[  3] 0x00007f960038c5cd             /usr/lib/x86_64-linux-gnu/libglog.so.0+00046541
[  4] 0x00007f960038e433             /usr/lib/x86_64-linux-gnu/libglog.so.0+00054323 _ZN6google10LogMessage9SendToLogEv+00000643
[  5] 0x00007f960038c15b             /usr/lib/x86_64-linux-gnu/libglog.so.0+00045403 _ZN6google10LogMessage5FlushEv+00000187
[  6] 0x00007f960038ee1e             /usr/lib/x86_64-linux-gnu/libglog.so.0+00056862 _ZN6google15LogMessageFatalD2Ev+00000014
[  7] 0x00007f95fb71df51 /users/tejaswi.k/caffe_path/caffe/matlab/+caffe/private/caffe_.mexa64+00954193
[  8] 0x00007f95fb6f7292 /users/tejaswi.k/caffe_path/caffe/matlab/+caffe/private/caffe_.mexa64+00795282
[  9] 0x00007f95fb67c99a /users/tejaswi.k/caffe_path/caffe/matlab/+caffe/private/caffe_.mexa64+00293274
[ 10] 0x00007f95fb67cc16 /users/tejaswi.k/caffe_path/caffe/matlab/+caffe/private/caffe_.mexa64+00293910 mexFunction+00000169
[ 11] 0x00007f968c3d5f8a     /usr/local/MATLAB/R2013a/bin/glnxa64/libmex.so+00110474 mexRunMexFile+00000090
[ 12] 0x00007f968c3d20f9     /usr/local/MATLAB/R2013a/bin/glnxa64/libmex.so+00094457
[ 13] 0x00007f968c3d2f1c     /usr/local/MATLAB/R2013a/bin/glnxa64/libmex.so+00098076
[ 14] 0x00007f969a3196b2 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00562866 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000594
[ 15] 0x00007f9699da3bf6 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04262902
[ 16] 0x00007f9699da437a /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04264826
[ 17] 0x00007f9699da4eea /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04267754
[ 18] 0x00007f9699c07bbd /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02575293
[ 19] 0x00007f9699c33412 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02753554
[ 20] 0x00007f9699c3353f /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02753855
[ 21] 0x00007f9699d50500 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+03921152
[ 22] 0x00007f9699b69868 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01927272
[ 23] 0x00007f9699bd4e50 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02367056
[ 24] 0x00007f969a3196b2 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00562866 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000594
[ 25] 0x00007f968c9ae53a  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01672506
[ 26] 0x00007f968c94f13a  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01282362
[ 27] 0x00007f968c94f3be  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01283006
[ 28] 0x00007f968c95112c  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01290540
[ 29] 0x00007f968c9bc246  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01729094
[ 30] 0x00007f968ca3bcd8  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+02251992
[ 31] 0x00007f969a2cbaf8 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00244472 _ZN13Mfh_MATLAB_fn11dispatch_fhEiPP11mxArray_tagiS2_+00000488
[ 32] 0x00007f9699bb7256 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02245206
[ 33] 0x00007f9699b67a86 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01919622
[ 34] 0x00007f9699b6c374 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01938292
[ 35] 0x00007f9699b68993 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01923475
[ 36] 0x00007f9699b69797 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01927063
[ 37] 0x00007f9699bd4e50 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02367056
[ 38] 0x00007f969a3196b2 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00562866 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000594
[ 39] 0x00007f968c9b2a2f  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01690159
[ 40] 0x00007f968c94e5c4  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01279428
[ 41] 0x00007f968c94f0b9  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01282233
[ 42] 0x00007f968c94f3be  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01283006
[ 43] 0x00007f968c95068d  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01287821
[ 44] 0x00007f968c9507ad  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01288109
[ 45] 0x00007f968c950a4c  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01288780 _Z27omConstructObjectWithClientN4mcos9COSNameIDEiPPK11mxArray_tagPKNS_9COSClientE+00000476
[ 46] 0x00007f968c9bbb3d  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+01727293
[ 47] 0x00007f968ca3d673  /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcos.so+02258547
[ 48] 0x00007f969a2cbaf8 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00244472 _ZN13Mfh_MATLAB_fn11dispatch_fhEiPP11mxArray_tagiS2_+00000488
[ 49] 0x00007f9699bb7256 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02245206
[ 50] 0x00007f9699b67a86 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01919622
[ 51] 0x00007f9699b6c374 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01938292
[ 52] 0x00007f9699b68993 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01923475
[ 53] 0x00007f9699b69797 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01927063
[ 54] 0x00007f9699bd4e50 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02367056
[ 55] 0x00007f969a3196b2 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00562866 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000594
[ 56] 0x00007f9699da3bf6 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04262902
[ 57] 0x00007f9699da437a /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04264826
[ 58] 0x00007f9699da4eea /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04267754
[ 59] 0x00007f9699c07bbd /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02575293
[ 60] 0x00007f9699c33412 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02753554
[ 61] 0x00007f9699c3353f /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02753855
[ 62] 0x00007f9699d50500 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+03921152
[ 63] 0x00007f9699b6c8ac /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01939628
[ 64] 0x00007f9699b68993 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01923475
[ 65] 0x00007f9699b69797 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01927063
[ 66] 0x00007f9699bd4e50 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02367056
[ 67] 0x00007f969a3196b2 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00562866 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000594
[ 68] 0x00007f9699da3bf6 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04262902
[ 69] 0x00007f9699da437a /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04264826
[ 70] 0x00007f9699da4eea /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+04267754
[ 71] 0x00007f9699c07bbd /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02575293
[ 72] 0x00007f9699c33412 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02753554
[ 73] 0x00007f9699c3353f /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02753855
[ 74] 0x00007f9699d50500 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+03921152
[ 75] 0x00007f9699b69868 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01927272
[ 76] 0x00007f9699bd4e50 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02367056
[ 77] 0x00007f969a3196b2 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_dispatcher.so+00562866 _ZN8Mfh_file11dispatch_fhEiPP11mxArray_tagiS2_+00000594
[ 78] 0x00007f9699ba3dcb /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+02166219
[ 79] 0x00007f9699b617cc /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01894348
[ 80] 0x00007f9699b5de1d /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01879581
[ 81] 0x00007f9699b5e255 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01880661
[ 82] 0x00007f9699b605d0 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwm_interpreter.so+01889744
[ 83] 0x00007f968d210f13   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwiqm.so+03284755 _ZNK3iqm18InternalEvalPlugin24inEvalCmdWithLocalReturnERKSbItSt11char_traitsItESaItEEP15inWorkSpace_tag+00000147
[ 84] 0x00007f968d2118b8   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwiqm.so+03287224 _ZN3iqm18InternalEvalPlugin7executeEP15inWorkSpace_tagRN5boost10shared_ptrIN14cmddistributor17IIPCompletedEventEEE+00000120
[ 85] 0x00007f969a5a3a15   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00391701
[ 86] 0x00007f968d1924fa   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwiqm.so+02766074
[ 87] 0x00007f968d17fe24   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwiqm.so+02690596
[ 88] 0x00007f968c5f93fd /usr/local/MATLAB/R2013a/bin/glnxa64/libmwbridge.so+00115709 _Z10ioReadLinebP8_IO_FILERKN5boost8optionalIKP15inWorkSpace_tagEEb+00000429
[ 89] 0x00007f968c5f9a84 /usr/local/MATLAB/R2013a/bin/glnxa64/libmwbridge.so+00117380
[ 90] 0x00007f968c5ff49d /usr/local/MATLAB/R2013a/bin/glnxa64/libmwbridge.so+00140445
[ 91] 0x00007f968c5ff59e /usr/local/MATLAB/R2013a/bin/glnxa64/libmwbridge.so+00140702
[ 92] 0x00007f968c5ffc7f /usr/local/MATLAB/R2013a/bin/glnxa64/libmwbridge.so+00142463 _Z8mnParserv+00000623
[ 93] 0x00007f969a5b13d2   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00447442 _ZN11mcrInstance30mnParser_on_interpreter_threadEv+00000034
[ 94] 0x00007f969a5909ac   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00313772
[ 95] 0x00007f969a590b88   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00314248
[ 96] 0x00007f969abd5cab /usr/local/MATLAB/R2013a/bin/glnxa64/libmwservices.so+01166507 _ZN10eventqueue18UserEventQueueImpl5flushEv+00000395
[ 97] 0x00007f9689b205fd   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwuix.so+00534013
[ 98] 0x00007f969ac7ba9d /usr/local/MATLAB/R2013a/bin/glnxa64/libmwservices.so+01845917
[ 99] 0x00007f969ac7c50f /usr/local/MATLAB/R2013a/bin/glnxa64/libmwservices.so+01848591 _Z25svWS_ProcessPendingEventsiib+00001615
[100] 0x00007f969a5915ef   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00316911
[101] 0x00007f969a591f5c   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00319324
[102] 0x00007f969a58b592   /usr/local/MATLAB/R2013a/bin/glnxa64/libmwmcr.so+00292242
[103] 0x00007f9698a206ba              /lib/x86_64-linux-gnu/libpthread.so.0+00030394
[104] 0x00007f969875682d                    /lib/x86_64-linux-gnu/libc.so.6+01075245 clone+00000109


This error was detected while a MEX-file was running. If the MEX-file
is not an official MathWorks function, please examine its source code
for errors. Please consult the External Interfaces Guide for information
on debugging MEX-files.

If this problem is reproducible, please submit a Service Request via:
    http://www.mathworks.com/support/contact_us/

A technical support engineer might contact you with further information.

Thank you for your help.

Please help in resolving the issue.

protobuf version issue

Hi, @hszhao ,

Which version of protobuf do you use? Mine is 2.5.0 and it isn't compatible with PSPNet package.

root@milton-OptiPlex-9010:/data/code/PSPNet# make all
CXX .build_release/src/caffe/proto/caffe.pb.cc
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
 #error This file was generated by a newer version of protoc which is
  ^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
 #error incompatible with your Protocol Buffer headers.  Please update
  ^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
 #error your headers.
  ^
.build_release/src/caffe/proto/caffe.pb.h:22:35: fatal error: google/protobuf/arena.h: No such file or directory
 #include <google/protobuf/arena.h>
                                   ^
compilation terminated.
make: *** [.build_release/src/caffe/proto/caffe.pb.o] Error 1
root@milton-OptiPlex-9010:/data/code/PSPNet# ldconfig
root@milton-OptiPlex-9010:/data/code/PSPNet# make all
CXX .build_release/src/caffe/proto/caffe.pb.cc
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
 #error This file was generated by a newer version of protoc which is
  ^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
 #error incompatible with your Protocol Buffer headers.  Please update
  ^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
 #error your headers.
  ^
.build_release/src/caffe/proto/caffe.pb.h:22:35: fatal error: google/protobuf/arena.h: No such file or directory
 #include <google/protobuf/arena.h>
                                   ^
compilation terminated.
make: *** [.build_release/src/caffe/proto/caffe.pb.o] Error 1
root@milton-OptiPlex-9010:/data/code/PSPNet#

Please update the repo

hello,

Would you please update the repo for Ubuntu 16.04, Cuda 8.0 and cuDNN 5.1 or cuDNN 6?

Evaluation with VOC2012

Hi As per step 3. evaluation,

  1. I downloaded VOC2012 dataset from http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar.
  2. updated the path in eval_all.m. (inside /evaluation/samplelist)
  3. I also used the existing VOC2012_test.txt
  4. While running the ./run.sh, I got the below error.

Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Error using importdata (line 137)
Unable to open file.

Error in eval_sub (line 3)
list = importdata(fullfile(data_root,eval_list));

Error in eval_all (line 71)
parfor i = 1:gpu_num %change 'parfor' to 'for' if singe GPU testing is used


One thing I observed is whatever filenames mentioned in VOC2012_test.txt are missing inside path VOC2012/JPEGImages.

Ex:
The first 5 lines of VOC2012_test.txt file are
/JPEGImages/2008_000006.jpg
/JPEGImages/2008_000011.jpg
/JPEGImages/2008_000012.jpg
/JPEGImages/2008_000018.jpg
/JPEGImages/2008_000024.jpg

But the available files in VOC2012/JPEGImages are like
/JPEGImages/2008_000002.jpg
/JPEGImages/2008_000003.jpg
/JPEGImages/2008_000007.jpg
/JPEGImages/2008_000008.jpg
/JPEGImages/2008_000009.jpg

Why the filenames like 6, 11, 12, 18, 24, ... are missing inside VOC2012/JPEGImages is unclear.
Do I need to download VOC2012 from some other place?, please let me know.

FYI, I tried downloading ADE20K, but the folder structures are totally different & don't know how to modify ADE20K_val.txt (big manual work) & gave up.

Can this version be compiled by CUDA 8.0?

Hi, I found that there are some errors when compiling with CUDA 8.0.

1 error detected in the compilation of "/tmp/tmpxft_00000a2e_00000000-5_domain_transform_forward_only_layer.cpp4.ii".
make: *** [.build_release/cuda/src/caffe/layers/domain_transform_forward_only_layer.o] Error 1
make: *** Waiting for unfinished jobs....

This problem can be also seen when compiling deeplab with CUDA 8.0.

Do you have any solution for this problem? Thank you.

How to make it compatible with CUDNN v5

When I try to find why I cannot compile PSPNet with CUDNN v5 successfully, I find that the author is changing the README to say it is compatible with CUDNN v4...
So, can anybody give me a hint how to modify the code to make it compatible with CUDNN v5?

Run eval_all.m successfully??

Hi everybody,
Did anyone run the code completely?
If Yes, please tell me the what is the minimum required hardware?
How can I run the code eval_all.m on a system with a GPU with 3 GB of memory successfully?

Convert to Tensorflow model. How to deal with Interpolation layer? Help with the Keras imlementation

I want to try run this model in tensorflow, and is using
caffe-tensorflow converter.

There was some minor errors which was fixed, but the main trouble is the interpolation layer.
If i am right - this is the custom layer made specifically for the semantic segmentation networks, and is absent in the master branch of caffe, so its not implemented in any converters.

Has anyone tried to convert it? And how did you face this problem?

Updated:

Take a look at my repo - implementation in Keras, there are some mistakes which are leading to bad results. Help highly appreciated
Vladkryvoruchko/PSPNet-Keras-tensorflow

Updated:

Now it is working Keras project with good results

matio.h could not found

Hi,

I came across a bug "matio.h could not found" while trying to make -j8. I also check the src/caffe/util/ and there is also no matio.h both in your version of caffe and BVLC version vaffe.

The following is Error Message:

CXX src/caffe/util/matio_io.cpp
src/caffe/util/matio_io.cpp:10:19: 致命错误: matio.h:没有那个文件或目录
编译中断。
Makefile:575: recipe for target '.build_release/src/caffe/util/matio_io.o' failed
make: *** [.build_release/src/caffe/util/matio_io.o] Error 1

Best Wishes~

Training PSPNet

Hi,

I am trying to train PSPNet50.

With a Titan X, I could only train it with the batch size of 1. I cannot train it with the batch size of 2 even using 2 Titan GPUs.

Could please let me know how many gpus you used to train PSPNet and how many gpus are needed to train PSPNet successfully?

Thank you so much.

From which model did you fine-tune?

Hi, you said you use resnet-101 with dilated convolution, but I can't find any pre-trained ResNet with dilated convolution on the Internet. I want to know more in details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.