Coder Social home page Coder Social logo

lpne's Introduction

LPNE feature extraction and classification pipeline

Code for preprocessing and building models with local field potentials

See script.py for usage.

Installation

$ git clone https://github.com/carlson-lab/lpne.git
$ cd lpne
$ pip install .
$ pytest test # run tests
$ cd docs
$ make html # build docs

Then see docs/build/html/index.html for the docs.

Dependencies

TO DO

  1. Add a Tucker decomposition model
  2. PoE?
  3. Make some pre-zipped features and labels: make TST public
  4. Movie app
  5. mouse-specific intercepts
  6. SMC for sampling label sequence posterior
  7. Mouse-specific normalization options
  8. Early stopping in GridSearchCV
  9. [b,f,r,r] vs [b,r,r,f] shapes
  10. automatic groups?
  11. More agressive normalization options
  12. Add strict channel map checking options
  13. Add CSV version of CHANS files
  14. save GridSearchCV with validation scores for each parameter setting
  15. Also save confusion matrices for GridSearchCV
  16. Add __all__ to files
  17. Add more model.score options
  18. Make pipeline app
  19. Fix the docs bugs
  20. Make segments files with onset, offset, and label

lpne's People

Contributors

jackgoffinet avatar mhunterklein avatar noah-lanier avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar  avatar Kostas Georgiou avatar

lpne's Issues

Error with averaging channels

While attempting to make features from the social data, I encountered an issue with averaging the channels of some of the lfp files. The error that occurred was:
'AssertionError: No channels to make grouped channel Cx_Cg!'.

However, there is a channel in the lfp files which, from the channel map, should average into that area.

I've put files to replicate this error on the DCC at /datacommons/carlsonlab/nwl3/error_example. I include the pipeline that I use, as well as two folders containing the files needed to either replicate the error (the error folder) or show that the pipeline works in other cases (the counterexample folder).

Please let me know if you need any more information, thanks.

Add bispectral power decomposition

Implement the pure/interaction spectrum decomposition described in "Simulation of higher-order stochastic processes by spectral representation" by Shields and Kim (2016).

Undefined predictive_order Object In NMF Base Class Pretraining Method

Line 298 in the pretrain_NMF method definitino of lpne/lpne/models/nmf_base.py references an object named predictive_order - or po1 for short - which is not defined within the scope of line 298. There is a loop preceding line 298 (begining on line 231) which references an object named predictive_order - which I will refer to as po2 for clarity - but the loop changes the value of po2 with every iteration, and so it is unclear whether po1 and po2 refer to the same information or not.

The purpose of this Issue is to resolve the question of whether po1 and po2 refer to the same thing which simply needs to be instantiated prior to the previously mentioned for loop, or if instead po1 and po2 refer to entirely different objects which need a new naming convention.

No empty_cache after pretraining or in .fit method of dcsfa_nmf.py

I was looking over dcsfa_nmf.py today with Karim, and discovered there is no call to empty_cache (esp. for when self.device=="cuda"), which may be the reason why Karim's training is crashing in the first epoch loop after pretraining.

I suggest we add at least one call to empty_cache in the "if pretrain" condition, and consider adding periodic calls to empty_cache during the main training loop (say, if epoch or batch number mod 100 == 0, for example)

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.