《深度学习框架PyTorch入门与实践》——Tensor基本操作(1)

《深度学习框架PyTorch入门与实践》——Tensor基本操作(1)

一.PyTorch入门第一步

1.构建53矩阵*

import torch as t
x = t.Tensor(5,3)
print(x)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述

2.使用【0,1】均匀分布随机初始化二维数组

import torch as t
x = t.Tensor(5,3)
x= t.rand(5,3)
print(x)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在pycharm中的运行结果

3.查看x形状和列的个数

import torch as t
x = t.rand(5,3)
print(x.size())
print(x.size()[0])
print(x.size(1))

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
4.加法的三种写法

import torch as t
x = t.rand(5,3)
y = t.rand(5,3)
print("最初y,x")
print(y)
print(x)
print("第一种加法,y的结果")
print(x+y)
print("第二种加法,y的结果")
print(t.add(x,y))
print("第三种加法,y的结果")
result=t.Tensor(5,3)
t.add(x,y,out=result)
print(result)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
5.对y的两种加法对比

import torch as t
x = t.rand(5,3)
y = t.rand(5,3)
print("最初y,x")
print(y)
print(x)
print("第一种加法,y的结果")
print(y.add(x))
print("第二种加法,y的结果")
print(y.add_(x))

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------

在这里插入图片描述
6.Tensor的选取操作

import torch as t
x = t.rand(5,3)
print(x)
print(x[:, 1])

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
7.Tensor与numpy之间的互操作

import torch as t
import numpy as np
a=t.ones(5)
print(a)
b=a.numpy()
print(b)
a=np.ones(5)
b=t.from_numpy(a)
print(a)
print(b)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
8.Tensor与numpy共同改变

import torch as t
import numpy as np
a=np.ones(5)
b=t.from_numpy(a)
b.add_(1)
print(a)
print(b)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述

二.Tensor和autograd

1.创建tensor

import torch as t
a=t.Tensor(2,3)
print(a)
b=t.Tensor([[1,2,3],[4,5,6]])
print(b)
b.tolist()
print(b)
b_size=b.size()
print(b_size)
print(b.numel())
c=t.Tensor(b_size)
d=t.Tensor((2,3))
print(c)
print(d)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
2. 查看形状

import torch as t
c=t.Tensor(b_size)
print(c.shape)
print(c.size)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
3. 其他创建方法

import torch as t
print(t.ones(2,3))
print(t.zeros(2,3))
print(t.arange(1,6,2))
print(t.linspace(1,10,3))
print(t.randn(2,3))
print(t.randperm(5))
print(t.eye(2,3))


----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
4.常用的tensor操作

import torch as t
a=t.arange(0,6)
a.view(2,3)
print(a)
b=a.view(-1,3)
print(b)
print(b.unsqueeze(1))
print(b.unsqueeze(-2))
c=b.view(1,1,1,2,3)
c.squeeze(0)
print(c)
c.squeeze()
a[1]=100
print(b)
b.resize_(1,3)
print(b)
b.resize_(3,3)
print(b)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
5.索引操作

import torch as t
a=t.randn(3,4)
print(a)
print(a[0])
print(a[:0])
print(a[0][2])
print(a[0,-1])
print(a[:2])
print(a[:2,0:2])
print(a[0:1,:2])
print(a[0,:2])
print(a>1)
print(a[a>1])
print(a[t.LongTensor([0,1])])

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述

6.gather,scatter_操作

import torch as t
a=t.arange(0,16).view(4,4)
print(a)
index=t.LongTensor([[0,1,2,3]])
print(a.gather(0,index))
index=t.LongTensor([[3,2,1,0]]).t()
print(a.gather(1,index))
index=t.LongTensor([[0,1,2,3]])
print(a.gather(0,index))
index=t.LongTensor([[0,1,2,3],[3,2,1,0]]).t()
b=a.gather(1,index)
print(b)
#scatter
c=t.zeros(4,4,dtype=t.int64)
c.scatter_(1,index,b).float()
print(c)

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
7.高级索引

import torch as t
x=t.arange(0,27).view(3,3,3)
print(x)
print(x[[1,2],[1,2],[2,0]])
print(x[[2,1,0],[0],[1]])
print(x[[0,2],...])

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
8.tensor类型

import torch as t
t.set_default_tensor_type('torch.DoubleTensor')
a=t.Tensor(2,3)
print(a)
b=a.float()
print(b)
c=a.type_as(b)
print(c)
d=a.new(2,3)
print(d)
print(a.new)
t.set_default_tensor_type('torch.FloatTensor')


----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述
9.逐元素操作

import torch as t
a=t.arange(0,6).view(2,3)
print(t.cos(a))
print(a%3)
print(a**2)
print(a)
print(t.clamp(a,min=3))

----------------------------------------------在pycharm中的运行结果-------------------------------------------------------
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值