class_docstr: Residual block (b) in the paper
class_docstr_tok: ["Residual","block","(","b",")","in","the","paper"]
docstr: Dropout-mask: To avoid the future information leakage problem, this paper proposed a masking-based dropout
  trick for the 1D dilated convolution to prevent the network from seeing the future items.
  Also the One-dimensional transformation is completed in this function.
docstr_tok: ["Dropout-mask",":","To","avoid","the","future","information","leakage","problem",",","this","paper","proposed","a","masking-based","dropout","trick","for","the","1D","dilated","convolution","to","prevent","the","network","from","seeing","the","future","items",".","Also","the","One-dimensional","transformation","is","completed","in","this","function","."]
code: def conv_pad(self, x, dilation):
      r"""Dropout-mask: To avoid the future information leakage problem, this paper proposed a masking-based dropout
      trick for the 1D dilated convolution to prevent the network from seeing the future items.
      Also the One-dimensional transformation is completed in this function.
      """
      inputs_pad = x.permute(0, 2, 1)
      inputs_pad = inputs_pad.unsqueeze(2)
      pad = nn.ZeroPad2d(((self.kernel_size - 1) * dilation, 0, 0, 0))
      inputs_pad = pad(inputs_pad)
      return inputs_pad
  
imports: import numpy
  import torch
  from torch import nn
  from torch.nn import functional
  from torch.nn.init import uniform_, xavier_normal_, constant_
  from recbole.model.abstract_recommender import SequentialRecommender
  from recbole.model.loss import RegLoss, BPRLoss
label_desc: Use image node_id 3 for calling the ResidualBlock_b obj's underlying member method code with example usage: obj.conv_pad(x, dilation) and returns: inputs_pad