index functions*. For example, the nearest neighbor interpolation of a point is equivalent to allocating indices of one to its neighbor and then map the value of the point. In this sense, indices are models [@kraska2018case], therefore indices can be modeled and learned.

In this work, *we model indices as a function of the local feature map and learn index functions to implement upsampling within deep CNNs.* In particular, we present a novel index-guided encoder-decoder framework, which naturally generalizes models like SegNet. Instead of using max-pooling and unpooling, we introduce indexed pooling and indexed upsampling where downsampling and upsampling are guided by learned indices. The indices are generated *dynamically* conditioned on the feature map and are learned using a fully convolutional network, termed IndexNet, without extra supervision needed. IndexNet is a highly flexible module. It can be applied to almost all convolutional networks that have coupled downsampling and upsampling stages. Compared to the fixed $\max$ function or bilinear interpolation, learned index functions show potentials for simultaneous boundary and region delineation.

IndexNet is a high-level concept and represents a broad family of networks modeling the so-called index function. In this work, we instantiate and investigate five families of IndexNet. Different designs 