I've saved a model in Libtorch, now how do I load it?

I’ve used torch::serialized to save the model’s parameters but can’t seem to load them.
My model below has the component to save without error, and the part to load it are commented out (because they don’t work).

#include <torch/torch.h>
#include <torch/script.h>

using namespace torch::indexing;
torch::Device device(torch::kCPU);


struct Critic_Net : torch::nn::Module {
    torch::Tensor next_state_batch__sampled_action;
    public:
    Critic_Net() {
        // Construct and register two Linear submodules.
        lin1 = register_module("lin1", torch::nn::Linear(427, 42));
        lin2 = register_module("lin2", torch::nn::Linear(42, 286));
        lin3 = register_module("lin3", torch::nn::Linear(286, 42));
        lin1->to(device);
        lin2->to(device);
        lin3->to(device);
    }
    torch::Tensor forward(torch::Tensor next_state_batch__sampled_action) {
        auto h = next_state_batch__sampled_action;
        h = torch::relu(lin1->forward(h));
        h = torch::tanh(lin2->forward(h));
        h = lin3->forward(h);
        return h;
    }
    torch::nn::Linear lin1{nullptr}, lin2{nullptr}, lin3{nullptr};
};

auto one = torch::rand({42, 427}).to(device);

auto target = torch::rand({42, 42}).to(device);
// auto net_optimizer = torch::optim::Adam(net.parameters(),  1e-3);

torch::Tensor y_hat;
at::Tensor loss;

auto net = Critic_Net();

    //   torch::jit::script::Module net;
    //   std::string module_path = "model.pt";
    //   auto net = torch::jit::load(module_path);  
    //   net.to(device);

int main() {
    for (int e = 0; e<2000; e++) {
        net_optimizer.zero_grad();
        y_hat = net.forward(one);

        loss = torch::smooth_l1_loss(target, y_hat);
        loss.backward();
        net_optimizer.step();

        if (e % 50 == 0) {
            std::cout << loss.item() << "  " << "\n";
        }
    }

    std::string model_path = "model.pt";
    torch::serialize::OutputArchive output_archive;
    net.save(output_archive);
    output_archive.save_to(model_path);
}