GithubHelp home page GithubHelp logo

Comments (12)

AlessandroLovo avatar AlessandroLovo commented on September 25, 2024 1

Found the reason: before the network had ~200.000 trainable parameters... now it has ~8 millions...

from climate-learning.

AlessandroLovo avatar AlessandroLovo commented on September 25, 2024 1

I will re-implement the MaxPool for backward compatibility

from climate-learning.

georgemilosh avatar georgemilosh commented on September 25, 2024
  • Using tensorflow pipelines which should take care of our custom stratified k-fold-cross-validation that doesn't mix different years
  • When computing $A(t)$ we only need a small portion of the globe, so no need to load all the fields for that purpose
  • Balancing folds should be possible just based on this $A(t)$ but perhaps we don't need to actually shuffle the data. We just need to tell tensorflow the map to the year labels in the pipelines
  • Consider tensorflow pipelines which train from the disk rather than RAM

from climate-learning.

georgemilosh avatar georgemilosh commented on September 25, 2024

I should note that there are extra memory leaks when trying current tensorflow version (that is no longer tensorflow-gpu and that is installed with pip rather than conda)

from climate-learning.

AlessandroLovo avatar AlessandroLovo commented on September 25, 2024

Check for easy improvement when loading data, especially if we don't want to use the whole dataset. In particular inside the Plasim_Field object

from climate-learning.

georgemilosh avatar georgemilosh commented on September 25, 2024

At the moment I create a separate dataset with cdo that's the subset, and everything works much faster. But I feel this is ad hoc. Alternatively we could always work with smaller datasets that are to be concatenated in Learn2_new.py if needed, but also a bit annoying

from climate-learning.

AlessandroLovo avatar AlessandroLovo commented on September 25, 2024

Yeah, indeed. I was planning to do line by line evaluation of the code monitoring the RAM to see exactly when we load the data into memory and if we can do something about it, but I cannot guarantee I'll have time for that

from climate-learning.

AlessandroLovo avatar AlessandroLovo commented on September 25, 2024

I was just doing some runs and I noticed that now with 1000 years of data training a CNN uses 1.3TB of virtual memory... Did you change anything? If yes is not going in the right direction 😆

from climate-learning.

AlessandroLovo avatar AlessandroLovo commented on September 25, 2024

And that is because the MaxPool layers have disappeared

from climate-learning.

georgemilosh avatar georgemilosh commented on September 25, 2024

Yes, sorry forgot to re-implement them. As modified the way create_model works. I was working with strides instead.

from climate-learning.

georgemilosh avatar georgemilosh commented on September 25, 2024

Although virtual memory normally doesn't matter.

from climate-learning.

georgemilosh avatar georgemilosh commented on September 25, 2024

My view is that we will need to implement tensorflow datasets. Operations such as shuffling (balancing) and train/validation have to be done virtually by permuting only indices. The dataset has to somehow know which portions of the full dataset it has to provide for the next(batch). In pytorch it is quite easy to control how data is extracted. I don't like that we have to copy paste data in memory. Normalization is another step, but it could be achieved by a layer implementation rather than doing it explicitly like we do?

from climate-learning.

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.