class_docstr: 1D-convolutional layer as defined by Radford et al. for OpenAI GPT (and also used in GPT-2).
  
  Basically works like a linear layer but the weights are transposed.
  
  Args:
      nf (`int`): The number of output features.
      nx (`int`): The number of input features.
class_docstr_tok: ["1D-convolutional","layer","as","defined","by","Radford","et","al",".","for","OpenAI","GPT","(","and","also","used","in","GPT-2",")",".","Basically","works","like","a","linear","layer","but","the","weights","are","transposed",".","Args",":","nf","(","`","int","`",")",":","The","number","of","output","features",".","nx","(","`","int","`",")",":","The","number","of","input","features","."]
code: def forward(self, x):
      size_out = x.size()[:-1] + (self.nf,)
      x = torch.addmm(self.bias, x.view(-1, x.size(-1)), self.weight)
      x = x.view(size_out)
      return x
  
file_path: quanto/test/nn/test_custom_qmodule.py
imports: import os
  from tempfile import TemporaryDirectory
  import pytest
  import torch
  from helpers import q_assert_close, random_qtensor
  from quanto import Calibration, QModuleMixin, QTensor, freeze, register_qmodule
label_desc: Use image node_id 2 for calling the Conv1D obj's underlying member method code with example usage: obj.forward(x) and returns: x