Giter VIP home page Giter VIP logo

Comments (4)

WillBrennan avatar WillBrennan commented on June 30, 2024

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.

saskra avatar saskra commented on June 30, 2024

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.

WillBrennan avatar WillBrennan commented on June 30, 2024

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.

saskra avatar saskra commented on June 30, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.