class_docstr: Common device configuration for python tests.
  
  Check tests/python/contrib/arm_compute_lib/ for the presence of an test_config.json file.
  This file can be used to override the default configuration here which will attempt to run the BNNS
  runtime tests locally if the runtime is available. Changing the configuration will allow these
  runtime tests to be offloaded to a remote device with BNNS via a tracker for example.
  
  Notes
  -----
      The test configuration will be loaded once when the class is created. If the configuration
      changes between tests, any changes will not be picked up.
  
  
  Attributes
  ----------
  connection_type : str
      Details the type of RPC connection to use. Options:
      local - Use the local device,
      tracker - Connect to a tracker to request a remote device,
      remote - Connect to a remote device directly.
  host : str
      Specify IP address or hostname of remote target.
  port : int
      Specify port number of remote target.
  target : str
      The compilation target.
  device_key : str
      The device key of the remote target. Use when connecting to a remote device via a tracker.
  cross_compile : str
      Specify path to cross compiler to use when connecting a remote device from a non-arm platform.
class_docstr_tok: ["Common","device","configuration","for","python","tests",".","Check","tests\/python\/contrib\/arm_compute_lib\/","for","the","presence","of","an","test_config.json","file",".","This","file","can","be","used","to","override","the","default","configuration","here","which","will","attempt","to","run","the","BNNS","runtime","tests","locally","if","the","runtime","is","available",".","Changing","the","configuration","will","allow","these","runtime","tests","to","be","offloaded","to","a","remote","device","with","BNNS","via","a","tracker","for","example",".","Notes","--","--","-","The","test","configuration","will","be","loaded","once","when","the","class","is","created",".","If","the","configuration","changes","between","tests",",","any","changes","will","not","be","picked","up",".","Attributes","--","--","--","--","--","connection_type",":","str","Details","the","type","of","RPC","connection","to","use",".","Options",":","local","-","Use","the","local","device",",","tracker","-","Connect","to","a","tracker","to","request","a","remote","device",",","remote","-","Connect","to","a","remote","device","directly",".","host",":","str","Specify","IP","address","or","hostname","of","remote","target",".","port",":","int","Specify","port","number","of","remote","target",".","target",":","str","The","compilation","target",".","device_key",":","str","The","device","key","of","the","remote","target",".","Use","when","connecting","to","a","remote","device","via","a","tracker",".","cross_compile",":","str","Specify","path","to","cross","compiler","to","use","when","connecting","a","remote","device","from","a","non-arm","platform","."]
docstr: Keep remote device for lifetime of object.
docstr_tok: ["Keep","remote","device","for","lifetime","of","object","."]
code: def __init__(self):
      """Keep remote device for lifetime of object."""
      self.device = self._get_remote()
  
imports: from itertools import zip_longest, combinations
  import json
  import os
  import warnings
  import numpy
  import tvm
  from tvm import relay
  from tvm import rpc
  from tvm.contrib import graph_executor
  from tvm.relay.op.contrib.bnns import partition_for_bnns
  from tvm.contrib import utils
  from tvm.autotvm.measure import request_remote
  from tvm.relay.analysis import analysis
label_desc: Use image node_id 1 to create a new Device object  with example: obj = Device()