aimerykong / low-rank-bilinear-pooling Goto Github PK
View Code? Open in Web Editor NEWCVPR2017 - an ultra-compact bilinear model for fine-grained classification
Home Page: https://www.cs.cmu.edu/~shuk/lr_bilinear.html
CVPR2017 - an ultra-compact bilinear model for fine-grained classification
Home Page: https://www.cs.cmu.edu/~shuk/lr_bilinear.html
Hi @aimerykong
Thank you for sharing you code. I tried your demo 4 locally, switching the CUB dataset to DTD to see the performance. However, the objective is not decreasing after many epochs.
What I did is simply add these lines to your main100 and main101 code.
% main100_demo_PCA_conv53_forDimRed.m
%% prepare data
% dataset: 'CUB', 'MIT', 'DTD', 'aircrafts', 'cars'
if strcmp(dataset, 'CUB')
num_classes = 200;
imdbFile = fullfile('imdbFolder', dataset, [lower(dataset) '-seed-01'], 'imdb-seed-1.mat');
elseif strcmp(dataset, 'DTD')
num_classes = 47;
imdbFile = fullfile('imdbFolder', dataset, [lower(dataset) '-seed-01'], 'imdb-seed-1.mat');
end
% ... omitting lines between the dataset and the last save line.
save([dataset,'_bisvmEpoch102'], 'Gram', 'U', 's', 'S');
% main101_...
if strcmp(dataset, 'CUB')
% omit since it is the same as your code.
elseif strcmp(dataset, 'DTD')
num_classes = 47;
dataDir = './data/dtd';
imdbFile = fullfile('imdbFolder', dataset, [lower(dataset) '-seed-01'], 'imdb-seed-1.mat');
% imdbFile = fullfile('imdbFolder', dataset, [lower(dataset) '-seed-01'], 'imdb-seed-2_flipAug.mat');
if ~exist(imdbFile, 'file')
imdb = dtd_get_database(dataDir);
imdbDir=fileparts(imdbFile);
if ~isdir(imdbDir)
mkdir(imdbDir);
end
save(imdbFile, '-struct', 'imdb') ;
end
% omit lines
% make sure I was loading the init-weights saved by main100.
Pparam = load([dataset,'_bisvmEpoch102']);
Everything else is not touched.
And this is the learning curve returned by Matlab.
Would you mind to share how to correctly use your code to train on other datasets? Thank you in advance!
so you did not implement the Low-Rank-Bilinear-Pooling model in the paper(cvpr 2017) using Caffe?
so,i have i problem, what is the demo 1 mean?
Excuse me, why is your network training loss never falling?
I see from the demo 4 that the final accuracy can't reach 84.21% as claimed in the paper?
But the caffe-20160312 reports 84.98% for the compact bilinear model already.
Could you please explain the difference?
Hello,@aimerykong ,you mentioned "The folder named "caffe-20160312" is a modified caffe toolbox by Yang Gao for his "compact bilinear pooling"" in readme.md. I want to know where are you modified, Could you tell me please??
Can I use it for whole body based gender recognition?
I haven't found the SignedSqrt layer in the version of caffe-20160312 int the caffe.proto???
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.