code reuse is always a valid and suggested approach in my humble opinion. If you think most of the expected behavior is already present in nn.Linear, it makes sense to extend this and write your modifications as new class.