class_docstr: ProxylessNAS converts repeat to a sequential blocks of layer choices between
  the original block and an identity layer.
  
  Only pure categorical depth choice is supported.
  If the categorical choices are not consecutive integers, the constraint will only be considered at export.
class_docstr_tok: ["ProxylessNAS","converts","repeat","to","a","sequential","blocks","of","layer","choices","between","the","original","block","and","an","identity","layer",".","Only","pure","categorical","depth","choice","is","supported",".","If","the","categorical","choices","are","not","consecutive","integers",",","the","constraint","will","only","be","considered","at","export","."]
docstr: Resample each individual depths.
code: def resample(self, memo):
      """Resample each individual depths."""
      if self.depth_choice.label in memo:
          return {}
      depth = self.min_depth
      for d in range(self.min_depth, self.max_depth):
          layer = self.blocks[d]
          assert isinstance(layer, ProxylessMixedLayer)
          # The depth-related choices must be sampled here.
          memo.pop(layer.label, None)
          sample = layer.resample(memo)
          memo.update(sample)
          depth += int(memo[layer.label])
      return {self.depth_choice.label: depth}
  
imports: from __future__ import annotations
  from typing import Any, cast
  import torch
  import torch.nn
  from nni.mutable import Categorical, Mutable, Sample, SampleValidationError, MutableExpression, label_scope, auto_label
  from nni.nas.nn.pytorch import Repeat, recursive_freeze
  from .base import BaseSuperNetModule
  from .differentiable import DifferentiableMixedLayer, DifferentiableMixedInput
  from ._expression_utils import traverse_all_options
label_desc: Use image node_id 2 for calling the ProxylessMixedRepeat obj's underlying member method code with example usage: obj.resample(memo) and returns: dict, dict