class_docstr: Breadth First sampler that generates the composite of a number of sampled paths from a starting node.
  It can be used to extract a random sub-graph starting from a set of initial nodes.
class_docstr_tok: ["Breadth","First","sampler","that","generates","the","composite","of","a","number","of","sampled","paths","from","a","starting","node",".","It","can","be","used","to","extract","a","random","sub-graph","starting","from","a","set","of","initial","nodes","."]
docstr: Checks that the parameter values are valid or raises ValueError exceptions with a message indicating the
  parameter (the first one encountered in the checks) with invalid value.
  
  Args:
      nodes: <list> A list of root node ids such that from each node n BFWs will be generated up to the
      given depth d.
      n_size: <list> The number of neighbouring nodes to expand at each depth of the walk.
      seed: <int> Random number generator seed; default is None
docstr_tok: ["Checks","that","the","parameter","values","are","valid","or","raises","ValueError","exceptions","with","a","message","indicating","the","parameter","(","the","first","one","encountered","in","the","checks",")","with","invalid","value",".","Args",":","nodes",":","<","list",">","A","list","of","root","node","ids","such","that","from","each","node","n","BFWs","will","be","generated","up","to","the","given","depth","d.","n_size",":","<","list",">","The","number","of","neighbouring","nodes","to","expand","at","each","depth","of","the","walk",".","seed",":","<","int",">","Random","number","generator","seed",";","default","is","None"]
code: def _check_neighbourhood_sizes(self, in_size, out_size):
      """
      Checks that the parameter values are valid or raises ValueError exceptions with a message indicating the
      parameter (the first one encountered in the checks) with invalid value.
  
      Args:
          nodes: <list> A list of root node ids such that from each node n BFWs will be generated up to the
          given depth d.
          n_size: <list> The number of neighbouring nodes to expand at each depth of the walk.
          seed: <int> Random number generator seed; default is None
      """
      self._check_sizes(in_size)
      self._check_sizes(out_size)
      if len(in_size) != len(out_size):
          self._raise_error(
              "The number of hops for the in and out neighbourhoods must be the same."
          )
  
imports: import numpy
  import warnings
  from collections import defaultdict, deque
  from scipy import stats
  from scipy.special import softmax
  from ..core.schema import GraphSchema
  from ..core.graph import StellarGraph
  from ..core.utils import is_real_iterable
  from ..core.validation import require_integer_in_range, comma_sep
  from ..random import random_state
  from abc import ABC, abstractmethod
label_desc: Use image node_id 3 for calling the DirectedBreadthFirstNeighbours obj's underlying member method code with example usage: obj._check_neighbourhood_sizes(in_size, out_size) without return types