class_docstr: Transposes the weights to use the dense_resource matrix multiply routine
code: def transform(self, model, node):
      if isinstance(node, Dense):
          node.weights["weight"].data = np.transpose(
              node.weights["weight"].data
          )
      elif isinstance(node, Conv1D):
          node.weights["weight"].data = np.transpose(
              node.weights["weight"].data, axes=[2, 0, 1]
          )  # (W,C,F) => (F,W,C)
      elif isinstance(node, SeparableConv1D):
          node.weights["depthwise"].data = np.transpose(
              node.weights["depthwise"].data, axes=[2, 0, 1]
          )  # (W,C,F) => (F,W,C)
          node.weights["pointwise"].data = np.transpose(
              node.weights["pointwise"].data, axes=[2, 0, 1]
          )  # (W,C,F) => (F,W,C)
      elif isinstance(node, Conv2D):
          node.weights["weight"].data = np.transpose(
              node.weights["weight"].data, axes=[3, 0, 1, 2]
          )  # (H,W,C,F) => (F,H,W,C)
      elif isinstance(node, SeparableConv2D):
          node.weights["depthwise"].data = np.transpose(
              node.weights["depthwise"].data, axes=[3, 0, 1, 2]
          )  # (H,W,C,F) => (F,H,W,C)
          node.weights["pointwise"].data = np.transpose(
              node.weights["pointwise"].data, axes=[3, 0, 1, 2]
          )  # (H,W,C,F) => (F,H,W,C)
      elif isinstance(node, (LSTM, GRU)):
          node.weights["weight"].data = np.transpose(
              node.weights["weight"].data
          )
          node.weights["recurrent_weight"].data = np.transpose(
              node.weights["recurrent_weight"].data
          )
      else:
          raise Exception(
              f"Unexpected layer {node.class_name} with resource strategy"
          )
  
      node.set_attr("_weights_transposed", True)
  
      return False
  
imports: import numpy
  from hls4ml.model.layers import GRU, LSTM, Conv1D, Conv2D, Dense, SeparableConv1D, SeparableConv2D
  from hls4ml.model.optimizer import OptimizerPass
label_desc: Use image node_id 2 for calling the ApplyResourceStrategy obj's underlying member method code with example usage: obj.transform(model, node) and returns: False