我想子类化这个tf.Tensor
类。这个想法是子类的对象应该表现得像张量(即我可以使用它们来进行任何类型的 tf 操作),但它们还应该具有其他属性,这些属性在我的框架内为它们提供特定的行为。
到目前为止,我在图形模式下工作,我只是做这样的事情:
class EnrichedTensor(tf.Tensor):
def __init__(self, tensor, other_stuff):
super(EnrichedTensor, self).__init__((
op=tensor.op,
value_index=tensor.value_index,
dtype=tensor.dtype)
self.other_stuff = other_stuff
现在,我想只在渴望模式下做同样的事情,但我真的不知道(而且我什么也没找到)关于EagerTensor
实例化。显然,该op
属性不再有意义。
我尝试通过该方法创建对象,但在子类化和遵循创建路径__new__
时发现了问题。EnrichedTensor
所以,我想知道是否有任何方法可以干净地以“声音”的方式做到这一点。