code: def __compute_actual_buf_sizes(info, buf_var_lives):
      # buf_size_array is to store size values of each actual buffer
      actual_buf_num = __count_actual_buf(info, buf_var_lives)
      buf_size_array = np.zeros(actual_buf_num, dtype=np.int32)
  
      # tmp_size_array is size values when only focusing on a single Function
      tmp_size_array = np.empty_like(buf_size_array, dtype=np.int32)
      for func_idx, _ in enumerate(info._network.function):
          tmp_size_array[:] = -1
          crsr = 0
          for buf_idx, buf_var_life in enumerate(buf_var_lives):
              if buf_var_life.needed_at(func_idx):
                  tmp_size_array[crsr] = info._variable_buffer_size[
                      buf_idx
                  ]
                  crsr += 1
              else:
                  pass  # only focus on buffers used in this func
  
          # update sizes of actual buffers
          tmp_size_array = np.sort(tmp_size_array)
          for i in range(actual_buf_num):
              buf_size_array[i] = max(
                  buf_size_array[i], tmp_size_array[i]
              )
  
      return buf_size_array
  
file_path: nnabla/python/src/nnabla/utils/converter/nnablart/save_variable_buffer.py
imports: import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: __compute_actual_buf_sizes(info, buf_var_lives) and returns: buf_size_array