• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

InterpolationMode in PyTorch (3)

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

☕

*Memos:


PyTorch's Nearest matches

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

which is buggy as shown below. *It's about Nearest and Nearest-exact:


from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import PILToTensor, Resize
import numpy as np
import cv2

ptt = PILToTensor()

pytorchimagetensor = ptt(origin_data[0][0])

r = Resize(size=[50, 50], interpolation=InterpolationMode.NEAREST)

pytorch_resize = r(pytorchimagetensor).permute(dims=[1, 2, 0])
pytorch_resize
# tensor([[[37, 20, 12],
# [36, 17, 10],
# ...,
# [252, 250, 253]],
# [[36, 15, 14],
# [24, 8, 9],
# ...,
# [255, 255, 255]],
# [[255, 255, 196],
# [253, 255, 206],
# ...,
# [255, 255, 255]],
# ...,
# [[14, 16, 54],
# [12, 14, 52],
# ...,
# [254, 254, 254]],
# [[8, 11, 44],
# [11, 16, 46],
# ...,
# [255, 254, 255]],
# [[4, 9, 31],
# [0, 2, 0],
# ...,
# [57, 109, 231]]], dtype=torch.uint8)

numpyimagearray = np.array(object=origin_data[0][0])

opencv_resize = cv2.resize(src=numpyimagearray, dsize=[50, 50],
interpolation=cv2.INTER_NEAREST)
opencv_resize
# array([[[37, 20, 12],
# [36, 17, 10],
# ...,
# [252, 250, 253]],
# [[36, 15, 14],
# [24, 8, 9],
# ...,
# [255, 255, 255]],
# [[255, 255, 196],
# [253, 255, 206],
# ...,
# [255, 255, 255]],
# ...,
# [[14, 16, 54],
# [12, 14, 52],
# ...,
# [254, 254, 254]],
# [[8, 11, 44],
# [11, 16, 46],
# ...,
# [255, 254, 255]],
# [[4, 9, 31],
# [0, 2, 0],
# ...,
# [57, 109, 231]]], dtype=uint8)

PyTorch's Nearest-exact matches

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

and

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

which aren't buggy:


from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import PILToTensor, Resize
import numpy as np
from skimage.transform import resize

ptt = PILToTensor()

pytorchimagetensor = ptt(origin_data[0][0])

r = Resize(size=[50, 50], interpolation=InterpolationMode.NEAREST_EXACT)

pytorch_resize = r(pytorchimagetensor).permute(dims=[1, 2, 0])
pytorch_resize
# tensor([[[36, 19, 11],
# [31, 20, 14],
# ...,
# [254, 254, 254]]
# [[241, 230, 114],
# [252, 251, 98],
# ...,
# [255, 255, 255]],
# [[73, 158, 195],
# [255, 253, 192],
# ...,
# [255, 255, 255]]
# ...,
# [[13, 13, 49],
# [12, 12, 50],
# ...,
# [253, 253, 253]],
# [[10, 14, 43],
# [177, 176, 172],
# ...,
# [61, 90, 216]],
# [[6, 8, 21],
# [14, 16, 41],
# ...,
# [60, 103, 231]]], dtype=torch.uint8)

numpyimagearray = np.array(object=origin_data[0][0])

scikitimage_resize = resize(image=numpyimagearray, # `0` is Nearest-neighbor.
output_shape=[50, 50], order=0)
scikitimage_resize
# array([[[36, 19, 11],
# [31, 20, 14],
# ...,
# [254, 254, 254]],
# [[241, 230, 114],
# [252, 251, 98],
# ...,
# [255, 255, 255]],
# [[73, 158, 195],
# [255, 253, 192],
# ...,
# [255, 255, 255]],
# ...,
# [[13, 13, 49],
# [12, 12, 50],
# ...,
# [253, 253, 253]],
# [[10, 14, 43],
# [177, 176, 172],
# ...,
# [61, 90, 216]],
# [[6, 8, 21],
# [14, 16, 41],
# ...,
# [60, 103, 231]]], dtype=uint8)

PILimagearray = np.array(origin_data[0][0].resize(size=[50, 50],
resample=0)) # `0` is Nearest.
PILimagearray
# array([[[36, 19, 11],
# [31, 20, 14],
# ...,
# [254, 254, 254]],
# [[241, 230, 114],
# [252, 251, 98],
# ...,
# [255, 255, 255]],
# [[73, 158, 195],
# [255, 253, 192],
# ...,
# [255, 255, 255]],
# ...,
# [[13, 13, 49],
# [12, 12, 50],
# ...,
# [253, 253, 253]],
# [[10, 14, 43],
# [177, 176, 172],
# ...,
# [61, 90, 216]],
# [[6, 8, 21],
# [14, 16, 41],
# ...,
# [60, 103, 231]]], dtype=uint8)

ptt = PILToTensor()

PILimagetensor = ptt(origin_data[0][0].resize(size=[50, 50],
resample=0)).permute(dims=[1, 2, 0])
PILimagetensor # `0` is Nearest.
# tensor([[[36, 19, 11],
# [31, 20, 14],
# ...,
# [254, 254, 254]],
# [[241, 230, 114],
# [252, 251, 98],
# ...,
# [255, 255, 255]],
# [[73, 158, 195],
# [255, 253, 192],
# ...,
# [255, 255, 255]],
# ...,
# [[13, 13, 49],
# [12, 12, 50],
# ...,
# [253, 253, 253]],
# [[10, 14, 43],
# [177, 176, 172],
# ...,
# [61, 90, 216]],
# [[6, 8, 21],
# [14, 16, 41],
# ...,
# [60, 103, 231]]], dtype=torch.uint8)


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу