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()

posted on 2026-03-27 20:00  Shueeesh  阅读(1)  评论(0)    收藏  举报

导航