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设计】。

相关文章

Python3.6.2调用ffmpeg的方法

本文是为了学习python调用C语言的库写的例子。 去ffmpeg官网下载编译好的avcodec-57.dll、avutil-55.dll、swresample-2.dll,准备好了C语...

解决python大批量读写.doc文件的问题

前言: java语言读写.doc的出现乱码问题: 大家都知道当我们利用java语言读写.doc文件时,无论是利用流的方式将.doc文件的内容输出到控制台(console),还是将其写到其...

python django 原生sql 获取数据的例子

如下所示: node2:/django/mysite/blog#cat views.py 1, # -*- coding: utf-8 -*- from __future__ i...

python使用pandas实现数据分割实例代码

本文研究的主要是Python编程通过pandas将数据分割成时间跨度相等的数据块的相关内容,具体如下。 先上数据,有如下dataframe格式的数据,列名分别为date、ip,我需要统计...

python双向链表实现实例代码

python双向链表实现实例代码

示意图:python双向链表实现代码:#!/usr/bin/python # -*- coding: utf-8 -*- class&nbs...