NLP学习之Pytorch基础操作

NLP学习之Pytorch基础操作

一、Pytorch是什么?

Pytorch是基于Numpy的科学计算包。
两大功能:
作为Numpy的替代者,向用户提供使用GPU强大功能的能力。
做为一款深度学习平台,向用户提供最大的灵活性和速度。

二、基本操作

1.Tensors 张量

类似于Numpy中的ndarray数据结构,最大的去别在与Tensor可以利用CPU的加速功能

引用代码如下(示例):

from __future__ imort print_function
import torch

2.操作

(1)创建一个没有初始化的矩阵

代码如下(示例)

x = torch.empty(5,3)  //创建一个未初始化的5行3列矩阵
print(x)                 //打印x
(2) 创建一个有初始化的矩阵

(按照标准高斯分布来进行初始化的)

x = torch.rand(5,3)
(2) 创建一个有初始化的矩阵

(按照标准高斯分布来进行初始化的)

x = torch.rand(5,3)
(3) 创建一个零矩阵并指定元素数据类型为long
x = torch.zeros(5,3,dtype = torch.long)
(4) 直接通过数据创建张量
x = torch.tensor([2.5,3.5])
(5) 通过已有张量创建相同尺寸的新张量
x = x.new_ones(5,3,dtype=torch.double)
y = torch.randn_like(x,dtype=torch.float)

(6) 采用.size()方法来得到张量的形状
print(x.size())
print(y.size())

3.运算

1)加法

(1)
print(x+y)
(2)
print(torch.add(x,y))
(3)
result = torch.empty(5,3//提前设定一个空的张量
torch.add(x,y,out=result)   //将x+y的结果放入空的张量result中
(4)in-place(原地置换)
y.add_(x) //将x+y的结构存到y中,相当于 y = x+y

2)打印

print(x [ :, 1]) //打出第一列
print(x[:,:3]) //打印出012三列

3)改变张量的形状:torch.view()

x = torch.randn(4,4)  //x 中有16个数据元素
y = x.view(16)   //tensor.view()操作需要保证数据元素的总量不变
z = z.view(-1,8)  //-1 代表自动匹配个数 ,8代表有8列 ,该位置上的数必须能够被数据元素总数整除
print(x.size(),y.size(),z.size())
//如果张量中只有一个元素,可以用.item()将值取出,作为一个python number
 x = torch.randn(1)
 print(x)
 print(x.item())   //当张量中的元素个数大于等于2时,则不能使用.item()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值