程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否可以以不同的方式更新 pytorch Tensor 的不同行?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决是否可以以不同的方式更新 pytorch Tensor 的不同行??

开发过程中遇到是否可以以不同的方式更新 pytorch Tensor 的不同行?的问题如何解决?下面主要结合日常开发的经验,给出你关于是否可以以不同的方式更新 pytorch Tensor 的不同行?的解决方法建议,希望对你解决是否可以以不同的方式更新 pytorch Tensor 的不同行?有所启发或帮助;

我什至在互联网上找到任何有同样问题的人都遇到了一些麻烦,因为它很难用简洁的语言表达......:/

本质上我的问题是我有一个 pytorch 张量,称之为 n:

tensor([[2.,2.,2.],[2.,2.]])

并且我想以下列方式更改列的值:

tensor([[1.,1.,1.],[1.,2.]])

即对于第一列,我希望索引 0:2 为 1,对于第二列,我希望索引 0:1 为 1,等等。

我尝试以这种方式定义开始和结束张量,但似乎不起作用:

start = torch.Tensor([0,0])
end = torch.Tensor([2,1,3,2])
n[start: end] = 1

但这不起作用,我得到一个类型错误:

TypeError: 只有单个元素的整数张量可以转换为索引

我不确定内置火炬操作是否可行,或者我是否必须手动遍历 n 的每一行。

解决方法

我认为在这种情况下这是最简单的

t = torch.tensor([[2.,2.,2.],[2.,2.]])

t[0:2,0] = 1
t[0:1,1] = 1
t[:,2] = 1
t[0:2,3] = 1
print(t)

tensor([[1.,1.,1.],[1.,2.]])

我也不明白为什么会有一个内置的操作来基本上改变矩阵中的一个/多个值。特别是因为您仍然需要给出更改值的说明。

大佬总结

以上是大佬教程为你收集整理的是否可以以不同的方式更新 pytorch Tensor 的不同行?全部内容,希望文章能够帮你解决是否可以以不同的方式更新 pytorch Tensor 的不同行?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。