Nevermind, you’re entirely correct! I was under the impression that everything would be updated since the optimizer has the last layer passed in and I manually pass in each other layer, but upon more testing I realized that only the manually added layers are being updated and the initially passed in layers that are directly bound to the class aren’t! I imagine wrapping all of them in nn.modulelist solves this, so that’s my next attempt. Thank you so much!