Comments (10)
A simple implementation can ignore the cost of activation functions and only compute the cost of feedforward and convolutional layers. Then you have to manage all the cases for convolutional layers.
The biggest problem is that for convolutional layers you need to know the input size, and therefore the layer's order.
from avalanche.
Yes, that may be a solution. It should also be possible with forward hooks without subclassing.
I can try to implement it.
from avalanche.
@AntonioCarta Maybe we can create a script that given a pytorch model:
- Convert every conv layer into a custom conv layer which also counts MAC for it (on-the-fly during the forward pass) and saves them in a common attribute of the model object (let's say a dict).
- Run the model on the first mini-batch of the chosen benchmark and return MAC statistics
What do you think?
from avalanche.
@AntonioCarta Is this issue solved?
from avalanche.
Not yet. If you want you can work on this @akshitac8.
from avalanche.
@akshitac8 are you working on this? It's not clear to me since I see that I am still assigned to the issue. Please give me a confirmation and assign the issue to yourself if you are taking it.
Otherwise I will work on this.
from avalanche.
I am sorry for not giving you a clear sign on it. I had a medical emergency but now I have started working on this bust not clear just MAC metric is needed or both this issue and #60 are related?
if you can clear me on this and then you can assign me the issue :)
from avalanche.
@AntonioCarta any news on this? Should we disassign this issue?
from avalanche.
Sorry, I forgot this issue was still assigned to me. I can do it (with the limitations discussed above), give me about a week of time to complete it.
from avalanche.
This may be interesting to look into when we want to upgrade the profiler: https://github.com/zhijian-liu/torchprofile
from avalanche.
Related Issues (20)
- GenericCLScenario donot support data for regression tasks. TypeError: unhashable type: 'list' HOT 6
- before_forward callback confusing naming
- Usage of function ni_benchmark HOT 1
- The most frequently used benchmark in time series classification/regression is the [UCR datasets](https://timeseriesclassification.com/), which consists of 128 time-series datasets. Both [sktime](https://www.sktime.net/en/stable/index.html) (a Tensorflow-based Python package) and [tsai](https://timeseriesai.github.io/tsai/) (a Pytorch-based Python package) have provided comprehensive solutions for data handling and model development, including the SoTA. HOT 1
- DistributedHelper CI is failing HOT 2
- Using avalanche.benchmarks.utils.data_loader for loading dataset
- Class Indices Overwritten During Continual Learning with Avalanche 0.4.0a HOT 2
- Constantly run into this error when installing HOT 7
- Creation of a new envirnment failed for python 3.9
- Creation of a new envirnment failed for python 3.1
- units of various matrices of avalanche.evaluation.metrices
- ADD plasticity metrics
- Can I use my own dataset? HOT 1
- test dataset path broken HOT 2
- Checkpoint error in AGEM
- tutorial missing docs HOT 2
- Cannot catch last subexp (Affects Online settings with access to task boundaries) HOT 5
- Issue with cpu_usage metric HOT 2
- ConcatDatasets HOT 1
- forgetting_metrics is 0 with filelist_benchmark
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 avalanche.