用于多线性代数和张量分解的 Python 模块
项目描述
scikit-tensor 是一个用于多线性代数和张量分解的 Python 模块。目前,scikit-tensor 支持基本的张量操作,例如折叠/展开、张量矩阵和张量向量积以及以下张量分解:
规范 / Parafac 分解
塔克分解
重新校准
迪康
指数
此外,所有操作都支持密集和张量。
笔记
这是一个仅兼容 Python 3 的维护版本。scikit-tensor 的开发似乎已经停滞,该项目已被放弃。此 fork 仅支持 Python 3.5 及更高版本,并且在 PyPI 上以scikit-tensor-py3 的形式提供,以便于安装。
欢迎提出问题和拉取请求,但与算法相关的问题和对其他算法的请求可能会被推迟或完全忽略。欢迎技术(代码)问题。
依赖项
构建软件所需的依赖项是Numpy和SciPy。
用法
使用 CP-ALS分解感官面包数据的示例脚本(可从 http://www.models.life.ku.dk/datasets获得):
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 仍然是一个非常年轻的项目,我很高兴任何贡献(补丁、代码、错误修复、文档等)使其达到稳定和有用的点。请随时通过电子邮件(AT mit DOT edu 的 mnick)或直接通过 github 与我联系。另请参阅上面的注释。
开发通过 git 同步。随意分叉该项目并从该分叉发出拉取请求。
执照
scikit-tensor-py3 在GPLv3下获得许可
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
scikit-tensor-py3-0.4.1.tar.gz
(39.0 kB
查看哈希)
内置分布
scikit_tensor_py3-0.4.1-py3-none-any.whl
(48.4 kB
查看哈希)
关
scikit_tensor_py3-0.4.1 -py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 27e9b576c712fbc0101244b33ea412fc7f5dbf0774003e6a21f7d38f6b0c6df3 |
|
| MD5 | 45f2018958c10de3067792d714c7a2db |
|
| 布莱克2-256 | 339128aa13c7c056c37d53677881cdff1c7e8da097aea5c0e4cb4faafb44ce4f |