  The stochastic block model and its variants have been a popular tool in
analyzing large network data with community structures. In this paper we
develop an efficient network cross-validation (NCV) approach to determine the
number of communities, as well as to choose between the regular stochastic
block model and the degree corrected block model. The proposed NCV method is
based on a block-wise node-pair splitting technique, combined with an
integrated step of community recovery using sub-blocks of the adjacency matrix.
We prove that the probability of under selection vanishes as the number of node
increases, under mild conditions satisfied by a wide range of popular community
recovery algorithms. The solid performance of our method is also demonstrated
in extensive simulations and a data example.
