class_docstr: Benchmarks runtime and error of crypten functions against PyTorch
  
  Args:
      tensor_size (int or tuple): size of tensor for benchmarking runtimes
class_docstr_tok: ["Benchmarks","runtime","and","error","of","crypten","functions","against","PyTorch","Args",":","tensor_size","(","int","or","tuple",")",":","size","of","tensor","for","benchmarking","runtimes"]
docstr: Returns runtimes for layers
docstr_tok: ["Returns","runtimes","for","layers"]
code: def get_layer_runtimes(self):
      """Returns runtimes for layers"""
  
      runtime_layers, runtime_layers_enc = [], []
  
      for layer in FuncBenchmarks.LAYERS:
          if layer == "conv1d":
              x, x_enc, y, y_enc = self.random_conv1d_inputs()
          elif layer == "conv2d":
              x, x_enc, y, y_enc = self.random_conv2d_inputs()
          else:
              raise ValueError(f"{layer} not supported")
  
          runtime, _ = FuncBenchmarks.time_func(x, layer, y=y)
          runtime_enc, _ = FuncBenchmarks.time_func(
              x_enc, layer, y=y_enc
          )
  
          runtime_layers.append(runtime)
          runtime_layers_enc.append(runtime_enc)
  
      return runtime_layers, runtime_layers_enc
  
imports: import argparse
  import functools
  import os
  import timeit
  from collections import namedtuple
  import crypten
  import crypten.communicator
  import numpy
  import pandas
  import torch
  from examples import multiprocess_launcher
label_desc: Use image node_id 5 for calling the FuncBenchmarks obj's underlying member method code with example usage: obj.get_layer_runtimes() and returns: runtime_layers,  runtime_layers_enc