遇到这个点的起因是我想对某个数组进行排序,但是多次尝试后失败了
先是在网上搜numpy数组的排序,然后和pytorch对照,最后发现了正确的排序方法。
1.numpy产生随机数并排序
首先,numpy不可以直接np.rand()产生随机数,pytorch可以

x.sort()中的sort()作用于x,直接改变了x的值

2.pytorch产生随机数并排序
pytorch可以通过torch.rand()直接产生随机数y = torch.random.rand(3)反而会报错
问题在于,排序后,y的值并没有改变,需要一个新的变量接收排序后的结果

我们用yy接收排序好的结果
有意思的是,yy变成了一个新的 类 ,不能用dtype查看类型,说明yy已经不再是普通的pytorch数据结构了

它变成了一个新的对象(类)
查看它的属性

可以看到它有几个属性,那么调用它的属性即可得到最终结果

综上,对pytorch中的数组排序可以通过以下操作

排序操作不能改变y的顺序,需要新建一个变量接收排序结果,这点和numpy是不一样的。
最后
以上就是冷艳小伙最近收集整理的关于pytorch中sort()函数和numpy的异同的全部内容,更多相关pytorch中sort()函数和numpy内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复