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

yipeiwu_com7年前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 删除整个文本中的空格,并实现按行显示

希望以后每天写一篇博客,总结一下每天用到的基本功能,不然项目做完也就做完了,给自己留下的资料太少了。 今天需要造大量的姓名和家庭住址的数据,因此根据读取文件中现有的lastname、fi...

Python 将RGB图像转换为Pytho灰度图像的实例

问题: 我正尝试使用matplotlib读取RGB图像并将其转换为灰度。 在matlab中,我使用这个: img = rgb2gray(imread('image.png'));...

解决PyCharm控制台输出乱码的问题

解决PyCharm控制台输出乱码的问题

最近公司新换了台电脑,各种开发环境要重新配置,想想Paas确实还是有市场的,如果有了,这种情况可以省下不少气力。吐槽一下,言归正传 装完python后,继续装好PyCharm。把之前的程...

python3.5实现socket通讯示例(TCP)

python3.5实现socket通讯示例(TCP)

TCP连接: tcp是面向连接的一个协议,意味着,客户端和服务器开发发送数据之前,需要先握手创建一个TCP连接。TCP连接的一端与客户端套接字相互联系,另一端与服务器套接字相联系。当创建...

对Python+opencv将图片生成视频的实例详解

如下所示: import cv2 fps = 16 size = (width,height) videowriter = cv2.VideoWriter("a.avi",c...