我有张量
x = torch.tensor([1, 2, 3])
我做到了
len(dir(x))
给了这个
464
我想知道这464个属性中有多少个是buildin_function_or_method或方法或任何其他类型的。
如何列出张量的属性类型?
答案 0 :(得分:2)
help(x)
会根据您传入的内容生成一些基本文档。它将告诉您对象的类型,属性,方法等。
答案 1 :(得分:0)
这就是我得到张量的所有属性的类型的
导入模块,创建张量
import torch
from collections import defaultdict
x = torch.tensor([1., 2., 3.])
下面的列表理解会给出属性及其类型的列表
a = [(f'x.{i}', type(getattr(x, i))) for i in dir(x)]
使用defaultdict,创建了一个字典,该字典根据类型存储属性。
e = defaultdict(list)
for i, j in a.items():
e[j].append(i)
答案 2 :(得分:0)
通常,您不应该访问的属性以_
或__
开头。因此,[att for att in dir(x) if not att.startswith('_')]
如果您也要排除函数,请在条件中添加and not callable(att)
。