pytorch 调整某一维度数据顺序的方法

yipeiwu_com6年前Python基础

在pytorch中,Tensor是以引用的形式存在的,故而并不能直接像python交换数据那样

a = torch.Tensor(3,4)
a[0],a[1] = a[1],a[0]

# 这会导致a的结果为a=(a[1],a[1],a[2])
# 而非预期的(a[1],a[0],a[2])

这是因为引用赋值导致的,在交换过程,如下所示,当b的值赋值与a的时候,因为tmp指针与a是同一变量的不同名,故而tmp的内容也会变为b。

# 交换a,b
a,b = b,a
# 等价于
tmp = a
a = b #此时,tmp = a= b
b = tmp

故而在我们通过另外一种方式来对其进行交换,通过对下标索引的方式,对其进行交换

a = torch.Tensor(3,4)
index = [1,0,2]
a = a[index]

以上这篇pytorch 调整某一维度数据顺序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python排序搜索基本算法之堆排序实例详解

Python排序搜索基本算法之堆排序实例详解

本文实例讲述了Python排序搜索基本算法之堆排序。分享给大家供大家参考,具体如下: 堆是一种完全二叉树,堆排序是一种树形选择排序,利用了大顶堆堆顶元素最大的特点,不断取出最大元素,并调...

详解Appium+Python之生成html测试报告

详解Appium+Python之生成html测试报告

思考:测试用例执行后,如何生成一个直观漂亮的测试报告呢? 分析: 1.unittest单元测试框架本身带有一个textTestRunner类,可以生成txt文本格式的测试报告,但是页面不...

python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享

分享一下刚遇到的一个小问题,我有一段类似于这样的python代码: 复制代码 代码如下: # coding: utf-8 class A(object):   &nb...

python删除文件夹下相同文件和无法打开的图片

前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以写了两个python的小程序用来解决这个问题...

Python PyQt5实现的简易计算器功能示例

Python PyQt5实现的简易计算器功能示例

本文实例讲述了Python PyQt5实现的简易计算器功能。分享给大家供大家参考,具体如下: 这里剩下计算函数(self.calculator)未实现,有兴趣的朋友可以实现它 【知识点】...