class_docstr: DiffPool Fuse
class_docstr_tok: ["DiffPool","Fuse"]
code: def gcn_forward_tensorized(self, h, adj, gc_layers, cat=False):
      block_readout = []
      for gc_layer in gc_layers:
          h = gc_layer(h, adj)
          block_readout.append(h)
      if cat:
          block = torch.cat(
              block_readout, dim=2
          )  # N x F, F = F1 + F2 + ...
      else:
          block = h
      return block
  
file_path: dgl/examples/pytorch/diffpool/model/encoder.py
imports: import time
  import dgl
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from scipy.linalg import block_diag
  from torch.nn import init
  from .dgl_layers import DiffPoolBatchedGraphLayer, GraphSage, GraphSageLayer
  from .model_utils import batch2tensor
  from .tensorized_layers import *
label_desc: Use image node_id 3 for calling the DiffPool obj's underlying member method code with example usage: obj.gcn_forward_tensorized(h, adj, gc_layers, cat) and returns: block