跳到内容

张量/张量

存储库文件导航

形象

形象

形象

形象

形象

TensorLy公司

TensorLy是一个Python库,旨在使张量学习变得简单易懂。它可以方便地执行张量分解、张量学习和张量代数。其后端系统允许使用NumPy、PyTorch、JAX、TensorFlow或CuPy无缝执行计算,并在CPU或GPU上大规模运行方法。


安装TensorLy

唯一的先决条件是蟒蛇3已安装。最简单的方法是通过水蟒分布.

   带pip(推荐)        和康达一起

..代码:

pip安装-U张量

..代码:

conda张量安装-c

**发展

(来自git)**

..代码:

#克隆存储库git克隆https://github.com/tecd张量#在可编辑模式下使用安装pip安装-e。

nsoly/张量

-e(电子)或者,同等地,--可编辑的

注:默认情况下,TensorLy依赖于NumPy。如果您想使用其他后端,则需要单独安装这些软件包。

有关详细说明,请参阅文档.


快速启动

创建张量

从NumPy数组创建大小为3 x 4 x 2的三阶小张量,并对其执行简单操作:

进口 张量地 作为 热释光
进口 笨蛋 作为 净现值


张量 = 热释光.张量(净现值.阿兰奇(24).重塑((,4,2)),数据类型=贸易术语表.浮点64)展开的 = 热释光.展开(张量,模式=0)贸易术语表.折叠(展开的,模式=0,形状=张量.形状)

您还可以创建随机张量:

 张量地 进口 随机的,随机的

#随机张量
张量 = 随机的,随机的.随机传感器((,4,2))#因子化形式的随机CP张量
cp_传感器 = 随机的,随机的.随机传感器(形状=(,4,2),等级=“相同”)

您还可以在TT-format、Tucker等中创建张量,请参见随机张量.

设置后端

您可以更改后端以使用不同的框架执行计算。默认情况下,后端是NumPy,但您也可以使用PyTorch、TensorFlow、JAX或CuPy执行计算(需要先安装它们)。例如,将后端设置为PyTorch后,所有计算都由PyTorch完成,张量可以在GPU上创建:

热释光.设置后端(“pytorch”)#或“numpy”、“tensorflow”、“cupy”或“jax”
张量 = 热释光.张量(净现值.阿兰奇(24).重塑((,4,2)),装置='cuda:0')类型(张量)#火炬。张索尔

张量分解

应用张量分解很容易:

 张量地.分解,分解 进口 塔克
#应用塔克分解
塔克传感器 = 塔克(张量,等级=[2,2,2])#从分解形式重建完整张量
热释光.塔克张量(塔克张量)

我们有更多的分解可用,请务必查看!

接下来的步骤

这只是对TensorLy的一些基本功能的快速介绍。有关入门的更多信息,请查看用户指南有关功能及其文档的详细参考,请参阅美国石油学会

如果您看到错误,请打开问题或者更好的是拉式请求!


贡献代码

欢迎所有捐款!因此,如果您想添加一个很酷的张量方法,如果您在文档中发现一个错误,甚至是打字错误,请报告它,更好的是,在上打开Pull-RequestGitHub公司.

在提交更改之前,应该确保代码符合我们的样式指南。最简单的方法是使用“black”:

pip安装黑色黑色.

运行测试

测试和文档是此软件包的重要组成部分,所有功能都附带唯一测试和文档。

测试是使用pytest测试包裹。首次安装`pytest`:

pip安装pytest

然后要运行测试,只需在终端中运行:

pytest-v张量

或者,您可以指定要为哪个后端运行测试:

TENSORLY_BACKEND='numpy'pytest-v张量

引用

如果你在学术论文中使用TensorLy,请引用1:

@文章{张量,author={Jean Kossaifi和Yannis Panagakis以及Anima Anandkumar和Maja Pantic},title={TensorLy:Python中的Tensor学习},journal={机器学习研究杂志},年份={2019},体积={20},数字={26},页数={1-6},url={http://jmlr.org/papers/v20/18-277.html}}

  1. 让·科斯赛菲(Jean Kossaifi)、亚尼斯·帕纳加基斯(Yannis Panagakis)、阿尼玛·阿南德库马尔(Anima Anandkumar)和马贾·潘蒂奇(Maja Pantic),TensorLy:在Python中学习Tensor,机器学习研究杂志(JMLR)2019年第20卷第26期。