nightrome / matconvnet-calvin

Code for several state-of-the-art papers in object detection and semantic segmentation.
http://calvin.inf.ed.ac.uk/
Other
86 stars 72 forks source link

Matconvnet Compilation Error #17

Closed EMCL closed 7 years ago

EMCL commented 7 years ago

Hi, after the successful process (it took around 6 hours) gives this error. any suggestion? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Processing test img: 5104/5105 Processing test img: 5105/5105 Warning: Dataset not correctly divided

In ImdbMatbox (line 69) In ImdbDetectionFullSupervision (line 11) In setupImdbDetection (line 22) In calvinNNDetection (line 60) In demo_frcn (line 23) Converting test network to train network (dropout, loss, etc.)... Adding dropout to network... Converting object classification network to Fast R-CNN network (ROI pooling, box regression, etc.)... Starting train epoch: 1 Attempt to execute SCRIPT vl_nnconv as a function: /matconvnet-calvin/matconvnet/matlab/vl_nnconv.m

Error in dagnn.Conv/forward (line 11) outputs{1} = vl_nnconv(...

Error in dagnn.Layer/forwardAdvanced (line 85) outputs = obj.forward(inputs, {net.params(par).value}) ;

Error in dagnn.DagNN/eval (line 88) obj.layers(l).block.forwardAdvanced(obj.layers(l)) ;

Error in CalvinNN/processEpoch (line 58) net.eval(inputs, obj.nnOpts.derOutputs);

Error in CalvinNN/train (line 54) obj.stats.(datasetMode)(epoch) = obj.processEpoch(obj.net, state);

Error in calvinNNDetection (line 67) calvinn.train();

Error in demo_frcn (line 23) calvinNNDetection();

nightrome commented 7 years ago

Hi and thanks for your interest! This seems to be a problem with the underlying MatConvnet software (not ours!). Check the third question here: http://www.vlfeat.org/matconvnet/faq/ Make sure you compiled correctly and that the vl_nnconv mex file is in your path. Maybe check that output of "which vl_nnconv" is a .mex* file, and not a .m file. This can also happen if you don't have adequate permissions to that folder https://github.com/vlfeat/matconvnet/issues/797. What confuses me is that you were already able to train for 6 hours, which you should not be if you didn't compile. Did you run the provided demo or a modified version of it?

EMCL commented 7 years ago

hi, yes i think the problem is gcc compiler of my server. vl_compilenn gives this warning ... Building with 'g++'. Warning: You are using gcc version '5.4.0'. 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.

In vl_compilenn>mex_compile (line 510) In vl_compilenn (line 471) MEX completed successfully.

nightrome commented 7 years ago

Hm, I am not sure about that. I have been receiving that warning for years and it never resulted in any problems. Did you check whether the .mex files are on your path? How come the error didn't show up during training?

EMCL commented 7 years ago

hi,

which vl_nnconv /home/lanka/work/matconvnet-calvin/matconvnet/matlab/mex/vl_nnconv.mexa64

and also i have given to full permision to matlab/mex. now given below error #################################################### Converting test network to train network (dropout, loss, etc.)... Adding dropout to network... Converting object classification network to Fast R-CNN network (ROI pooling, box regression, etc.)... Resuming by loading epoch 0 Starting train epoch: 1 Error using vl_nnconv An input is not a numeric array (or GPU support not compiled). Error in dagnn.Conv/forward (line 11) outputs{1} = vl_nnconv(... Error in dagnn.Layer/forwardAdvanced (line 85) outputs = obj.forward(inputs, {net.params(par).value}) ; Error in dagnn.DagNN/eval (line 88) obj.layers(l).block.forwardAdvanced(obj.layers(l)) ; Error in CalvinNN/processEpoch (line 58) net.eval(inputs, obj.nnOpts.derOutputs); Error in CalvinNN/train (line 54) obj.stats.(datasetMode)(epoch) = obj.processEpoch(obj.net, state); Error in calvinNNDetection (line 67) calvinn.train(); Error in demo_frcn (line 23)

nightrome commented 7 years ago

Hi, did you compile according to the instructions? You need to specify the EnableGpu flag: vl_compilenn('EnableGpu', true).

EMCL commented 7 years ago

vl_compilenn('enableGpu',true) Warning: Setting the 'MW_NVCC_PATH' environment variable to '/usr/local/cuda/bin/nvcc' In vl_compilenn>activate_nvcc (line 673) In vl_compilenn (line 274) Warning: NVCC not found in the command line path or the one found does not matches '/usr/local/cuda/bin/nvcc'. In vl_compilenn>activate_nvcc (line 682) In vl_compilenn (line 274) Location of NVCC (/usr/local/cuda/bin) added to your command search PATH. vl_compilenn: CUDA: MEX config file: '/home/lanka/work/matconvnet-calvin/matconvnet/matlab/src/config/mex_CUDA_glnxa64.xml' Building with 'nvcc'. nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

MEX completed successfully.

EMCL commented 7 years ago

Now given an error, ################# Starting train epoch: 1 Undefined function or variable 'roiPooling_forward'.

Error in dagnn.RoiPooling/forward (line 41) [rois, obj.mask] = roiPooling_forward(convIm, oriImSize, boxes, obj.poolSize); Error in dagnn.Layer/forwardAdvanced (line 85) outputs = obj.forward(inputs, {net.params(par).value}) ; Error in dagnn.DagNN/eval (line 88) obj.layers(l).block.forwardAdvanced(obj.layers(l)) ; Error in CalvinNN/processEpoch (line 58) net.eval(inputs, obj.nnOpts.derOutputs); Error in CalvinNN/train (line 54) obj.stats.(datasetMode)(epoch) = obj.processEpoch(obj.net, state); Error in calvinNNDetection (line 67) calvinn.train(); Error in demo_frcn (line 23) calvinNNDetection();

nightrome commented 7 years ago

You did not compile our code. Please follow the instructions step-by-step: https://github.com/nightrome/matconvnet-calvin#installation

EMCL commented 7 years ago

yes. you are right.i missed one step. Thank you.its working

EMCL commented 7 years ago

hi, after hour's training, at last, i got this error ################################## val: epoch 13: 251/251: 44.9 Hz (41.0 Hz) objective: 1.123 regressObjective: 0.400 Finished!

Error using checkArgsForHandleToPrint Handle input argument contains nonhandle values.

Error in checkArgsForHandleToPrint Error in print>LocalCreatePrintJob (line 216) handles = checkArgsForHandleToPrint(0, varargin{:}); Error in print (line 38) [pj, inputargs] = LocalCreatePrintJob(varargin{:}); Error in CalvinNN/train (line 66) print(1, modelFigPath, '-dpdf'); %#ok Error in calvinNNDetection (line 67) calvinn.train(); Error in demo_frcn (line 23) calvinNNDetection();

nightrome commented 7 years ago

It means that you closed the window that is displaying the state of the current training. However that doesn't matter, as the trained model has already been saved. So just run it again and it will use that model..