code: def init_garnet(self, layer):
      reuse_factor = layer.attributes["reuse_factor"]
  
      var_converter = VivadoArrayVariableConverter(
          type_converter=HLSTypeConverter(
              precision_converter=APTypeConverter()
          )
      )
  
      # A bit controversial but we are going to set the partitioning of the input here
      in_layer = layer.model.graph[layer.inputs[0]]
      in_var = layer.get_input_variable(layer.inputs[0])
      partition_factor = in_var.shape[1] * (
          in_var.shape[0] // reuse_factor
      )
      in_pragma = ("partition", "cyclic", partition_factor)
      new_in_var = var_converter.convert(in_var, pragma=in_pragma)
      in_layer.set_attr(layer.inputs[0], new_in_var)
  
      if layer.attributes["collapse"]:
          out_pragma = "partition"
      else:
          partition_factor = layer._output_features * (
              layer.attributes["n_vertices"] // reuse_factor
          )
          out_pragma = ("partition", "cyclic", partition_factor)
  
      out_name, out_var = next(iter(layer.variables.items()))
      new_out_var = var_converter.convert(out_var, pragma=out_pragma)
  
      layer.set_attr(out_name, new_out_var)
  
imports: import os
  import sys
  import numpy
  from hls4ml.backends import FPGABackend
  from hls4ml.backends.fpga.fpga_types import APTypeConverter, HLSTypeConverter, VivadoArrayVariableConverter
  from hls4ml.model.attributes import ChoiceAttribute, ConfigurableAttribute, TypeAttribute
  from hls4ml.model.flow import register_flow
  from hls4ml.model.layers import GRU, LSTM, Conv1D, Conv2D, Dense, DepthwiseConv2D, Embedding, GarNet, GarNetStack, GlobalPooling1D, GlobalPooling2D, Layer, Pooling1D, Pooling2D, SeparableConv1D, SeparableConv2D, SimpleRNN, Softmax
  from hls4ml.model.optimizer import get_backend_passes, layer_optimizer
  from hls4ml.model.types import FixedPrecisionType, IntegerPrecisionType, NamedType, PackedType
  from hls4ml.report import parse_vivado_report
  from hls4ml.utils.fixed_point_utils import ceil_log2
label_desc: Use image node_id 25 for calling the VivadoBackend obj's underlying member method code with example usage: obj.init_garnet(layer) without return types