深度学习中的张量与自动梯度计算
1. 张量简介
张量是向量和矩阵的抽象形式。在深度学习中,我们一直将向量和矩阵作为基本数据结构。矩阵是向量的列表,向量是标量(单个数字)的列表,而张量则是这种嵌套数字列表形式的抽象版本。向量是一维张量,矩阵是二维张量,更高维度的则称为 n 维张量。
以下是一个简单的张量类实现:
import numpy as np
class Tensor (object):
def __init__(self, data):
self.data = np.array(data)
def __add__(self, other):
return Tensor(self.data + other.data)
def __repr__(self):
return str(self.data.__repr__())
def __str__(self):
return str(self.data.__str__())
x = Tensor([1,2,3,4,5])
print(x)
# [1 2 3 4 5]
y = x + x
print(y)
# [ 2 4 6 8 10]
这个基本数据结构的第一个版本将所有数值信息存储在 NumPy 数组( self.data )中,并且支持一种张量操作(加法)。要添加更多操作,只需在张量类中创建具有相应功能的更多函数即可。
超级会员免费看
订阅专栏 解锁全文
518

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



