Giter Club home page Giter Club logo

Comments (8)

lmichalke avatar lmichalke commented on August 20, 2024 3

I found the leak, it is in DainDataset.py line 49.

my_combo["original"] = numpy.array(PIL.Image.open(self.combos[index]["f1"]).convert(self.frameFormat))

The dict where this image is added is still referenced by member variable self.combos, so you effectively store the entire raw dataset in RAM when iterating over the DataLoader. Just deleting this line should fix the leak. I didn't see combo["original"] being used anywhere. Another possible fix would be changing line 48 from

my_combo = self.combos[index]

to

my_combo = self.combos[index].copy()

from dain-app.

BurguerJohn avatar BurguerJohn commented on August 20, 2024 1

The pytorch model use Vram, of course some parts of the core require some ram.
This is a leak in some part of the dataset generation, and this message is from the pytorch part of the code.
https://github.com/pytorch/pytorch/search?q=buy+new+ram

I'm still looking for a way to fix this leak.

from dain-app.

yhrbjsy avatar yhrbjsy commented on August 20, 2024 1

I found the leak, it is in DainDataset.py line 49.

my_combo["original"] = numpy.array(PIL.Image.open(self.combos[index]["f1"]).convert(self.frameFormat))

The dict where this image is added is still referenced by member variable self.combos, so you effectively store the entire raw dataset in RAM when iterating over the DataLoader. Just deleting this line should fix the leak. I didn't see combo["original"] being used anywhere. Another possible fix would be changing line 48 from

my_combo = self.combos[index]

to

my_combo = self.combos[index].copy()

Can you please upload the modified program as a package? Because there are many people, including me, who are not familiar with Python. Thank you very much.

from dain-app.

tuxtard avatar tuxtard commented on August 20, 2024

Confirmed. Getting this leak too.

from dain-app.

tuxtard avatar tuxtard commented on August 20, 2024

I was able to keep it running, despite this huge leak. Here`s how.

  1. Disable Windows memory compression. This service tries to compress frames in memory, but instead of helping it is just ballooning inside your RAM, thus leaving no more free space for allocation.
  2. Manually set your virtual memory paging file size to something huge. I had to use 100GB paging file to interpolate 3700 4k frames.
  3. Optionally you can use app like Process Lasso to periodically manually flush DAIN RAM artifacts to virtual memory.

from dain-app.

Borshig avatar Borshig commented on August 20, 2024

Pytorch return error string "buy new ram? " lmao

from dain-app.

capitalPSA avatar capitalPSA commented on August 20, 2024

@lmichalke File "Dain-App/my_DAIN_class.py", line 1102:
cleanFiles.append( {"data" : combo['original'][tt].numpy(), 'timestamp' : start})

Deleting line 49 in DainDataset.py will cause an error.

from dain-app.

lmichalke avatar lmichalke commented on August 20, 2024

Try the other thing I suggested.
Btw I recommend using this tool instead, it is much more polished.

from dain-app.

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.