Comments (8)
- Did you train it from scratch or fine-tune it? It's better to fine-tune
- Did you try to use a smaller
force_decay
?force_decay
should vary with your network architecture.
from caffe.
I tried a smaller force_decay and train it from scratch. It worked. But I still have some questions.
- I trained the resnet18 using force_decay on Imagenet from scratch. And then I use nn_decomposer.py to do low-rank, the rank-ratio I set is 0.95. The original top5 is 0.89, but after decompose it drop to 0.34 without finetune, in the meantime, I test the speed on titan-x with cuda8.0,cudnn5.1, the baseline time consuming is 6.18ms, and After low-rank, the time value became 6.24ms(if training with out force_decay, the time consuming is 7.5ms), and it seems hard to achieve 2X speedup on GPU your paper declared. Is it right?
- I want to know If I do low-rank layer by layer, will the final result be better than do low-rank on global net? for example, I decompose the first layer and then I fine-tuned it. After fine-tuning , I did decompose again to next layer.
Your work is very good and your advice will help me a lot. Thanks!
from caffe.
- Fine-tuning is required to recover accuracy after decomposing. Please do layer-wise timing to verify the bottleneck. The architecture of resnet is very different from alexnet.
- Not sure how much better it will be, but the fine-tuning time will be significantly increased.
from caffe.
Thanks for your answer! I found in your paper you showed some results about resnet-20 and googlenet in Figure 5. Are these results trained on ImageNet? What is the speedup of them on GPU? And could you share the caffemodels for quick test? Thanks!
from caffe.
ResNet is trained by cifar10 while Googlenet by ImageNet. I recommend to first test how low rank approximation accelerates them without force regularization. If it's promising, then you may use force regularization for higher speed.
from caffe.
Hi, I have trained the resnet18 use a higher force_regulation item, and at last it can achive top5 ~0.87(original is ~0.89). I do low-rank on this model with 0.95 rank-ratio and it can reduce the caffemodel size from 48MB -> 3.2MB(if using standard training it can only reduce from 48MB -> 36MB), I have check the prototxt for its num_output in each layer, I find the num_output of some layers reduced to 1. But when I use the low-rank model to fine-tune to original accuracy, when test at the start, top5 and top1 is nearly 0, and after some epochs, it still can't achieve a good result, the result top5 is ~30. So, I want to know if the method has a limitation when the rank is reduced to a very small number although I keep the rank ratio at 0.95?
from caffe.
@weitaoatvison this is one of the open issues in this work pending to solve as I mentioned here. Current strategy is to use a smaller rank ratio. Let me know if you have some progress on this issue. Thanks.
from caffe.
OK. I will do more work on it. Thanks!
from caffe.
Related Issues (20)
- One trivial modification, save my training HOT 3
- Improve efficiency for group lasso HOT 1
- how to get speedup on GPU using conv_mode: LOWERED_CCNMM HOT 2
- How to make ? HOT 1
- hi, what 'convq_layer' means in net_pruner.py and net_skipper.py? HOT 4
- I have a problem about make runtest HOT 1
- I have some problem about code HOT 3
- where to get lenet_0.9917.caffemodel.h5? bvlc_alexnet.caffemodel.h5? HOT 1
- where cifar10_full_train_test_kernel_shape.prototxt ? HOT 1
- How to see the speed up on GPU? HOT 5
- File "python/resnet_generator.py", line 21, in add_conv_layer conv_layer.bottom._values.append(bottom) AttributeError: 'google.protobuf.pyext._message.RepeatedScalarConta' object has no attribute '_values' HOT 3
- additional details on ResNet20 (low rank) HOT 4
- Getting Error While trying to convert to sparse Matrix HOT 1
- How to prune the zero-weights
- CSRMM Not Implemented yet HOT 3
- Error while converting caffemodel to HDF5 HOT 1
- using any regularization causes ever increasing loss HOT 5
- SCNN can't run for the errors of compute_shape
- A pytorch re-implementation of Structured Sparsity Learning HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from caffe.