Skip to main content

用于多线性代数和张量分解的 Python 模块

项目描述

https://travis-ci.org/evertrol/scikit-tensor-py3.svg?branch=master

scikit-tensor 是一个用于多线性代数和张量分解的 Python 模块。目前,scikit-tensor 支持基本的张量操作,例如折叠/展开、张量矩阵和张量向量积以及以下张量分解:

  • 规范 / Parafac 分解

  • 塔克分解

  • 重新校准

  • 迪康

  • 指数

此外,所有操作都支持密集和张量。

笔记

这是一个仅兼容 Python 3 的维护版本。scikit-tensor 的开发似乎已经停滞,该项目已被放弃。此 fork 仅支持 Python 3.5 及更高版本,并且在 PyPI 上以scikit-tensor-py3 的形式提供,以便于安装。

欢迎提出问题和拉取请求,但与算法相关的问题和对其他算法的请求可能会被推迟或完全忽略。欢迎技术(代码)问题。

依赖项

构建软件所需的依赖项是NumpySciPy

用法

使用 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 同步。随意分叉该项目并从该分叉发出拉取请求。

作者

  • 马克西米利安镍:网络电子邮件 <mailto://mnick AT mit DOT edu>推特

  • Evert Rol(Python 3 版本的维护):电子邮件

执照

scikit-tensor-py3 在GPLv3下获得许可

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

scikit-tensor-py3-0.4.1.tar.gz (39.0 kB 查看哈希

已上传 source

内置分布

scikit_tensor_py3-0.4.1-py3-none-any.whl (48.4 kB 查看哈希

已上传 py3