python - 无法将 Tucker 分解中的等级定义为等于原始维度
问题描述
我正在尝试将 Tucker 分解应用于具有 Tensorly 的T
形状张量,但我无法定义等级等于原始维度的等级,例如:(500, 500, 3, 28)
tucker
我可以:
from tensorly.decomposition import tucker
tucker(T, [2, 2, 2, 27])
但是当我将 27 更改为 28 时:
tucker(T, [2, 2, 2, 28])
程序挂起。任何想法为什么会发生这种情况?
解决方案
如果秩等于原始大小,则无法应用稀疏 SVD,并且在展开时需要完整(计算量大)的 SVD。通过设置init='random'
您绕过 SVD,这就是它更快的原因。
推荐阅读
- vb.net - 将文本框输入存储到数组中并将其显示到 Visual Basic 中的列表框
- django - Django返回表单错误,但输入似乎是有效的
- julia - Julia语言中结构中的数组问题
- c# - 如何在 ASP.NET Core 中获取 ModelMetadata 的值?
- github - 在 dbeaver(git 集成)中克隆/推送 git 组织存储库时出错
- azure - Application Insights 中的可用性测试自动禁用
- java - Wildfly EJB 通过 HTTP 冻结调用 JBoss
- vb.net - 如果未从 Wizard Installer MSI (Winform, VB.NET) 安装,则执行安装程序包
- scala - 加载到镶木地板时时间戳转换为 UTC
- javascript - CSS 动画不适用于 JavaScript?