I want to convert .png files to .jpeg files with random quality factor. But it returns this error:

image::write_file() Expected a value of type ‘str’ for argument ‘_0’ but instead found type ‘BufferedWriter’.
Position: 0
Value: <_io.BufferedWriter name=’/content/Results0.jpeg’>
Declaration: image::write_file(str _0, Tensor _1) → ()
Cast error details: Unable to cast Python instance to C++ type (compile in debug mode for details)

Here’s code:
import torch
import torchvision.transforms as T
import torchvision.io as io
import os
from PIL import Image
import random


PATH = '/content/input'
SAVE_PATH = '/content/Results'

img_files = [os.path.join(PATH, imgs) for imgs in os.listdir(PATH)]
j = 0
for i in img_files:
    
    nums = []
    image = Image.open(i)
    image = image.convert('RGB')
    image = T.ToTensor()(image)
    image = image.type(torch.uint8)
    
    r_num = random.randint(10, 96)
    nums.append(r_num)
  
    io.write_jpeg(input = image, filename = open(SAVE_PATH + f'{j}.jpeg', 'wb'), quality = r_num)
    j += 1