code: def calculate_fc_output_dims(max_fc_size, input_dim, output_dim):
      if not max_fc_size or max_fc_size < 0:
          return None
  
      assert max_fc_size >= input_dim, (
          "Currently we split along the output "
          "dimension. So we need max_fc_size >= input_dim. But, max_fc_size: "
          "{}, input_dim: {}".format(max_fc_size, input_dim)
      )
  
      output_dim_allowed = int(np.floor(max_fc_size / input_dim))
      num_fc = int(np.floor((output_dim - 1) / output_dim_allowed) + 1)
  
      output_dim_vec = [output_dim_allowed] * (num_fc - 1)
  
      output_dim_vec.append(output_dim - sum(output_dim_vec))
  
      return output_dim_vec
  
file_path: pytorch/caffe2/python/layers/fc.py
imports: from caffe2.python.helpers.arg_scope import get_current_scope
  from caffe2.python import schema
  from caffe2.python.layers.layers import ModelLayer
  from caffe2.python.layers.sampling_trainable_mixin import SamplingTrainableMixin
  import math
  import numpy
label_desc: Use image node_id 2 for calling the FC obj's underlying member method code with example usage: obj.calculate_fc_output_dims(max_fc_size, input_dim, output_dim) and returns: output_dim_vec, None