Giter VIP home page Giter VIP logo

Comments (4)

s3alfisc avatar s3alfisc commented on August 14, 2024

Good that you mention this, it is bothering me as well 😀 note that you can already economize a bit by setting 'store_date=False' and 'copy_data=False', though this still saves a range of large-memory attributes.

I suppose an argument 'lean=True' should also drop the Y and X attributes and garbage collection memory.

Should be an easy enough addition =)

from pyfixest.

s3alfisc avatar s3alfisc commented on August 14, 2024

Context

Quite a lot of large objects are stored in Feols / Feiv / Fepois objects. To avoid out-of-memory errors when working with big data sets, we want to add a function argument lean to all three classes mentioned above and the feols() and fepois() APIs.

Task

Add the end of the run_all_models method of the FixestMulti class, if lean = True, set the following attributes to None:

  • self._X
  • self._Y
  • self._Z
  • self._cluster_df
  • self._data

In code, do something as

import gc
if lean: 
   del self._X
   del self._Y
   del self._Z
   del self._cluster_df
   del self._data
   gc.collect()

from pyfixest.

mcsqr avatar mcsqr commented on August 14, 2024

👏

from pyfixest.

s3alfisc avatar s3alfisc commented on August 14, 2024

Done 👍

You can now specify a lean function argument:

%load_ext autoreload
%autoreload 2

import pyfixest as pf 
data = pf.get_data()
fit = pf.feols("Y ~ X1", data = data, lean = True)
hasattr(fit, "_X")
# False

from pyfixest.

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.