class_docstr: Class to keep track of the compressed network size with iPQ.
  
  Args:
      - model: a nn.Module
  
  Remarks:
      - The compressed size is the sum of three components
        for each layer in the network:
            (1) Storing the centroids given by iPQ in fp16
            (2) Storing the assignments of the blocks in int8
            (3) Storing all non-compressed elements such as biases
      - This cost in only valid if we use 256 centroids (then
        indexing can indeed by done with int8).
class_docstr_tok: ["Class","to","keep","track","of","the","compressed","network","size","with","iPQ",".","Args",":","-","model",":","a","nn.Module","Remarks",":","-","The","compressed","size","is","the","sum","of","three","components","for","each","layer","in","the","network",":","(","1",")","Storing","the","centroids","given","by","iPQ","in","fp16","(","2",")","Storing","the","assignments","of","the","blocks","in","int8","(","3",")","Storing","all","non-compressed","elements","such","as","biases","-","This","cost","in","only","valid","if","we","use","256","centroids","(","then","indexing","can","indeed","by","done","with","int8",")","."]
docstr: Computes the size of the model (in MB).
docstr_tok: ["Computes","the","size","of","the","model","(","in","MB",")","."]
code: def compute_size(self):
      """
      Computes the size of the model (in MB).
      """
  
      res = 0
      for _, p in self.model.named_parameters():
          res += p.numel()
      return res * 4 / 1024 / 1024
  
file_path: fairseq/fairseq/modules/quantization/pq/utils.py
imports: import logging
  import re
  from operator import attrgetter, itemgetter
  import torch
  import numpy
  import torch.distributed
  import torch.nn
  from .modules import PQConv2d, PQEmbedding, PQLinear
  from .pq import PQ
label_desc: Use image node_id 2 for calling the SizeTracker obj's underlying member method code with example usage: obj.compute_size() and returns: unknown