// set a cache uuid for this eval call
if _uuid is None:
_uuid = uuid4()
// already cached?
if _uuid == self.last_uuid:
return self.value
else:
self.last_uuid = _uuid
args = [t.eval(feed_dict=feed_dict, _uuid=_uuid) for t in self.inputs]
if self.unpack:
args.extend(self.kwargs)
else:
args = [args] + self.kwargs
self.value = self.func(*args)
return self.value
@staticmethod