code: def _activate(self):
          
          self.distribution_ = 1. / self.n_streams * np.ones(self.n_streams)
          self.valid_streams_ = np.ones(self.n_streams, dtype=bool)
  
          self.streams_ = [None] * self.k
  
          self.stream_weights_ = np.zeros(self.k)
          self.stream_counts_ = np.zeros(self.k, dtype=int)
          # Array of pointers into `self.streamers`
          self.stream_idxs_ = np.zeros(self.k, dtype=int)
  
          for idx in range(self.k):
  
              if not (self.distribution_ > 0).any():
                  break
  
              self.stream_idxs_[idx] = self.rng.choice(
                  self.n_streams, p=self.distribution_)
              self.streams_[idx], self.stream_weights_[idx] = (
                  self._new_stream(self.stream_idxs_[idx]))
  
          self.weight_norm_ = np.sum(self.stream_weights_)
docs: Activates a number of streams