MCPcopy Index your code
hub / github.com/pytorch/pytorch / TaskOutput

Class TaskOutput

caffe2/python/task.py:354–398  ·  view source on GitHub ↗

Represents the output of a task. An output can be a blob, a list of blob, or a record.

Source from the content-addressed store, hash-verified

352
353
354class TaskOutput:
355 """
356 Represents the output of a task. An output can be a blob,
357 a list of blob, or a record.
358 """
359
360 def __init__(self, names):
361 self._schema = None
362 self._is_scalar = False
363 if isinstance(names, Field):
364 self._schema = names
365 names = self._schema.field_blobs()
366 self._is_scalar = type(names) not in (tuple, list)
367 if self._is_scalar:
368 names = [names]
369 self.names = names
370 self._values = None
371
372 def set(self, values, _fetch_func=None):
373 assert len(values) == len(self.names)
374 self._values = values
375 self._fetch_func = _fetch_func
376
377 def get(self):
378 assert self._values is not None, 'Output value not set yet.'
379 if self._is_scalar:
380 return self._values[0]
381 elif self._schema:
382 return from_blob_list(self._schema, self._values)
383 else:
384 return self._values
385
386 def fetch(self):
387 assert self._fetch_func is not None, (
388 'Cannot fetch value for this output.')
389 fetched_vals = [self._fetch_func(v) for v in self._values]
390 if self._is_scalar:
391 return fetched_vals[0]
392 elif self._schema:
393 return from_blob_list(self._schema, fetched_vals)
394 else:
395 return fetched_vals
396
397 def __repr__(self):
398 return "TaskOutput(names={}, values={})".format(self.names, self._values)
399
400
401def final_output(blob_or_record):

Callers 1

add_outputMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…