How can l add a fully convolutional layer before after max poooling layer and before the fully connected layer

Hello,

l have a network composed of 2 convolutional layers and two fully connected layers.
l would like to add a fully convolutional layer before the first fully connected layer.

Here is my code :

    def forward(self, x, d, L, lmax):

        # conv layer 1
        x = x.unsqueeze(2)  # B x V x Fin=1
        x = self.conv_cheby(x, self.cl1, L[0], lmax[0], self.CL1_F, self.CL1_K)
        x = F.relu(x)
        x = self.graph_max_pool(x, 4)

        # graph CL2
        x = self.graph_conv_cheby(x, self.cl2, L[2], lmax[2], self.CL2_F, self.CL2_K)
        x = F.relu(x)
        x = self.graph_max_pool(x, 4)
        # I would like to add here a fully covolutional layer 
        # FC1
        x = x.view(-1, self.FC1Fin)
        x = self.fc1(x)
        x = F.relu(x)
        x = nn.Dropout(d)(x)

        # FC2
        x = self.fc2(x)

Just add it.

x = self.new_conv(x)

You will probably have to use padding = floor(kernel_size / 2) in order to keep the correct size for the fc layer’s input.