docs: def batch_run_many(player, positions, batch_size=100):
      """Used to avoid a memory oveflow issue when running the network
      on too many positions. TODO: This should be a member function of
      player.network?"""
      prob_list = []
      value_list = []
      for idx in range(0, len(positions), batch_size):
          probs, values = player.network.run_many(positions[idx:idx + batch_size])
          prob_list.append(probs)
          value_list.append(values)
      return np.concatenate(prob_list, axis=0), np.concatenate(value_list, axis=0)