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中struct模块之字节型数据的处理方法

简介 这个模块处理python中常见类型数据和Python bytes之间转换。这可用于处理存储在文件或网络连接中的bytes数据以及其他来源。在python中没有专门处理字节的数据类型...

python 基础学习第二弹 类属性和实例属性

复制代码 代码如下: #!/usr/bin/env python class Foo(object): x=1 if __name__=='__main__': foo = Foo()...

Python过滤txt文件内重复内容的方法

Python过滤txt文件内重复内容的方法

Python过滤txt文件内重复内容,并将过滤后的内容保存到新的txt中 示例如下 原文件 处理之后的文件 直接上代码 # -*-coding:utf-8 -*- f = o...

python实现发送form-data数据的方法详解

python实现发送form-data数据的方法详解

本文实例讲述了python实现发送form-data数据的方法。分享给大家供大家参考,具体如下: 源代码 -----------------------------2793612435...

利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统

利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统

基于python opencv人脸识别的签到系统前言先看下效果实现的功能开始准备页面的构建功能实现代码部分总结 前言 一个基于opencv人脸识别和TensorFlow进行模型训练的人脸...