首页 > 其他 > 详细

Pytorch基础学习教程——数据类型转换

时间:2021-05-08 11:51:14      阅读:9      评论:0      收藏:0      [点我收藏+]

一、基本数据类型

FloatTensor :PyTorch默认的数据类型,32位浮点型,相当于

intIntTensor : 32位整型

ShortTensor : 16位整型

DoubleTensor :64位整二、创建Tensor

二、创建Tensor

技术分享图片
 1 import Pytorch
 2 #创建一个维度为(2,3)的张量:
 3 A = torch.Tensor(2,3) 
 4 #创建一个元素为b数组中的元素的张量:
 5 b = [[5,8],[10,20],[1,6]]
 6 A = torch.FloatTensor(b)
 7 #查询张量的维度信息:
 8 A.size()
 9 #查询变量类型:
10 A.type() 
11 # 定义一个3行2列的全为0的矩阵:
12 A = torch.zeros((3, 2))
13 #创建指定维度的随机数张量:(元素呈正态分布,均值为0,方差为1)
14 A = torch.randn(n,m)
15 #创建指定维度的随机数张量:(元素在0到1之间均匀分布)
16 A = torch.rand(n,m)
17 #创建元素以一定步长递变的张量:(步长可以为float数据类型):
18 A = torch.range(起始值,结束值,步长)
19 /********************************************************************/
20 #创建一维向量:
21 A = torch.tensor([1.1])
22 A = torch.tensor([1.1,2.2,3.0])
23 #创建二维向量:
24 A = torch.randn(2,3)  --->:2行3列
25 #创建三维向量:
26 A = torch.rand(3,10,10) --->3通道10行10列--->Color img
27 #创建四维向量:
28 A = torch.rand(2,3,28,28)---> [batch,channels,width,height]
29 三、张量运算
30 import Pytorch
31 #定量两个张量
32 A = torch.Tensor( [[31,-2],[4,-4],[-5,-12]]) 
33 B = torch.Tensor( [[-2,-7],[-8,-4],[7,-9]]) 
34 #对所有元素取绝对值: 
35 C = torch.abs(A)
36 #张量对应元素相加:
37 C = torch.add(A,B)
38 #张量对应元素相乘:
39 C = torch.mul(A,B)
40 #张量对应元素相除:
41 C = torch.div(A,B)
42 #张量A的n次幂:
43 C = torch.pow(A,n)
View Code

三、数据类型变换(numpy-->Tensor)

Tensor---->Numpy 使用 data.numpy(),data为Tensor变量

Numpy ----> Tensor 使用 torch.from_numpy(data),data为numpy变量

技术分享图片
1 import torch
2 import numpy as np
3 # 定义一个3行2列的全为0的矩阵:
4 A = torch.randn((3, 2))
5 # tensor转化为numpy:
6 numpy_A = A.numpy()
7 # numpy转化为tensor:
8 numpy_A = np.array([[1, 2], [3, 4], [5, 6]])
9 torch_A = torch.from_numpy(numpy_A)
View Code

四、数据类型变换(Python-->Tensor)

Tensor ----> 单个Python数据,使用data.item(),data为Tensor变量且只能为包含单个数据

Tensor ----> Python list,使用data.tolist(),data为Tensor变量,返回shape相同的可嵌套的list

五、CPU数据和GPU数据变换

CPU张量 ----> GPU张量,使用data.cuda()

GPU张量 ----> CPU张量,使用data.cpu()

声明:

本文是很久之前做的笔记,如有侵权,并非有意为之,可联系我进行删除。

 

Pytorch基础学习教程——数据类型转换

原文:https://www.cnblogs.com/yzj-notes/p/14743826.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!