https://github.com/tensorly/tensorly

sort by:
Revision Author Date Message Commit Date
429b4a7 Use tl.kruskal_to_tensor Also remove an unused import. 12 March 2019, 18:04:29 UTC
d541246 Merge branch 'master' into sparse-parafac-missing 12 March 2019, 17:59:13 UTC
d0976b2 Merge pull request #102 from JeanKossaifi/sparse_parafac Adding sparse parafac 12 March 2019, 11:10:40 UTC
7d60391 Added test for sparse parafac 11 March 2019, 20:17:48 UTC
61ea788 Tests for sparse tenalg 11 March 2019, 12:37:50 UTC
8a89e6a TYPO 11 March 2019, 12:23:18 UTC
dddc4ed Update Travis + test for sparse with numpy 11 March 2019, 12:19:43 UTC
85bab72 Sparse: minor refactor + test tenalg 10 March 2019, 19:44:02 UTC
181f83e Adding unfolding_dot_khatri_rao test + misc * wrap unfolding_dot_khatri_rao for sparse * added email for asmeurer 10 March 2019, 19:00:45 UTC
8ec55ae Remove unused variable 07 March 2019, 22:18:24 UTC
44d7608 Update authors list 07 March 2019, 22:17:44 UTC
ab257e6 Refactor mttkrp 07 March 2019, 22:09:16 UTC
4996a23 Merge branch 'sparse-parafac' of git://github.com/Quansight/tensorly into sparse_parafac 26 February 2019, 14:02:08 UTC
8206345 Use tl.shape instead of tensor.shape 21 February 2019, 02:28:13 UTC
5d6290b Use tl.reshape instead of tensor.reshape 21 February 2019, 02:18:18 UTC
d7f320a More efficient mttkrp in parafac() It now computes along all ranks at once, while still computing in such a way so as to be sparse-safe (it does not create the full Khatri-Rao as an intermediate array). This is about 3x faster. 21 February 2019, 00:05:32 UTC
80e17b5 FIX: sparse imports 20 February 2019, 23:54:34 UTC
69db31b Fix dot in the numpy backend It must use a.dot(b) for the numpy backend parafac to work properly with sparse inputs. 20 February 2019, 19:16:45 UTC
26ce3d1 Use direct slicing instead of reshape to create a new axis 18 February 2019, 19:01:54 UTC
b491ef1 Merge branch 'sparse-parafac' of git://github.com/Quansight/tensorly into Quansight-sparse-parafac 11 February 2019, 22:57:30 UTC
1d54a35 Use transpose directly instead of moveaxis in the mttkrp This provides a slight performance improvement. 11 February 2019, 21:27:36 UTC
ad0c2a6 FIX for solve in PyTorch backend 06 February 2019, 12:50:37 UTC
ddc74bf Remove duplicate stack definition 05 February 2019, 20:01:33 UTC
cd88d3f Fix issues with mxnet backend Some custom methods were not being used because of a bad merge conflict resolution. 05 February 2019, 19:45:23 UTC
bbe5336 Merge branch 'master' into sparse-parafac 05 February 2019, 18:24:32 UTC
2d56a42 Merge pull request #95 from JeanKossaifi/backend-manager Backend refactor + sparse support for numpy 05 February 2019, 18:18:43 UTC
114e663 Test backend: remove needless try 01 February 2019, 15:11:57 UTC
6fd2894 Add back dynamical dispatch for backend methods Also bump version 30 January 2019, 23:58:40 UTC
d4da362 Make parafac() robust to complex tensors 24 January 2019, 19:47:58 UTC
99f2d6a FIX sparse backend 14 January 2019, 15:55:22 UTC
87dc6d7 Make norm() from numpy backend robust to complex tensors 13 January 2019, 09:03:09 UTC
b742c47 FIX contraction tests 10 January 2019, 20:44:06 UTC
478d832 Fix the sparse backend 10 January 2019, 18:01:10 UTC
c10f44e Merge branch 'master' into backend-manager 08 January 2019, 21:55:22 UTC
e1361b8 FIX: forgotten backend registration 08 January 2019, 15:55:14 UTC
591f5b7 Revert to functions 02 January 2019, 16:16:11 UTC
91f85a5 Refactor + Thread Local + context manager 28 December 2018, 12:10:37 UTC
7e69725 update 25 December 2018, 21:57:43 UTC
247917c TYPO 23 December 2018, 23:37:01 UTC
f04806e MXNET: fix reshape with empty shape 23 December 2018, 23:32:26 UTC
05b6b2f Adds tensor contraction 23 December 2018, 23:13:49 UTC
3580c8f BackendManager draft 23 December 2018, 20:57:48 UTC
3cbf815 Fix the PDF build of the docs The LaTeX preamble wasn't properly included in the latex_elements dictionary in conf.py. 19 December 2018, 21:41:27 UTC
122acd7 Add information on masks (tensorly/tensorly#91) 17 December 2018, 23:04:09 UTC
5c81d44 Merge branch 'sparse-parafac' into sparse-parafac-missing 13 December 2018, 15:28:21 UTC
12e1765 Merge branch 'sparse' into sparse-parafac 13 December 2018, 15:27:45 UTC
02a0942 Merge branch 'sparse' into sparse-docs 13 December 2018, 15:24:27 UTC
895a805 Merge branch 'sparse' of github.com:Quansight/tensorly into sparse 13 December 2018, 15:22:33 UTC
19d538b Merge branch 'sparse' into sparse-robust-pca 13 December 2018, 15:12:03 UTC
952b684 some minor sparse fixes 13 December 2018, 15:11:01 UTC
3c8fec9 Wrap non-negative PARAFAC for the sparse back-end. 13 December 2018, 11:49:53 UTC
4922c55 Fix typo in non-negative PARAFAC kwarg. 13 December 2018, 11:49:27 UTC
ea4ad8f Correct kruskal_to_tensor() with both weights and a mask 12 December 2018, 23:05:30 UTC
3cfd3e4 Make the parafac mask support sparse friendly This required adding a mask flag to kruskal_to_tensor() and kr() so that the mask could be absorbed into the calculation in a sparse friendly way. In order to be sparse friendly, the mask should be a sparse array with a fill value of 1 (True). In other words, the number of missing values should itself be sparse. The generic kr() algorithm was rewritten to use a generic outer product, and kruskal_to_tensor() now uses sum instead of dot (the NumPy kr() just multiplies the mask). 12 December 2018, 22:51:40 UTC
f0ef0a1 Fix nonnegative -> non_negative 12 December 2018, 22:42:45 UTC
7a7ba8a Revert "Add broadcast_to to the backends" Turns out I didn't need it. This reverts commit 729b8b95ab736916929d33d89192423c912b2b4d. 12 December 2018, 21:29:24 UTC
729b8b9 Add broadcast_to to the backends 12 December 2018, 21:29:12 UTC
f8427ef Merge branch 'sparse' into sparse-robust-pca 12 December 2018, 20:06:52 UTC
ae0f5eb Merge branch 'sparse' into sparse-parafac 12 December 2018, 20:06:12 UTC
28ee1fc Merge branch 'sparse' into sparse-docs 12 December 2018, 20:05:18 UTC
1f1c500 remove sparse tensor 12 December 2018, 20:03:59 UTC
218bcac Start adding support for masked values to parafac() The idea to modify the tensor with the masked array is from Tomasi, Giorgio, and Rasmus Bro. "PARAFAC and missing values." Chemometrics and Intelligent Laboratory Systems 75.2 (2005): 163-180. This still needs to be modified to continue to work with sparse arrays. Right now, it fully decomposes the factors to compute the modification, which will not work if the fully decomposed factors do not fit in memory. 11 December 2018, 21:34:11 UTC
367f376 Fix some text in a comment 11 December 2018, 20:45:23 UTC
7a8f205 convert output of svd_threshold() to orginal tensor type, as needed. 11 December 2018, 18:45:05 UTC
492455f Add non_negative_parafac to the sparse backend 10 December 2018, 22:19:44 UTC
66d66a0 Nonnegative PARAFAC supports sparse now as well 10 December 2018, 22:10:02 UTC
15ed539 Fold non_negative_parafac() into parafac(non_negative=True) non_negative_parafac() still exists as a alias to it. 10 December 2018, 21:26:07 UTC
96392e1 tucker should be partial_tucker 10 December 2018, 20:45:34 UTC
d0be36f fix typo: U -> V 10 December 2018, 19:43:04 UTC
2312d75 Add an example showing the parafac decomposition with sparse 10 December 2018, 19:02:05 UTC
a5386f8 Remove cruft 10 December 2018, 18:40:46 UTC
562ee2b Add some more docs about the sparse backends 10 December 2018, 18:39:08 UTC
75cc845 Remove sparse_backend from the development_guide index 10 December 2018, 18:28:25 UTC
d8cfd52 Fix filename spelling 10 December 2018, 18:27:56 UTC
08077ba Add the sparse backend docs to the index 10 December 2018, 18:07:40 UTC
b632cc2 Move the sparse backend docs from the development guide to the user guide 10 December 2018, 18:07:17 UTC
f90b049 Make the docs always builds with the git version of tensorly 10 December 2018, 18:02:55 UTC
ee17745 Convert A and b to csc in sparse.solve This avoids warnings from scipy that csc is more efficient when using solve. 07 December 2018, 20:21:26 UTC
ba19cfc Add kruskal_to_tensor to the sparse backend 06 December 2018, 22:30:10 UTC
fe0694b Adding a KruskalTensor class 06 December 2018, 21:44:34 UTC
2769207 use dense linear alg when needed in partial_svd 06 December 2018, 20:15:45 UTC
6cb7e71 Fix typo in mxnet moveaxis 06 December 2018, 19:25:21 UTC
91d56bc Remove axis keyword argument from prod() call It is a different keyword argument name for different backends. 06 December 2018, 19:23:38 UTC
680c750 Fix stack for the pytorch backend It calls the second argument 'dim' instead of 'axis'. 06 December 2018, 19:15:03 UTC
57f8751 Use an implementation of moveaxis that supports negative indices for mxnet 06 December 2018, 19:09:58 UTC
ce48e52 Make sure the dot product is against a n x 1 vector Only NumPy will take the dot product of a shape (m, n) with shape (n,) array it seems. 06 December 2018, 18:59:30 UTC
d5a2c48 Fix moveaxis for the pytorch backend for negative source or target 06 December 2018, 18:49:08 UTC
0bb275a Fix moveaxis for the tensorflow backend for negative source or target arguments 06 December 2018, 18:47:22 UTC
b51171b Use a.dot(b) for the numpy backend dot This fixes an issue with the sparse library when dotting a sparse array with a dense array. 06 December 2018, 18:33:05 UTC
71150f7 Add stack to the pytorch backend 06 December 2018, 18:15:25 UTC
ca56b96 Fix an instance of array.dot -> tl.dot 06 December 2018, 18:13:29 UTC
814d254 Use tl.dot and tl.transpose instead of .dot and .T 06 December 2018, 18:07:40 UTC
2a0d58c Merge branch 'sparse' into sparse-parafac 06 December 2018, 18:03:58 UTC
21d49b7 Add stack to the other backends 06 December 2018, 17:57:28 UTC
9bf66a4 Use tl.moveaxis instead of np.moveaxis 06 December 2018, 17:51:49 UTC
701b9ec V gets transposed in quick return 05 December 2018, 21:49:57 UTC
ce58bc1 Add explanatory comment 05 December 2018, 21:26:04 UTC
c0bba38 numpy sparse clip() fix and partial_svd fix for nnz == 0 tensors 05 December 2018, 20:07:29 UTC
1cf4b5c Print the variation after 2 iterations instead of 3 05 December 2018, 19:04:08 UTC
d382f20 Easier to read verbose output 05 December 2018, 19:03:59 UTC
back to top