Implementing layer C3 in LeNet-5

So I just finished a small tutorial on CNN’s, which I feel like really upped my game. I’m excited to try implementing different architectures on the MNIST and CIFAR-10 datasets.

I’m reading this article on LeNet-5, and it says

Next, there is a second convolutional layer with 16 feature maps having size 5×5 and a stride of 1. In this layer, only 10 out of 16 feature maps are connected to 6 feature maps of the previous layer as shown below.

With the accompanying image.

image

I understand the table conceptually, but I’m not sure how to implement it. How does one “tell” a convolutional layer which inputs to accept from the last layer?

Ther is a Keras implementation at the end of the article, but it appears C3 is fully connected to the previous layer:

# C3 Convolutional Layer
model.add(layers.Conv2D(16, kernel_size=(5, 5), strides=(1, 1), activation=’tanh’, padding=’valid’))

Did author ignore the table?

How can I implement the table in PyTorch?

Thanks!