用于多线性代数和张量分解的python模块
scikit-tensor-py3的Python项目详细描述
scikit tensor是一个用于多线性代数和张量的python模块。 因子分解。目前,scikit tensor支持基本的tensor操作 如折叠/展开、张量矩阵和张量向量积 以及以下张量分解:
- 典型/旁发分解
- 塔克分解
- 重新校准
- 迪迪康
- indscal
而且,所有操作都支持稠密和张量。
注
这是一个只与python 3兼容的维护版本。看起来 Scikit Tensor的开发已经停滞,项目已经 被遗弃的。这个fork只支持Python3.5和更高版本,并且 可在PYPI上使用,如scikit-tensor-py3,以便于安装。
欢迎使用问题和拉取请求,但与算法相关的问题 对额外算法的请求可能会被推迟或忽略 总之。欢迎技术(代码)问题。
依赖关系
构建软件所需的依赖项是numpy和scipy。
用法
分解感官面包数据的示例脚本(可从 http://www.models.life.ku.dk/datasets)使用cp-als:
import logging from scipy.io.matlab import loadmat from sktensor import dtensor, cp_als # Set logging to DEBUG to see CP-ALS information logging.basicConfig(level=logging.DEBUG) # Load Matlab data and convert it to dense tensor format mat = loadmat('../data/sensory-bread/brod.mat') T = dtensor(mat['X']) # Decompose tensor using CP-ALS P, fit, itr, exectimes = cp_als(T, 3, init='random')
安装
这个包使用distutils,这是默认的安装方式 python模块。建议使用虚拟环境:
pip install scikit-tensor-py3
以开发模式安装:
git clone https://github.com/evertrol/scikit-tensor-py3.git pip install -e scikit-tensor
贡献与发展
Scikit Tensor仍然是一个非常年轻的项目,我很高兴 任何贡献(补丁、代码、错误修复、文档等) 使它达到一个稳定和有用的点。随时可以联系 我通过电子邮件(在麻省理工学院点edu的mnick)或直接通过github。见 还有上面的注释。
开发是通过git同步的。你可以随意承担这个项目 从叉子上发出拉拽请求。
许可证
scikit-tensor-py3是根据GPLv3授权的