Trained pytorch model in C++ showing different results

I have trained my model and saved it to use in C++ environment. When i am trying to predict the results in C++ it is showing different results in comparison to my pytorch model. I have used the exact as shown in pytorch tutorial. This is my code for C++.

#include <torch/script.h>
#include <memory>
#include <iostream>
int main(int argc, const char* argv[])
{
 if (argc != 2) {
    std::cerr << "usage: main <path-to-exported-script-module>\n";
    return -1;
  }

  try {
    // Deserialize the ScriptModule from a file using torch::jit::load().
    torch::jit::script::Module module;
    module = torch::jit::load("/home/sunny/neural/diffusion2.pt");
    // Create a vector of inputs.
    double x;
    std::cout<<"Please enter the value of x ";
    std::cin>>x;
    double t;
    std::cout<<"Please enter the value of t ";
    std::cin>>t;
    
    std::vector<torch::jit::IValue> inputs;
    inputs.push_back(torch::tensor({{x,t}}));
    // Execute the model and turn its output into a tensor.
    torch::Tensor output = module.forward((inputs)).toTensor();

    std::cout << "u(x,t) = " << output << std::endl;
    
  }
  catch (const c10::Error& e) {
    std::cerr << "error loading the model\n";
    return -1;
  }

}

One more thing. I tried many times to save my model to use in C++ and it show different results every time . Do anyone know what is going wrong?

Does your model have any nondeterministic layers like dropout that require model.eval() to fix their behavior at inference time?