code: def test_encode_png(img_path):
      pil_image = Image.open(img_path)
      img_pil = torch.from_numpy(np.array(pil_image))
      img_pil = img_pil.permute(2, 0, 1)
      png_buf = encode_png(img_pil, compression_level=6)
  
      rec_img = Image.open(io.BytesIO(bytes(png_buf.tolist())))
      rec_img = torch.from_numpy(np.array(rec_img))
      rec_img = rec_img.permute(2, 0, 1)
  
      assert_equal(img_pil, rec_img)
  
imports: import glob
  import io
  import os
  import sys
  from pathlib import Path
  import numpy
  import pytest
  import torch
  import torchvision.transforms.functional
  from common_utils import assert_equal, needs_cuda
  from PIL import __version__, Image
  from torchvision.io.image import _read_png_16, decode_image, decode_jpeg, decode_png, encode_jpeg, encode_png, ImageReadMode, read_file, read_image, write_file, write_jpeg, write_png
label_desc: Use image node_id 11 for calling a global function with example usage: test_encode_png(img_path) without return types