class_docstr: PreTransformerConv
code: def forward(self, x, degree_norm=None):
      ori_x = x
      if self.use_degree_norm:
          x = x * degree_norm
  
      q = self.q(x) + x
      k = self.k(x) + x
      v = self.v(ori_x) + ori_x
      q = paddle.reshape(q, [-1, self.nheads, self.head_dim])
      k = paddle.reshape(k, [-1, self.nheads, self.head_dim])
      v = paddle.reshape(v, [-1, self.nheads, self.head_dim])
      return (q, k, v, ori_x)
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  import pgl
  import math
  from .None import model_util
label_desc: Use image node_id 3 for calling the PreTransformerConv obj's underlying member method code with example usage: obj.forward(x, degree_norm) and returns: q,  k,  v,  ori_x