Different result for the same pytorch model on PC and android mobilephone?

Hello, I have trained a mobilenetv2 model with the help of pytorch(version: 1.9.0)
and convert to .pt format, deploy the .pt model on android mobilephone.
However, I get very different result from the result on PC.
Can anyone help me to solve this problem?
The details are as follows:
First,train the new model(named result.ckpt) from mobilenetv2(the same problem with mobilenetv3 ) with the help of pytorch.
Secondly, convert the model result.ckpt to result.pt the key source codes is as follows:

import torch
import torchvision
from torch.utils.mobile_optimizer import optimize_for_mobile
import torchvision.models as models

model= torch.load('result.ckpt', map_location=torch.device('cpu'))
example = torch.rand(1, 3, 224, 224)
traced_script_module = torch.jit.trace(model, example)

Thirdly, deploy the result.pt model inside app source code. And then compile to get the apk
the key source codes are as follows:

module = LiteModuleLoader.load(assetFilePath(this, "largeMbv3.pt"));
bitmap = decodeFile(imgPath);
newbitmap = compressImageFromBitmap(bitmap,224,224);
final Tensor inputTensor = TensorImageUtils.bitmapToFloat32Tensor(newbitmap,
                TensorImageUtils.TORCHVISION_NORM_MEAN_RGB, TensorImageUtils.TORCHVISION_NORM_STD_RGB, MemoryFormat.CHANNELS_LAST);
        // running the model
        final Tensor outputTensor = module.forward(IValue.from(inputTensor)).toTensor();
        final float[] scores = outputTensor.getDataAsFloatArray();

And the function compressImageFromBitmap is as follows:

    public static Bitmap compressImageFromBitmap(Bitmap bitmap, int pixelW, int pixelH) {
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
        if( os.toByteArray().length / 1024>512) {//判断如果图片大于0.5M,进行压缩避免在生成图片(BitmapFactory.decodeStream)时溢出
            bitmap.compress(Bitmap.CompressFormat.JPEG, 50, os);
        ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        options.inPreferredConfig = Bitmap.Config.RGB_565;
        BitmapFactory.decodeStream(is, null, options);
        options.inJustDecodeBounds = false;
        options.inSampleSize = computeSampleSize(options , pixelH > pixelW ? pixelW : pixelH ,pixelW * pixelH );
        is = new ByteArrayInputStream(os.toByteArray());
        Bitmap newBitmap = BitmapFactory.decodeStream(is, null, options);
        return newBitmap;

However, I get quiet different result for same image to identify on PC and android
Can anyone help me to solve this problem? Thans very much.

By the way, I have set random to a fix number when training the model.Just as follows:

if torch.cuda.is_available():
    torch.cuda.manual_seed_all(seed)  # all gpus
    torch.backends.cudnn.benchmark = False
    torch.backends.cudnn.deterministic = True

But it does not have any change at all.
Thans very much for your help .
Best wishes to you.