class_docstr: Each error is a section in the output of cuda-memcheck.
  Each error in the report has an error message and a backtrace. It looks like:
  
  ========= Program hit cudaErrorInvalidValue (error 1) due to "invalid argument" on CUDA API call to cudaGetLastError.
  =========     Saved host backtrace up to driver entry point at error
  =========     Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 [0x38c7b3]
  =========     Host Frame:/usr/local/cuda/lib64/libcudart.so.10.1 (cudaGetLastError + 0x163) [0x4c493]
  =========     Host Frame:/home/xgao/anaconda3/lib/python3.7/site-packages/torch/lib/libtorch.so [0x5b77a05]
  =========     Host Frame:/home/xgao/anaconda3/lib/python3.7/site-packages/torch/lib/libtorch.so [0x39d6d1d]
  =========     .....
code: def __init__(self, lines):
      self.message = lines[0]
      lines = lines[2:]
      self.stack = [l.strip() for l in lines]
  
label_desc: Use image node_id 1 to create a new Error object  with example: obj = Error(lines)