suhangpro / mvcnn Goto Github PK
View Code? Open in Web Editor NEWMulti-view CNN (MVCNN) for shape recognition
Home Page: http://vis-www.cs.umass.edu/mvcnn/
License: MIT License
Multi-view CNN (MVCNN) for shape recognition
Home Page: http://vis-www.cs.umass.edu/mvcnn/
License: MIT License
Hi,
I ran to an issue when I use
matlab -nodisplay -r "setup(true,struct('enableGpu',true,'enableCudnn',true));exit;"
The errors I got are
Building with 'nvcc'.
Error using mex
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: argument of
type "int" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeFloat]"
(537): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: argument of
type "int" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &,
vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with
dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(312): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: argument of
type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t"
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
/home/xiao/Documents/mvcnn/dependencies/matconvnet/matlab/src/bits/impl/nnconv_cudnn.cu(339): error: too few
arguments in function call
detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &,
vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int)
[with dataType=vl::vlTypeDouble]"
(540): here
12 errors detected in the compilation of "/tmp/tmpxft_00007998_00000000-7_nnconv_cudnn.cpp1.ii".Error in vl_compilenn>mex_compile (line 478)
mex(mopts{:}) ;Error in vl_compilenn (line 436)
mex_compile(opts, srcs{i}, objfile, flags.mexcu) ;Error in setup (line 67)
vl_compilenn(matconvnetOpts);I am using cudnn 5.1 will this be the issue??
I have a 2GB card but the program always exit with out of memory on GPU. I was wondering how much RAM does it take to do training.
Hi,
You mentioned that there are 12,311 object instances in the ModelNet 40 dataset in your paper. However, in your provided dataset, I find there are only 3,983 object instances. Could you please provide more details about the dataset. Thank you for your help.
I have implemented mv cnn using torch. check here
I am having trouble installing, and am a bit confused by your instructions.
I get the following results for the first two instructions:
ammirato@bvision4:~/mvcnn$ git submodule update --init
Cloning into 'dependencies/matconvnet'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Clone of '[email protected]:vlfeat/matconvnet.git' into submodule path 'dependencies/matconvnet' failed
ammirato@bvision4:~/mvcnn$ MEX=<MATLAB_ROOT>/bin/mex matlab -nodisplay -r "setup(true);exit;"
bash: MATLAB_ROOT: No such file or directory
Any idea what I'm doing wrong?
Mr Su,
I ran your code of mvcnn, and I've found a problem in the code. The training epoch is split into 3 stages, while theoretically the learningRates of every layer differ in different stage. However, the learningRates cannot be modified when stage changes, and only the last layer of the net may change during the whole training process.
Is there any implementation code for retrieval?
Hi,
I wonder if you have the rendered images for shrec17? The provided shapenet55 dataset is rendered from ShapeNetCorev1, right?
I would like to run some baselines. So it would be better if I use the same dataset for fair comparison.
Thanks
The program runs to modelnet experimental phase 2-mvcnn,net’s viewpool layer not have the field of ‘precious’.Can you give me some advice?Thank you
In iccv branch, after I execute
matlab -nodisplay -r "run_experiments;exit;"
The following error message prompt out. How should I do to fix this problem?
[36/40] toilet ... train/val/test: 64/16/20 (shapes)
[37/40] tv_stand ... train/val/test: 64/16/20 (shapes)
[38/40] vase ... train/val/test: 64/16/20 (shapes)
[39/40] wardrobe ... train/val/test: 64/16/20 (shapes)
[40/40] xbox ... train/val/test: 64/16/20 (shapes)
Loading imdb from data/modelnet40v1/imdb.mat ... done!
Downloading model (imagenet-matconvnet-vgg-m) ... done!
Reference to non-existent field 'learningRate'.
Error in cnn_shape>@(l)l.learningRate (line 129)
lr = cellfun(@(l) l.learningRate, net.layers(trainable_layers),'UniformOutput',false);
Error in cnn_shape (line 129)
lr = cellfun(@(l) l.learningRate, net.layers(trainable_layers),'UniformOutput',false);
Error in run_experiments (line 12)
cnn_shape('modelnet40v1', ...
>>
Hello Mr. Su. I want to ask you that when you compile time using cudnn version is how much, because I used the cudnn versions 6.0 and 5.1, during the compilation of matconvnet don't support cudnn acceleration. Thank you very much.
HI@ @suhangpro ,
Thanks for your code. But when I run this code,I only got loss=87.33. I have checked the label and input ,they are right. I am wondering is there some problem with the batch size in data layer when your definite it ? Because I try to set batch_size as 32, but it meets some problem.
Hello,
When 'git submodule update --init' , there's no error.
But when 'matlab -nodisplay -r "setup(true,struct('enableGpu',true,'enableCudnn',true));exit;"', the errors I got,
I guess the dependencies installed unsuccessfully.
So should I install the dependencies independently?Or there are any better solutions?
Thanks.
Hey, thanks the the awesome project and paper. I would just like to inform you and everyone else that I've made a PyTorch implementation of MVCNN using ResNet. You can find the project here.
Hi @suhangpro,
Thanks for open-sourcing MVCNN.
Could you please kindly release the code for shape retrieval experiments (on Shrec2016) as well?
Thank you!
Zhongqi Sun
Hi,Mr Su!Sorry to bother you. I am running run_experiments.m in the MVCNN code. However ,there is an unrecognizable field name of "learningRate", and the error is at line 130 in cnn_shape.m,'lr = cellfun(@(l)l.learningRate, net.layers(trainable_layers),'UniformOutput',false);'.Could you offer some solutions?Thanks!
I want to test the shaptnet55 dataset, but I can't seem to find the label of the test set.
Hello @suhangpro !
Is there any way that I could visualize layer weights,gradients to see how well it is training?
Thanks
It seems that the modelnet40v1 dataset just has 47796 items rather than 48000. So I think it may miss 214 items in the training data set ?
The input.py set mean_bgr = (104., 116., 122.). How u computer this number?
We would like to generate rendered images of all models in ModelNet40, however, the code released shows a missing of "vl_argparse" which defines the rendering parameters for the 12-view renderer, and I am wondering if you can update it on Github? Thank you.
Hi, I have seen the great power of 3d object classification MVCNN. And I wonder whether you have examined the network' s performance when the texture information of the 3d model is included? I have collected a bunch of models and some of them are in different class only due to their different color on the surface. So I wonder whether you have tried using colored rendered picture as the input? Thanks!
Hi,
I am just trying to recreate the results of the fine-tuned CNN experiment that you showed on the paper, specifically that a a pre-trained CNN with finetuning on the ModelNet40 dataset using 12x views for both testing and training can achieve 88.6% accuracy.
When you say finetuned, did you retrain just the last layer as your number of classes decreased or did you retrain the entire classifier portion of the network?, and if so what parameters did you use when retraining?
I have currently tried both VGG and Alexnet, and only tuning the last layer due to class number changes, I can only get an accuracy of 78% for Alexnet, and 69% for VGG16. I believe it has something to do with my parameters or my understanding of fine-tuning, but any help on this matter would be phenomenal!
Thanks,
Manik
Sorry, I'm new to this area.
When I follow README.md
finish the installation, I run this command shape_compute_descriptor('airplane_0002.off');
And I got a .txt
file named airplane_0002_descriptor.txt
.
What is the purpose of this file? And how can I get the predicted label with this file?
Thanks for any help.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.