AI学习(张量复习)
#1.创建线性空间的张量
def test01():
#1.在指定区间按照步长生成元素 [start, end, step] [0 2 4 6 8]
data = torch.arange(0, 10, 2)
print(data)
#2.在指定区间按照元素个数生成
data = torch.linspace(0, 11, 10) # [start, end, num] 范围等分
print(data)
#2.创建随机张量
def test02():
#1.创建2行3列的随机张量,元素类型为float32
data = torch.randn(2, 3)
print(data)
# #手工指定随机数种子之后,生成的随机数是固定的
# torch.random.manual_seed(100)
# data = torch.randn(2, 3)
# print(data)
#2.随机数种子设置
#initial_seed取得默认的随机数种子
print("设置随机数种子:",torch.random.initial_seed())#完全随机的
#手工指定随机数种子
torch.random.manual_seed(100)
print("设置随机数种子:",torch.random.initial_seed())#有计算路径,伪随机的
if __name__ == '__main__':
test02()
————————————————————
def test01():
# 1.创建指定形状全0的张量
data = torch.zeros(2, 3)
print(data)
# 2.根据张量形状创建 全0的张量
data = torch.zeros_like(data)
print(data)
#2.创建指定形状全1的张量
def test02():
# 1.创建指定形状全1的张量
data = torch.ones(2, 3)
print(data)
# 2.根据张量形状创建 全1的张量
data =torch.Tensor([[1, 2, 3, 4],[5, 6, 7, 8]])
#这种方式只是继承了原来张量的形状,因此所打印出的值仍然是原来张量的值:"1"
data = torch.ones_like(data)
print(data)
#3.创建全为定值的张量
def test03():
# 1.创建指定形状全为定值的张量
data = torch.full([2, 3], 10)
print(data)
# 2.根据张量形状创建 全为定值的张量
data = torch.full_like(data, 20)
print(data)
if __name__ == '__main__':
test01()
print('-'*50)
test02()
print('-'*50)
test03()
#torch.ones和torch.ones_like:创建全为1的张量
#torch.zeros和torch.zeros_like:创建全为0的张量
#torch.full和torch.full_like:创建全为定值的张量
————————————————————————
def test():
#创建了一个张量
data = torch.full([2, 3], 10)#创建一个2行3列的张量,元素类型为int64
print(data.dtype)
#将 data 元素类型转换为 float64 类型
# 第一种方法
data = data.type(torch.DoubleTensor)
print(data.dtype)
# 转换为其他类型
# data = data.type(torch.IntTensor)
# data = data.type(torch.FloatTensor)
# data = data.type(torch.LongTensor)
# data = data.type(torch.ShortTensor)
# 第二种方法
data = data.double()#转换为float64
print(data.dtype)
# 转换为其他类型
# data = data.int()#转换为int32
# data = data.float()#转换为float32
# data = data.long()#转换为int64
# data = data.short()#转换为int16
if __name__ == '__main__':
test()
浙公网安备 33010602011771号