Comments (4)
Hi @wdeback
Thanks for the detailed feedback!
Proper support for the context of input tensors has been added in master (033ed61).
I am planning to release a new version soon on PyPi but in the meantime the easiest way is to install TensorLy from master:
git clone https://github.com/tensorly/tensorly
cd tensorly
pip install -e .
Or directly:
pip install git+https://github.com/tensorly/tensorly
I incremented the version in the latest commit so you can check whether you are using the correct version by checking that tensorly.__version__
returns 0.3.0
.
Let me know if you have any more questions or if this doesn't solve your issue!
from tensorly.
Thanks for your prompt reply, @JeanKossaifi.
Proper support for the context of input tensors has been added in master (033ed61).
I am already using the master (build from source) including the commit with propagation of contexts such as:
D = T.zeros_like(X, **T.context(X))
and I confirmed that the internal tensors (D
,E
, L_x
, etc.) indeed live in the gpu context (see first lines in Out [9]
in this notebook).
Nevertheless, most computation of the robust_pca()
function itself is done on cpu which, I assume, is not the intended behavior.
Any idea how I can test this further to help you identify the issue?
from tensorly.
As of now MXNet doesn't yet have an implementation of the SVD, so for every call to the singular-value thresholding operator, the input tensor if copied to CPU, where SVD is performed by NumPy and the result copied back to GPU: my guess is most the time is wasted there..
I am experimenting with the syevd
but it does not seem to be robust enough for most use cases..
from tensorly.
MXNet doesn't yet have an implementation of the SVD, so for every call to the singular-value thresholding operator, the input tensor if copied to CPU, where SVD is performed by NumPy and the result copied back to GPU
Aha, yes, that makes sense. Thanks for the heads up.
I'll keep an eye on future developments. (Very nice project, BTW.)
from tensorly.
Related Issues (20)
- Example data is missing HOT 2
- Would it be possible to do a non-negative partial Tucker factorization? HOT 8
- Error when running sparse Robust PCA HOT 5
- Optional order parameter in tl.reshape can't be used with PyTorch backend HOT 4
- Further testing for preserving tensor context with operations HOT 4
- Error encountered when using tensorly.decomposition.parafac with high rank and GPU HOT 2
- Can I impute data using Tucker or CP Decomposition for categorical data? HOT 1
- make_svd_non_negative only returns the updated U matrix HOT 2
- All nan in matrix come from non negative tucker decomposition HOT 2
- Init mode == "random" does not return the correct shape in initialize_tucker HOT 3
- It appears that partial_unfold works using sparse tensors, but it is not clear in the documentation
- Better random init of factorized tensors HOT 1
- svd_interface will throw an error if the number of rows of the matrix is smaller than it's columns HOT 1
- numpy.core._exceptions._ArrayMemoryError HOT 2
- Is there any t-product implementation code in tensorly?Thanks HOT 1
- More descriptive message when random PARAFAC2 rank is infeasible given shape HOT 1
- AssertionError: `tensorly.tt_tensor.validate_tt_rank` test HOT 1
- Randomised_CP function throws a Singular Matrix error HOT 2
- Tensor Conversion in TensorLy Does Not Preserve PyTorch Tensor dtype and device Attributes
- PARAFAC2 for missing data HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tensorly.