emdgroup / tnmf Goto Github PK
View Code? Open in Web Editor NEWTransform-Invariant Non-Negative Matrix Factorization
Home Page: https://emdgroup.github.io/tnmf/
License: Apache License 2.0
Transform-Invariant Non-Negative Matrix Factorization
Home Page: https://emdgroup.github.io/tnmf/
License: Apache License 2.0
...after the repo became public and GitHub pages have been set up
I am getting some flake8 errors locally that do not show up in the Github actions:
./build/lib/tnmf/tests/test_init.py:10:5: F403 'from tnmf import *' used; unable to detect undefined names
from tnmf import *
^
./build/lib/tnmf/tests/test_init.py:10:5: F401 'tnmf.*' imported but unused
from tnmf import *
^
1 F401 'tnmf.*' imported but unused
1 F403 'from tnmf import *' used; unable to detect undefined names
2
Currently, the inhibition gradient is computed in a way that it suppresses neighboring activations. Intuitively, we might instead want to suppress activations that lead to overlapping atoms in the reconstruction. Thus, another inhibition mode might make sense, that ensures pairwise orthogonality of the resulting partial reconstructions.
...to prevent smeared out Activations.
See https://academia.stackexchange.com/a/172780, https://citation-file-format.github.io, https://github.com/citation-file-format/citation-file-format/blob/1.1.0/README.md#software-citation-metadata-required
example: https://github.com/emdgroup/brain_waves_for_planning_problems/blob/main/CITATION.cff
Need to think about how to handle even atom sizes.
Presumably, the convolution, that is used to compute the inhibition gradient, does not consider the reconstruction mode. Potentially, this is not correct: At least intuitively, I would expect that for circular boundary conditions an activation at a border should suppress activations at the opposite border.
@AdrianSosic : What do you think?
The current setting how the different fitting interfaces (batch, minibatch, stream) are implemented has several problems:
fit
function uses the names to differentiate between the methods).algorithm
kwarg), which requires if-else logic in the tests.A potential solution might be to create a higher-level abstract Algorithm
class that has the current MiniBatchAlgorithm
as a subclass together with others that cover the batch and streaming scenario.
Should be analyzed and monitored.
The streamlit sharing demo simply crashes when exceeding the memory resources of the provided machine. Maybe we can identify during runtime if the demo is executed locally or in the cloud. In the latter case, we could then show a hint to the user that this is the "online version" of the demo, which is running with limited resources, and prevent the execution for settings that would lead to a crash.
Currently, we would not recognize if these fail, e.g. due to interface incompatibilities.
Easiest might be to create dummy unit tests that set matplotlib into non-interactive mode and run the examples just to check that nothing fails horribly (no result verification).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.