个人看来,张量编程最直接的方法是以一维矢量为核心,用位置指标编程来实现张量运算,而以reshape辅助打印。
例:给定若干组数,各组取出一个求和,将所有的和放到一个张量中。
简单起见,一共就两组数 x=[2,3], y=[5,7,11]。各抽取一个数出来求和将形成一个矩阵。答案是
| 7 | 9 | 13 |
| 8 | 10 | 14 |
下面我们写三种程序并作比较。
Python STL List写法
List是Python基础语言的一个主要数据结构。它是一个容器,数学上对应着序列的概念。
好处是处于语言的基础层,兼容性强,扩展性强,编写简易。
坏处是速度比较慢,不太适合高性能计算。
"""
Displaying 2D rectangular table wherein the cells are
evaluated results of a function on the margins.
"""
#list version
#delcare left margin of length 2
x = [2,
3]
#declare top margin of lenght 3
y = [5,7,11]
#create the index skeleton of the result grid
grididx = range(len(x)*len(y))
#define function
f = lambda i: x[i // 3] + y[i % 3]

本文探讨了使用Python进行张量编程的不同方法,包括STL List、Numpy和Tensorflow-GPU。通过示例展示了如何计算不同数组组合的和,并对比了它们的性能,发现在处理大规模数据时,虽然Numpy较List更快,但Tensorflow-GPU在特定操作上的并行计算能力受限。


被折叠的 条评论
为什么被折叠?



