MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / TensorNode

Class TensorNode

imperative/python/megengine/traced_module/node.py:209–305  ·  view source on GitHub ↗

r"""``TensorNode`` represents the Tensor objects.

Source from the content-addressed store, hash-verified

207
208
209class TensorNode(Node):
210 r"""``TensorNode`` represents the Tensor objects."""
211
212 _shape = None # type: Tuple[int]
213 _dtype = None # type: numpy.dtype
214 _qparams = None # type: QParams
215 _device = None
216 _value = None # type: Tensor
217
218 def __init__(
219 self,
220 expr,
221 name: str = None,
222 qualname: str = None,
223 shape: Tuple[int] = None,
224 dtype: numpy.dtype = None,
225 qparams: QParams = None,
226 ):
227 super().__init__(expr, name, qualname)
228 self._shape = shape
229 self._dtype = dtype
230 self._qparams = qparams
231
232 def __getstate__(self):
233 state = {
234 "expr": self.expr,
235 "users": self.users,
236 "_id": self._id,
237 "_qparams": self._qparams,
238 "_shape": self._shape,
239 "_dtype": self._dtype,
240 "_device": self._device,
241 "_name": self._name,
242 "_qualname": self._qualname,
243 }
244 _check_obj_attr(state)
245 return state
246
247 def __setstate__(self, state):
248 if "_orig_name" in state:
249 qualname = state.pop("_orig_name")
250 modulepath, comma, qualname = qualname.rpartition(".")
251 expr_name = state["expr"].__class__.__name__
252 if expr_name not in ["GetAttr"]:
253 qualname = "[{}]".format(qualname)
254 if comma:
255 qualname = "{}.{}".format(modulepath, qualname)
256 state["_qualname"] = qualname
257 self.__dict__.update(state)
258
259 @property
260 def shape(self):
261 r"""Get the shape of this Node."""
262 return self._shape
263
264 @shape.setter
265 def shape(self, shape):
266 self._shape = shape

Callers 6

add_opdef_loaderFunction · 0.90
conv2df_loaderFunction · 0.90
add_loaderFunction · 0.90
conv2dm_loaderFunction · 0.90
bn_opdef_loaderFunction · 0.85
square_func_loaderFunction · 0.85

Calls

no outgoing calls

Tested by 4

add_opdef_loaderFunction · 0.72
conv2df_loaderFunction · 0.72
add_loaderFunction · 0.72
conv2dm_loaderFunction · 0.72