学习记录-10.19

tensor与int类型转换

添加链接描述
数据类型简介:

数据类型包括Python数据类型、Numpy数据类型和Pytorch中的tensor,Pytorch中的tensor又包括CPU上的数据类型和GPU上的数据类型。

解决方法:

int是python的数据类型,torch.cuda.FloatTensor是Pytorch的GPU数据类型。

转换方式为:python数据类型->Numpy数据类型->Pytorch的cup tensor->Pytorch的gpu tensor

例如:

  • a为基本的int类型数据
  • b=np.array(a), b为numpy数据类型
  • c=torch.from_numpy(b),c为CPU的tensor
  • d=c.cuda(),d为GPU的tensor

不同数据类型之间的转化:

python基本数据类型和Numpy数据类型之间的转换:

  • Numpy—>python 使用data.item(),data为numpy变量
  • python—>Numpy 使用np.array(data),data为python变量

Tensor与numpy之间的转换:

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

GPU tensor与CPUtensor之间的转换:

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

添加链接描述
添加链接描述

        x   #这里的x是个整数,eg 2
        tmp = []
        tmp.append(x)   # [2]
        x = np.array(tmp)  # numpy数据类型
        x = torch.from_numpy(x)  # CPU的tensor,但这里是IntTensor
        x = x.float()  # 将该tensor转换为FloatTensor类型
张量维度不对应错误

RuntimeError: size mismatch, m1: [4 x 784], m2: [4 x 784] at /pytorch/aten/src/TH/generic/THTensorMath.cpp:136
添加链接描述

torch.unsqueeze() 和 torch.squeeze()

添加链接描述

torch.unsqueeze(input, dim, out=None)
作用:扩展维度
参数:

  • tensor (Tensor) – 输入张量
  • dim (int) – 插入维度的索引
  • out (Tensor, optional) – 结果张量

torch.squeeze(input, dim=None, out=None)
作用:降维
参数:

  • input (Tensor) – 输入张量
  • dim (int, optional) – 如果给定,则input只会在给定维度挤压
  • out (Tensor, optional) – 输出张量
tensor.size() 获取tensor维度信息

添加链接描述

使用 tensor.size()

Pytorch 查看模型参数

添加链接描述
添加链接描述
在这里插入图片描述

CartPole环境介绍

添加链接描述
添加链接描述

环境 env 的 state 返回有4个变量,分别是: (位置x,x加速度, 偏移角度theta, 角加速度)

环境 env 的action有两个 : 0 和 1

env.step(0) :小车向左
env.step(1) :小车向右

将一维数组升维reshape()

添加链接描述

类型:numpy模块
语法:reshape((x,y))
参数:1)(x,y)为一维数组要变为x行y列的二维数组,也可以是(x,y,z)的三位数组
返回值:数组。将一维的数组变为多维的数组。
注意:reshape函数生成的新数组和原始数组公用一个内存,也就是说,不管是改变新数组还是原始数组的元素,另一个数组也会随之改变

numpy.expand_dims增加维度

添加链接描述
在这里插入图片描述

PaddlePaddle快速入门

添加链接描述

PARL框架

添加链接描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值