tensor python
waiting不是违停
张量分解 欢迎相关方向同行私信交流,ouweiting321
展开
-
Python logging模块学习笔记
logging查看回滚日志](Thecharacterusedbytheoperatingsystemtoseparatepathnamecomponents)os.sep是Thecharacterusedbytheoperatingsystemtoseparatepathnamecomponents。在日志命名的时候,比如父命名core,子命名为main.core,就可以复制父logger的设置。levelno是第x行。利用本地端口监听使用。...原创 2022-07-24 19:11:44 · 507 阅读 · 0 评论 -
t-SVD分解原理和python代码实现
首先应该知道t乘积的概念从下面可以看到,这是对A和B的前切面做循环卷积,其中,第一个前切面先证明该式:因此,证明如下:因此t-SVD算法如下:matlab版本代码python代码如下:注意,Af = np.fft.fft(A,axis=2)tf = np.fft.fft(A[1:,2:,:])Af[1,2:]==tf,即沿着第三维度进行t-SVD算法8,利用类似于FFT,可以只计算一半的SVD...原创 2022-06-18 18:35:58 · 2834 阅读 · 7 评论 -
2.4 BTD分解算法推导
Block Term Decomposition即BTD张量分解,目前只有tensorlab的matlab代码对UVW子问题的证明如下:在算法实际过程中,为了从U中求得每个Ur,需要对其进行QR分解,可以参考《DECOMPOSITIONS OF A HIGHER-ORDER TENSOR INBLOCK TERMS—PART III: ALTERNATING LEAST SQUARES ALGORITHMS》QR分解的Q是正交矩阵,R是上三角矩阵。接下来证明先证明一个模式积的结果然后原创 2022-06-17 15:38:03 · 850 阅读 · 0 评论 -
AttributeError: module ‘tensorly.backend‘ has no attribute ‘decomposition‘
出现原因是import的时候只import了tensorly,然后直接使用tensorly.decomposition.tucker进行计算。换成from tensorly.decomposition import tucker,然后使用tucker进行计算,问题解决。大约是这个库写的有问题的原因。tensorly的函数尽量把上一级的包都import进来,不要只import tensorly就完事。...原创 2022-06-16 21:00:21 · 187 阅读 · 0 评论 -
2.3Tucker分解HOSVD、HOOI算法推导和python实现
HOSVD参考论文:A MULTILINEAR SINGULAR VALUE DECOMPOSITIONHOSVD虽然不能保证给Tucker分解给出最优拟合,但是可以提供一个好的初始化的解这些矩阵都是正交的。之所以求前R最大特征值,可以在下文的HOOI看到,目的是最大化目标函数UWHOSVD的最后一行证明如下:HOOI:黄色之所以可以化过去,是因为原张量X其实是核张量G在高维空间的映射,而这个映射矩阵是单位正交矩阵,也就是说,只是旋转但不改变长度。因此F范数不变。故此,优化目标可以化为:因原创 2022-06-16 19:13:31 · 3481 阅读 · 5 评论 -
2.2CP分解CP-RALS算法推导python实现
由于ALS CP分解算法不能保证收敛到最小值,《Some convergence results on the Regularized Alternating Least-Squares method for tensor decomposition》分析了如下的正则项约束Regularized Alternating Least-Squares (RALS),它惩罚了现在的因子矩阵和上一个迭代的因子矩阵......原创 2022-06-10 18:38:08 · 809 阅读 · 1 评论 -
2.2 CP分解ALS算法python
这篇博客有详细推导CP分解将张量化为一系列秩一张量的外积和参考《Tensor Decomposition for Signal Processing and Machine Learning》,对于X的某个前切面,有:这样,我们利用Khatri-Rao积可以求出每个前切面的形式,有:这边先补一下伪逆矩阵知识伪逆矩阵性质接着,我们利用目标函数的闭合解但是直接算逆复杂度太大了,因为计算复杂度是n三方,直接用上式闭合解,n太大了。利用伪逆矩阵性质和Khatri-Rao积的性质,计算可得:原创 2022-06-10 11:15:57 · 1639 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters刷题笔记
用字典解决参考这个题解原创 2022-06-10 10:17:06 · 68 阅读 · 0 评论 -
167. Two Sum II - Input Array Is Sorted刷题笔记
初版代码超时,因为遇到一堆很多重复序列因此加上剪枝判断之后,就通过了原创 2022-06-09 09:55:09 · 80 阅读 · 0 评论 -
1.2 python tensorly matrix矩阵基本操作
参考的书籍为Tensor Computation for Data Analysisimport创建张量切片和fiber操作:和numpy一样,注意索引从0开始定义1.2 Diagonal Tensor定义1.3 求矩阵的迹定义1.4 矩阵内积和张量内积,不能用np.inner,它会变成A@B.T,是矩阵乘法了定义1.5 Frobenius Norm定义1.6 Vector Outer Productnumpy和tensorly都可以实现三个及以上的向量外积:定义1.7 Hada原创 2022-06-08 20:56:14 · 457 阅读 · 0 评论 -
AttributeError: module ‘tensorly‘ has no attribute ‘SVD_FUNS‘
这是因为tensorly使用的python版本太低,我之前用的是3.6版的。换成3.8之后就可以成功运行了。测试代码来自官方文档import numpy as npimport tensorly as tlfrom tensorly.decomposition import tuckertl.set_backend('numpy')tensor = tl.tensor([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],原创 2022-05-13 19:59:38 · 546 阅读 · 0 评论 -
numba CUDA报错
先打开cmd控制面板,输入nvcc --version,确认电脑上没有cuda打开nvidia控制面板,看到显卡型号是3050在帮助–系统信息下打开弹窗,在“组件”下找到CUDA版本,可以看到要下载的是11.4.1版本的打开nvidia的官方cuda下载地址,找到11.4.1下载选择深绿色的部分,开始下载下载后按照默认设置安装即可,其中解压地址可以随便选,安装完之后会把解压的中间文件删除。重启之后,在cmd中输入命令nvcc --version,发现安装成功接下来吧cuda添加进环原创 2022-03-15 08:26:26 · 1825 阅读 · 0 评论