torch.roll() 函数用法
Pytorch 官方文档:https://pytorch.org/docs/master/generated/torch.roll.htmlhttps://pytorch.org/docs/master/generated/torch.roll.html
官方案例:
>>> import torch
>>> x=torch.tensor([1,2,3,4,5,6,7,8]).view(4,2)
>>> x
tensor([[1, 2],[3, 4],[5, 6],[7, 8]])
>>> torch.roll(x,shifts=1,dims=0)
tensor([[7, 8],[1, 2],[3, 4],[5, 6]])
>>> torch.roll(x,shifts=-1,dims=0)
tensor([[3, 4],[5, 6],[7, 8],[1, 2]])
>>> torch.roll(x,shifts=(2,1),dims=(0,1))
tensor([[6, 5],[8, 7],[2, 1],[4, 3]])
>>>
>>> import torch
>>> x=torch.arange(1,17).view(4,4)
>>> x
tensor([[ 1, 2, 3, 4],[ 5, 6, 7, 8],[ 9, 10, 11, 12],[13, 14, 15, 16]])
>>> y=torch.roll(x,shifts=-1,dims=0)
>>> y
tensor([[ 5, 6, 7, 8],[ 9, 10, 11, 12],[13, 14, 15, 16],[ 1, 2, 3, 4]])
>>> z=torch.roll(y,shifts=-1,dims=1)
>>> z
tensor([[ 6, 7, 8, 5],[10, 11, 12, 9],[14, 15, 16, 13],[ 2, 3, 4, 1]])
>>>
测试图片代码及效果:
from PIL import Image as Image
import torch
import torchvision.transforms.functional as T
import torch.nn.functional as F
import numpy as np
from torchvision import transforms
import matplotlib.pyplot as pltpath = r'C:\Users\Administrator\Desktop\Pytorch\downsample\image\1.jpg'# 显示图片
unloader = transforms.ToPILImage() # reconvert into PIL imagedef imshow(tensor, title=None):plt.figure()image = tensor.cpu().clone() # we clone the tensor to not do changes on itimage = image.squeeze(0) # remove the fake batch dimensionimage = unloader(image)plt.imshow(image)if title is not None:plt.title(title)plt.show()if __name__ == '__main__':image = Image.open(path)img = T.to_tensor(image)print(img.shape)x = img.unsqueeze(0)print(x.shape)imshow(x, title='Image_1')y = torch.roll(x, shifts=-1000, dims=3)imshow(y, title='')z = torch.roll(x, shifts=1000, dims=2)imshow(z, title='')
torch.roll() 函数用法相关推荐
- torch.roll 函数的理解
torch.roll 函数官方解释 如果是看swin-transformer进来的,推荐看看GitHub上的这个问题,会很有帮助! https://github.com/microsoft/Swin- ...
- [pytorch]torch.roll函数
torch中的roll函数可以用于张量的位置变换操作. 博客推荐 import torch import numpy as np import matplotlib.pyplot as pltshif ...
- PyTorch疑难杂症(1)——torch.matmul()函数用法总结
目录 一.函数介绍 二.常见用法 2.1 两个一维向量的乘积运算 2.2 两个二维矩阵的乘积运算 2.3 一个一维向量和一个二维矩阵的乘积运算 2.4 一个二维矩阵和一个一维向量的乘积运算 2.5 其 ...
- torch.contiguous()函数用法
在看代码的时候发现了torch.contiguous()这个函数,那么它有什么用途呢? 1)背景知识 首先得知道一个tensor的shape和stride的区别.以二维矩阵为例,shape = [ro ...
- torch.cat() 函数用法
torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起. 使用torch.cat((A,B),dim)时,除拼接维数dim数值可不同外其余维数 ...
- torch.roll() 用法解读
torch.roll(input, shifts, dims=None) -> Tensor 定义 沿给定维度滚动张量输入.超出最后一个位置的元素在第一个位置重新引入.如果 dims 为 Non ...
- torch.load_state_dict()函数的用法总结
在Pytorch中构建好一个模型后,一般需要进行预训练权重中加载.torch.load_state_dict()函数就是用于将预训练的参数权重加载到新的模型之中,操作方式如下所示: sd_net = ...
- conv2d的输入_pytorch1.0中torch.nn.Conv2d用法详解
Conv2d的简单使用 torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样. 在 torch 中,Conv2d 有几个基本的参数,分别是 in_channel ...
- Pytorch中的collate_fn函数用法
Pytorch中的collate_fn函数用法 官方的解释: Puts each data field into a tensor with outer dimension batch size ...
最新文章
- 谁是“艾灵”?是腾讯的真国风 AI 虚拟人!
- Python基本语法_基本数据类型_数值型详解
- JVM:gc什么时候开始?System.gc()能保证gc一定发生吗?
- mysql查询大量数据报错_mysql 查询大量数据报错
- ESP32彩屏GUI试玩
- 苏老师首播3小时!超500人观看!录屏!源码!PPT……你要的都在这里!
- jcmd_jcmd,大约JDK 11
- 系统变量之System.getenv()和System.getProperty()
- 类似华容道一类搜索中,状态的Hash方法(转)
- python 遍历_Python中遍历列表的方法总结
- tensorflow学习3---mnist
- 编译并刷入nexus 6p手机
- Java速成系列-01-什么是速成
- echarts+vue3实战(1)
- 【玩转数据系列十五】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)
- linux shell提示文件不存在,Bash检查是否显示文件不存在?
- opencv vs2010 应用程序无法正常启动(oxc000007b) 解决
- 【中亦安图】关于数据库文件损坏风险的提醒(3)
- 报表相关的同比和环比
- 基于FFmpeg4.1的视频播放器的极简实现(音视频学习笔记四)
热门文章
- 提醒大家提高安全意识: 虎口脱险记
- 恶意软件NOKKI和朝鲜“Group123”APT组织关联的最新证据
- 第一个divcss属性失效_复合材料失效理论知多少(三):一战封神Pinho理论
- 9-5 删除字符串中指定字符
- 【人脸识别】基于主成分分析PCA算法人脸识别门禁系统含Matlab源码
- 科普:DisplayPort与HDMI的比较
- 高级计算机网络 外文文献,计算机网络新技术外文文献翻译
- 《Real-Time Rendering 4th Edition》全文翻译 - 第4章 变换(下)4.5 ~ 4.7
- iOS网络NSURLSession使用详解
- 初来北京的两三天-我被这个地方感动的想流泪