Comments (4)
Hey;
Why are two epochs run through as desired, but after the initially correct specification (namely "max_epochs=2"), "max_epochs=1" is then output several times?
So this happens as we do "one epoch" for each validation dataset at the end of each training epoch. This code also computes the validation metrics on the training set as well to make it easier to see if its overfitting.
What does the time information "Time taken: 00:00:09" refer to, because the real runtime is significantly longer?
This is why you're seeing different times for completion as well, when its referring to the shorter times its how long it takes for an "epoch" on the validation sets.
The outputs in the training starting with "INFO:root:" are apparently defined in semantic_segmentation/engines.py, but where do the others ("INFO:ignite.engine.engine:") come from?
These other logging statements come from within ignite
from semanticsegmentation.
So this happens as we do "one epoch" for each validation dataset at the end of each training epoch. This code also computes the validation metrics on the training set as well to make it easier to see if its overfitting.
This is why you're seeing different times for completion as well, when its referring to the shorter times its how long it takes for an "epoch" on the validation sets.
Thank you for the explanation! So in each epoch the first row of metrics refers to the training dataset and the second to the validation dataset? You could add that in the output to make it more understandable. Isn't it unusual that the result on the validation dataset is better than on the training dataset?
These other logging statements come from within
ignite
Can I suppress these outputs somehow, during longer trainings they just clutter up the terminal window?
from semanticsegmentation.
You could add that in the output to make it more understandable.
It definitely should be; it'll be a fairly simple change here if you want to make a PR?
https://github.com/WillBrennan/SemanticSegmentation/blob/master/semantic_segmentation/engines.py#L60
Can I suppress these outputs somehow, during longer trainings they just clutter up the terminal window?
Yes; they can be suppressed. Currently this library is using the default logger from the python standard logging library. We should specify a separate logger for this library.
Isn't it unusual that the result on the validation dataset is better than on the training dataset?
Ah to clarify; when the metrics are calculated on the training dataset it is still performing augmentation. This is why the validation dataset performs better.
from semanticsegmentation.
It definitely should be; it'll be a fairly simple change here if you want to make a PR? https://github.com/WillBrennan/SemanticSegmentation/blob/master/semantic_segmentation/engines.py#L60
Here it is: #29
Ah to clarify; when the metrics are calculated on the training dataset it is still performing augmentation. This is why the validation dataset performs better.
Ah, now it makes sense! :-)
from semanticsegmentation.
Related Issues (20)
- Assertion Error when replicating this code with Google Colab HOT 2
- pickle.UnpicklingError: invalid load key, 'v'. HOT 2
- Semantic Segmentation Tool HOT 1
- Error in training HOT 3
- real time HOT 4
- CPU HOT 4
- CUDA error: no kernel image HOT 3
- Cannot launch "labelme" HOT 1
- Input Shape HOT 2
- coremltools conversion from pytorch to coreml HOT 1
- coreml conversion error HOT 1
- segmented images HOT 1
- Training error HOT 4
- Skin segmentation dataset HOT 1
- How did I get SS to show black and white skin mask HOT 1
- Tranfer learning HOT 1
- Multiple Classes
- Running out of memory HOT 2
- Unable to find fcn_resnet101_coco, and BiSeNetV2 HOT 1
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 semanticsegmentation.