Пример #1
0
def function_def_from_tf_function(c_func):
  """Converts a SWIG-wrapped TF_Function* to a FunctionDef proto."""
  with c_api_util.tf_buffer() as buf:
    c_api.TF_FunctionToFunctionDef(c_func, buf)
    data = c_api.TF_GetBuffer(buf)
  fdef = function_pb2.FunctionDef()
  fdef.ParseFromString(compat.as_bytes(data))
  return fdef
Пример #2
0
def get_all_registered_kernels():
    """Returns a KernelList proto of all registered kernels.
  """
    buf = c_api.TF_GetAllRegisteredKernels()
    data = c_api.TF_GetBuffer(buf)
    kernel_list = kernel_def_pb2.KernelList()
    kernel_list.ParseFromString(compat.as_bytes(data))
    return kernel_list
Пример #3
0
 def get_api_def(self, op_name):
     api_def_proto = api_def_pb2.ApiDef()
     buf = c_api.TF_ApiDefMapGet(self._api_def_map, op_name, len(op_name))
     try:
         api_def_proto.ParseFromString(c_api.TF_GetBuffer(buf))
     finally:
         c_api.TF_DeleteBuffer(buf)
     return api_def_proto
Пример #4
0
def get_registered_kernels_for_op(name):
    """Returns a KernelList proto of registered kernels for a given op.

  Args:
    name: A string representing the name of the op whose kernels to retrieve.
  """
    buf = c_api.TF_GetRegisteredKernelsForOp(name)
    data = c_api.TF_GetBuffer(buf)
    kernel_list = kernel_def_pb2.KernelList()
    kernel_list.ParseFromString(compat.as_bytes(data))
    return kernel_list
Пример #5
0
    def value(self):
        """Retrieves the current distribution of samples.

    Returns:
      A HistogramProto describing the distribution of samples.
    """
        with c_api_util.tf_buffer() as buffer_:
            pywrap_tfe.TFE_MonitoringSamplerCellValue(self._cell, buffer_)
            proto_data = pywrap_tf_session.TF_GetBuffer(buffer_)
        histogram_proto = summary_pb2.HistogramProto()
        histogram_proto.ParseFromString(compat.as_bytes(proto_data))
        return histogram_proto
Пример #6
0
    def __init__(self):
        op_def_proto = op_def_pb2.OpList()
        buf = c_api.TF_GetAllOpList()
        try:
            op_def_proto.ParseFromString(c_api.TF_GetBuffer(buf))
            self._api_def_map = c_api.TF_NewApiDefMap(buf)
        finally:
            c_api.TF_DeleteBuffer(buf)

        self._op_per_name = {}
        for op in op_def_proto.op:
            self._op_per_name[op.name] = op
Пример #7
0
 def definition(self):
   """Function definition proto."""
   self._create_definition_if_needed()
   if self._c_func:
     with c_api_util.tf_buffer() as buf:
       c_api.TF_FunctionToFunctionDef(self._c_func.func, buf)
       fdef = function_pb2.FunctionDef()
       proto_data = c_api.TF_GetBuffer(buf)
       fdef.ParseFromString(compat.as_bytes(proto_data))
       with ops.init_scope():
         if context.executing_eagerly():
           context.add_function(self._c_func.func)
           self._function_deleter = _DefinedFunctionDeleter(
               fdef.signature.name)
     return fdef
   return self._definition
Пример #8
0
def monitor(service_addr, duration_ms, level=1):
    """Sends grpc requests to profiler server to perform on-demand monitoring.

  This method will block caller thread until receives monitoring result.

  Args:
    service_addr: Address of profiler service e.g. localhost:6009.
    duration_ms: Duration of monitoring in ms.
    level: Choose a monitoring level between 1 and 2 to monitor your
      job. Level 2 is more verbose than level 1 and shows more metrics.


  Returns:
    A string of monitoring output.
  """
    with c_api_util.tf_buffer() as buffer_:
        pywrap_tfe.TFE_ProfilerClientMonitor(service_addr, duration_ms, level,
                                             True, buffer_)
        return pywrap_tf_session.TF_GetBuffer(buffer_)
Пример #9
0
 def value(self):
     """Retrieves the current value."""
     with c_api_util.tf_buffer() as buffer_:
         pywrap_tfe.TFE_MonitoringStringGaugeCellValue(self._cell, buffer_)
         value = pywrap_tf_session.TF_GetBuffer(buffer_).decode('utf-8')
     return value