I know that Caffe uses GEneral Matrix to Matrix Multiplication (GEMM) which is part of Basic Linear Algebra Subprograms (BLAS) library for performing convolution operations. Where a convolution is converted to matrix multiplication operation. I have referred below article. https://petewarden.com/2015/04/20/why-gemm-is-at-the-heart-of-deep-learning/ I want to understand how other deep learning frameworks like Theano, Tensorflow, Pytorch perform convolution operations. Do they use similar libraries in the backend. There might be some articles present on this topic. If someone can point me to those …
By BVLC/Caffe examples cifar10, it has 3 convolution layers with pool/norm and its accuracy increases to around 82 easily. Now I want to increase my resolution by downloading the 10 classes of images from imagenet and make the image resolution to 55. The scenario is that the images have higher resolution and less data: 5000 per-class while cifar-10 has 6000 per class. What are good design strategies for this new scenario? Is the performance going to drop a lot?
I am using Ubuntu18.04 and Caffe deep learning framework to do my project. However, when I tried to backup my project, I found that the Caffe folder (downloaded from GitHub) can't be copied or compressed. Here is what I did: Download Caffe from GitHub, and install it. Do some modification to the source code for my project. Backup the whole Caffe folder. However, if I copy the folder to a USB flash drive, I will have a folder that misses …
Usually the neural network training has at least 2 steps: first trained on a large set of some standard data (ImageNet, ...) and then the resulting weights are trained on a small set of my data (in this step we can train all layers or only one last layer) What is the same of 2-nd step, is it Fine-tuning or Transfer-learning? And what is the different between Fine-tuning and Transfer-learning?
I'm fine tuning with caffenet for a 3 classes classification problem. I have 100 instances of class A, 90 instances of class B and 30 instances of class C. I thought that my net would be biased toward classes A and B but I'm actually getting quite good results. I know that caffenet doesn't take care of imbalance data for me. Maybe it has to do with the fact that my entire train set fits into one batch? Or maybe …
this code works with a VGG caffe model (VGG_ILSVRC_19_layers.caffemodel). When I tried to change the model to a LeNet caffemodel (below the prototxt file), I got the following error. In 6 module of nn.Sequential: xx/.luarocks/share/lua/5.1/nn/Linear.lua:66: size mismatch, m1: [1 x 594050], m2: [140450 x 500] at xx/torch/pkg/torch/lib/TH/generic/THTensorMath.c:1293 Any suggestions? Many thanks! =========================== Code net = loadcaffe.load(opt.cnn_proto, opt.cnn_model, opt.backend); --for i = 1, 9 do -- Lines removed when using LeNet -- net:remove() --end print(net) if opt.gpuid >= 0 then require …
I am new into Caffe and I have some trouble in understanding how should I create a dataset for object detection. I have downloaded some images and bounding boxes from ImageNet. The bounding boxes are in Pascal VOC format (xml files). As I understood, this is not the only format for bounding boxes. However, I want to build a dataset that can be fed to a Caffe network. Again, I know that there are several suitable formats. For now, I …
I trained pre-trained ResNet-101 following caffe model(By Kaiming He github) with 800000 data for training and 200000 data for validation. After I train this model, I got 59% accuracy for 1st and accuracy-top5 is 82% with 30 epoch as seen below picture. But when I tried predict some images with this model(net.forward()), the results always produce same probability like below even though I tried with other images. First thing I thought was image preprocessing problem in predict step like subtracting …
Background: I am trying to train different sub-samples of MNIST dataset(1 model for 10,000 , another model for 20,000 samples, and so on until a model for all 60,000 training samples) using Caffe. Question: How do I sub-split the training dataset of 60,000 samples keeping the format of the training files same(intact) as originally published on http://yann.lecun.com/exdb/mnist/
What is the fully-convolutional model? Is fully-convolutional model a model that has only convolutional layers (with Batch-norm and Activation) and has not any: max-pool, fully-connected, and other layers? If it is true, then why Yolo v2 neural network for object detection is named Fully-Convolutional model if it uses Max-pool layers: https://arxiv.org/pdf/1612.08242v1.pdf Table 2: The path from YOLO to YOLOv2. Most of the listed design decisions lead to significant increases in mAP. Two exceptions are switching to a fully convolutional network …
I am trying to use Caffe on the usual Fisher's Iris data set (150 flowers, each having 4 features, and split into 3 classes): if a flower belong to class 1 (setosa), the network output should be [1, 0, 0] if a flower belong to class 2 (versicolor), the network output should be [0, 1, 0] if a flower belong to class 3 (virginica), the network output should be [0, 0, 1] I use the SigmoidCrossEntropyLoss as it used for …
I am confused about the group parameter in caffe convolution layer. Image I have an input of 20x3x227x227 and filter size is 96x3x11x11 with stride=4 and padding=0, if I set the group=2. Then the setting becomes: group1 : 20x1x227x227, filter1: 96x1x11x11 group2 : 20x2x227x227, filter2: 96x2x11x11 is that correct? If that is correct, how can you concatenate them to the output 20x96x55x55?
I want to build a system that recognises (with a given uncertainty) the make and model of a car from an image. I have decided to use Convolution Neural Networks, specifically the Caffe framework. My next decision is how best to build my data set. According to this book, I need around 5000 data points for each class (so lets say ~500k images). I've done a little bit of reading on here and other resources, and it seems that the …
I have a lasgane code. I want to create the same network using caffe. I could conver the network.But i need help with the hyperparameters in lasagne. The hyperparameters look like: lr = 1e-2 weight_decay = 1e-5 prediction = lasagne.layers.get_output(net['out']) loss = T.mean(lasagne.objectives.squared_error(prediction, target_var)) weightsl2 = lasagne.regularization.regularize_network_params(net['out'], lasagne.regularization.l2) loss += weight_decay * weightsl2 How do i perform the L2 regularization part in caffe? Relevant parts from my solver.prototxt is as below: base_lr: 0.01 lr_policy: "fixed" weight_decay: 0.00001 regularization_type: "L2" stepsize: …