pytorch tensor创建tensor

打印 上一主题 下一主题

主题 1018|帖子 1018|积分 3054

目录

一、使用torch.Tensor创建
二、直接生成特殊的tensor
三、仿造其他tensor生成
四、从numpy生成
五、tensor中的to方法


一、使用torch.Tensor创建

  1. import torch
  2. data=[[1,2],[3,4]]
  3. x_data=torch.tensor(data)  # 将列表和数组传给tensor会自动转成tensor类型
  4. x_data1=torch.tensor((1,2,3,4)) # 使用元组创建
  5. print(x_data1)
复制代码
二、直接生成特殊的tensor

  1. import torch
  2. data1=torch.ones(1,2,3) # 创建一个维度为(1,2,3)的元素全为1的tensor
  3. data2=torch.zeros(1,2,3) # 创建一个维度为(1,2,3)的元素全为0的tensor
  4. data3=torch.randn(3,4,5) # 创建一个维度为(3,4,5)的符合正态分布的tensor
  5. data4=torch.eye(4,5) # 创建一个维度为(4,5)的单位矩阵
  6. data5=torch.randint(5,(5,8)) # 创建一个5一下的随机整数维度为(5,8)的tensot
  7. print(type(data4))
  8. print(data4)
复制代码
三、仿造其他tensor生成

  1. import torch
  2. data0=torch.Tensor([1,2,3,4])   
  3. data1=torch.ones_like(data0)  # 仿造传入tensor生成相同形式的全为1的tensor
  4. data2=torch.empty_like(data1)  # 生成全为0的tensor
  5. print(data2)
复制代码
四、从numpy生成

  1. import torch
  2. import numpy as np
  3. arr=np.array([1,2,3,4])
  4. tensor0=torch.from_numpy(arr)  # 对arr进行了浅拷贝
  5. tensor1=torch.Tensor(arr) # 对arr进行了深拷贝
  6. arr[0]=100
  7. data_numpy=tensor0.numpy() # 将tensor转成numpy
  8. print(tensor0) # 和arr数组一起改变
  9. print(tensor1)
复制代码
五、tensor中的to方法

1.数据范例转换
  1. tensor0=torch.ones(4,5)
  2.     tensor1=tensor0.to(torch.int64)  # 将数据类型转换成传入的数据类型
  3.     tensor2=tensor0.to(tensor1)   # 将数据类型转换乘传入的tensor的类型
  4.     print(tensor2)
复制代码
2.device转化
  1. def tensor_device_demo():
  2.     if torch.cuda.is_available():
  3.         device=torch.device('cuda:0')
  4.     else:
  5.         device=torch.device('cpu')
  6.     # 将数据转到gpu中运行
  7.     tensor0=torch.randn(4,5)
  8.     tensor1=tensor0.to(device)
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表