pytorch - 使用 Pytorch 张量创建简单的邻接矩阵
问题描述
我试图编写一个简单的函数来通过以下方式创建一个随机邻接矩阵:
def create_adj(a):
a[a>0.5] = 1
a[a<=0.5] = 0
return a
假设这a
是torch.Tensor()
作为输入,但我收到以下错误:
TypeError: 'int' object does not support item assignment
如果我单独做事(即不在函数内部),我只需这样做:
>> a = torch.rand(3,3)
>> a[a>0.5] = 1
>> a[a<=0.5] = 0
>> a
tensor([[1., 1., 1.],
[0., 0., 0.],
[1., 0., 0.]])
但我不明白我在函数中做错了什么。
解决方案
我会假设你没有传递正确的变量你的create_adj
函数。只要a
是 a torch.tensor
,那么它应该可以工作。
或者,您可以直接使用掩码作为结果:
def create_adj(x):
return (a > .5).float()
推荐阅读
- reactjs - ModuleNotFoundError:当我尝试启动时没有名为“django”的模块
- glsl - 使用特定的 WebGL / GLSL 版本运行 Web 浏览器
- c# - 如何在 blazor 组件中显示来自后端的自定义引导警报
- python - 人脸识别信心下降,同时注册更多人物和图像
- compiler-construction - 如何使用 llvmpy 在编译器中包含汇编文件中的库函数?
- google-cloud-platform - 为谷歌云存储上托管的谷歌云功能启用 CORS
- spring-boot - 带有嵌入式 Keycloak 实例的 Spring Boot GraphQL Server 无法启动
- graphql - 在服务之间发送参数 graphql apollo federation
- mysql - 想要在 MySQL 中使用 COUNT(*) 获取表中的记录总数
- mongodb - mongodb 使用单个数组元素匹配所有条件