Resize in PyTorch

Buy Me a Coffee

*Memos:

Resize() can resize an image as shown below:

*Memos:

  • The 1st argument for initialization is size(Required-Type:int, tuple/list(int) or size()): *Memos:
    • It’s [height, width].
    • It must be 1 <= x.
    • None can be explicitly set to it only if max_size isn’t None.
    • A tuple/list must be the 1D with 1 or 2 elements.
    • A single value(int or tuple/list(int)) is applied to a smaller image’s width or height edge, then the other larger width or height edge is also resized: *Memos:
    • If an image’s width is smaller than its height, it’s [size * height / width, size].
    • If an image width is larger than its height, it’s [size, size * width / height].
    • If an image width is equal to its height, it’s [size, size].
  • The 2nd argument for initialization is interpolation(Optional-Default:InterpolationMode.BILINEAR-Type:InterpolationMode).
  • The 3rd argument for initialization is max_size(Optional-Default:None-Type:int): *Memos:
    • It’s only supported if size is a single value(int or tuple/list(int)).
    • After size is applied if a larger image’s width or height edge exceeds it, it’s applied to a larger image’s width or height edge to limit the image size, then the other smaller image’s width or height edge also becomes smaller than before.
  • The 4th argument for initialization is antialias(Optional-Default:True-Type:bool). *Even if setting False to it, it’s always True if interpolation is InterpolationMode.BILINEAR or InterpolationMode.BICUBIC.
  • The 1st argument is img(Required-Type:PIL Image or tensor(int, float, complex or bool)): *Memos:
    • A tensor must be the 3D of one or more elements.
    • Don’t use img=.
  • v2 is recommended to use according to V1 or V2? Which one should I use?.
<span>from</span> <span>torchvision.datasets</span> <span>import</span> <span>OxfordIIITPet</span>
<span>from</span> <span>torchvision.transforms.v2</span> <span>import</span> <span>Resize</span>
<span>from</span> <span>torchvision.transforms.functional</span> <span>import</span> <span>InterpolationMode</span>
<span>resize</span> <span>=</span> <span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>)</span>
<span>resize</span> <span>=</span> <span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>,</span>
<span>interpolation</span><span>=</span><span>InterpolationMode</span><span>.</span><span>BILINEAR</span><span>,</span>
<span>max_size</span><span>=</span><span>None</span><span>,</span>
<span>antialias</span><span>=</span><span>True</span><span>)</span>
<span>resize</span>
<span># Resize(size=[100], # interpolation=InterpolationMode.BILINEAR, # antialias=True) </span>
<span>resize</span><span>.</span><span>size</span>
<span># [100] </span>
<span>resize</span><span>.</span><span>interpolation</span>
<span># <InterpolationMode.BILINEAR: 'bilinear'> </span>
<span>print</span><span>(</span><span>resize</span><span>.</span><span>max_size</span><span>)</span>
<span># None </span>
<span>resize</span><span>.</span><span>antialias</span>
<span># True </span>
<span>origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>None</span>
<span>)</span>
<span>s1000_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `s` is size. </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1000</span><span>)</span>
<span># transform=Resize(size=[1000]) </span> <span># transform=Resize(size=[1000, 1000]) </span><span>)</span>
<span>s500_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>500</span><span>)</span>
<span>)</span>
<span>s100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>)</span>
<span>)</span>
<span>s50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>s10_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>10</span><span>)</span>
<span>)</span>
<span>s1_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1</span><span>)</span>
<span>)</span>
<span>s600_900_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>600</span><span>,</span> <span>900</span><span>])</span>
<span>)</span>
<span>s900_600_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>900</span><span>,</span> <span>600</span><span>])</span>
<span>)</span>
<span>s200_300_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>200</span><span>,</span> <span>300</span><span>])</span>
<span>)</span>
<span>s300_200_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>300</span><span>,</span> <span>200</span><span>])</span>
<span>)</span>
<span>s1000origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1000</span><span>)</span>
<span>)</span>
<span>s1000ms1100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `ms` is max_size. </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1000</span><span>,</span> <span>max_size</span><span>=</span><span>1100</span><span>)</span>
<span>)</span>
<span>sNonems1100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>None</span><span>,</span> <span>max_size</span><span>=</span><span>1100</span><span>)</span>
<span>)</span>
<span>s100origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>,</span> <span>max_size</span><span>=</span><span>110</span><span>)</span>
<span>)</span>
<span>s100ms110_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>,</span> <span>max_size</span><span>=</span><span>110</span><span>)</span>
<span>)</span>
<span>sNonems110_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
<span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>None</span><span>,</span> <span>max_size</span><span>=</span><span>110</span><span>)</span>
<span>)</span>
<span>import</span> <span>matplotlib.pyplot</span> <span>as</span> <span>plt</span>
<span>def</span> <span>show_images1</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>):</span>
<span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span>
<span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span>
<span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span>
<span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span>
<span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>im</span><span>)</span>
<span>plt</span><span>.</span><span>tight_layout</span><span>()</span>
<span>plt</span><span>.</span><span>show</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1000_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s500_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s500_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s10_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s600_900_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s600_900_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s900_600_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s900_600_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s600_900_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s200_300_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s900_600_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s300_200_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1000origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1000ms1100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000ms1100_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>sNonems1100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems1100_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s100origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s100ms110_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100ms110_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>sNonems110_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems110_data</span><span>"</span><span>)</span>
<span># ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ </span><span>def</span> <span>show_images2</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>,</span> <span>s</span><span>=</span><span>None</span><span>,</span>
<span>ip</span><span>=</span><span>InterpolationMode</span><span>.</span><span>BILINEAR</span><span>,</span>
<span>ms</span><span>=</span><span>None</span><span>,</span> <span>a</span><span>=</span><span>True</span><span>):</span>
<span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span>
<span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span>
<span>temp_s</span> <span>=</span> <span>s</span>
<span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span>
<span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span>
<span>if</span> <span>not</span> <span>temp_s</span> <span>and</span> <span>not</span> <span>ms</span><span>:</span>
<span>s</span> <span>=</span> <span>[</span><span>im</span><span>.</span><span>size</span><span>[</span><span>1</span><span>],</span> <span>im</span><span>.</span><span>size</span><span>[</span><span>0</span><span>]]</span>
<span>resize</span> <span>=</span> <span>Resize</span><span>(</span><span>size</span><span>=</span><span>s</span><span>,</span> <span>interpolation</span><span>=</span><span>ip</span><span>,</span> <span># Here </span> <span>max_size</span><span>=</span><span>ms</span><span>,</span> <span>antialias</span><span>=</span><span>a</span><span>)</span>
<span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>resize</span><span>(</span><span>im</span><span>))</span> <span># Here </span> <span>plt</span><span>.</span><span>tight_layout</span><span>()</span>
<span>plt</span><span>.</span><span>show</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1000</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s500_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>500</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>100</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s50_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>50</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s10_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>10</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s600_900_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>600</span><span>,</span> <span>900</span><span>])</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s900_600_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>900</span><span>,</span> <span>600</span><span>])</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s200_300_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>200</span><span>,</span> <span>300</span><span>])</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s300_200_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>300</span><span>,</span> <span>200</span><span>])</span>
<span>print</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000origin_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1000</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000ms1100_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1000</span><span>,</span>
<span>ms</span><span>=</span><span>1100</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems1100_data</span><span>"</span><span>,</span> <span>ms</span><span>=</span><span>1100</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100origin_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>100</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100ms110_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>100</span><span>,</span>
<span>ms</span><span>=</span><span>110</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems110_data</span><span>"</span><span>,</span> <span>ms</span><span>=</span><span>110</span><span>)</span>
<span>from</span> <span>torchvision.datasets</span> <span>import</span> <span>OxfordIIITPet</span>
<span>from</span> <span>torchvision.transforms.v2</span> <span>import</span> <span>Resize</span>
<span>from</span> <span>torchvision.transforms.functional</span> <span>import</span> <span>InterpolationMode</span>

<span>resize</span> <span>=</span> <span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>)</span>
<span>resize</span> <span>=</span> <span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>,</span>
                <span>interpolation</span><span>=</span><span>InterpolationMode</span><span>.</span><span>BILINEAR</span><span>,</span>
                <span>max_size</span><span>=</span><span>None</span><span>,</span>
                <span>antialias</span><span>=</span><span>True</span><span>)</span>
<span>resize</span>
<span># Resize(size=[100], # interpolation=InterpolationMode.BILINEAR, # antialias=True) </span>
<span>resize</span><span>.</span><span>size</span>
<span># [100] </span>
<span>resize</span><span>.</span><span>interpolation</span>
<span># <InterpolationMode.BILINEAR: 'bilinear'> </span>
<span>print</span><span>(</span><span>resize</span><span>.</span><span>max_size</span><span>)</span>
<span># None </span>
<span>resize</span><span>.</span><span>antialias</span>
<span># True </span>
<span>origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>None</span>
<span>)</span>

<span>s1000_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `s` is size. </span>    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1000</span><span>)</span>
    <span># transform=Resize(size=[1000]) </span>    <span># transform=Resize(size=[1000, 1000]) </span><span>)</span>

<span>s500_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>500</span><span>)</span>
<span>)</span>

<span>s100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>)</span>
<span>)</span>

<span>s50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>s10_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>10</span><span>)</span>
<span>)</span>

<span>s1_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1</span><span>)</span>
<span>)</span>

<span>s600_900_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>600</span><span>,</span> <span>900</span><span>])</span>
<span>)</span>

<span>s900_600_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>900</span><span>,</span> <span>600</span><span>])</span>
<span>)</span>

<span>s200_300_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>200</span><span>,</span> <span>300</span><span>])</span>
<span>)</span>

<span>s300_200_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>[</span><span>300</span><span>,</span> <span>200</span><span>])</span>
<span>)</span>

<span>s1000origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1000</span><span>)</span>
<span>)</span>

<span>s1000ms1100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `ms` is max_size. </span>    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>1000</span><span>,</span> <span>max_size</span><span>=</span><span>1100</span><span>)</span>
<span>)</span>

<span>sNonems1100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>None</span><span>,</span> <span>max_size</span><span>=</span><span>1100</span><span>)</span>
<span>)</span>

<span>s100origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>,</span> <span>max_size</span><span>=</span><span>110</span><span>)</span>
<span>)</span>

<span>s100ms110_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>100</span><span>,</span> <span>max_size</span><span>=</span><span>110</span><span>)</span>
<span>)</span>

<span>sNonems110_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span>
    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>Resize</span><span>(</span><span>size</span><span>=</span><span>None</span><span>,</span> <span>max_size</span><span>=</span><span>110</span><span>)</span>
<span>)</span>

<span>import</span> <span>matplotlib.pyplot</span> <span>as</span> <span>plt</span>

<span>def</span> <span>show_images1</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>):</span>
    <span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span>
    <span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span>
    <span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span>
        <span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span>
        <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>im</span><span>)</span>
    <span>plt</span><span>.</span><span>tight_layout</span><span>()</span>
    <span>plt</span><span>.</span><span>show</span><span>()</span>

<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1000_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s500_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s500_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s10_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s600_900_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s600_900_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s900_600_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s900_600_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s600_900_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s200_300_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s900_600_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s300_200_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1000origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s1000ms1100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000ms1100_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>sNonems1100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems1100_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s100origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>s100ms110_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100ms110_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>sNonems110_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems110_data</span><span>"</span><span>)</span>

<span># ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ </span><span>def</span> <span>show_images2</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>,</span> <span>s</span><span>=</span><span>None</span><span>,</span>
                 <span>ip</span><span>=</span><span>InterpolationMode</span><span>.</span><span>BILINEAR</span><span>,</span>
                 <span>ms</span><span>=</span><span>None</span><span>,</span> <span>a</span><span>=</span><span>True</span><span>):</span>
    <span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span>
    <span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span>
    <span>temp_s</span> <span>=</span> <span>s</span>
    <span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span>
        <span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span>
        <span>if</span> <span>not</span> <span>temp_s</span> <span>and</span> <span>not</span> <span>ms</span><span>:</span>
            <span>s</span> <span>=</span> <span>[</span><span>im</span><span>.</span><span>size</span><span>[</span><span>1</span><span>],</span> <span>im</span><span>.</span><span>size</span><span>[</span><span>0</span><span>]]</span>
        <span>resize</span> <span>=</span> <span>Resize</span><span>(</span><span>size</span><span>=</span><span>s</span><span>,</span> <span>interpolation</span><span>=</span><span>ip</span><span>,</span>  <span># Here </span>                        <span>max_size</span><span>=</span><span>ms</span><span>,</span> <span>antialias</span><span>=</span><span>a</span><span>)</span>
        <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>resize</span><span>(</span><span>im</span><span>))</span> <span># Here </span>    <span>plt</span><span>.</span><span>tight_layout</span><span>()</span>
    <span>plt</span><span>.</span><span>show</span><span>()</span>

<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1000</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s500_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>500</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>100</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s50_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>50</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s10_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>10</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s600_900_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>600</span><span>,</span> <span>900</span><span>])</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s900_600_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>900</span><span>,</span> <span>600</span><span>])</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s200_300_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>200</span><span>,</span> <span>300</span><span>])</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s300_200_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>[</span><span>300</span><span>,</span> <span>200</span><span>])</span>
<span>print</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000origin_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1000</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s1000ms1100_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>1000</span><span>,</span>
             <span>ms</span><span>=</span><span>1100</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems1100_data</span><span>"</span><span>,</span> <span>ms</span><span>=</span><span>1100</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100origin_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>100</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>s100ms110_data</span><span>"</span><span>,</span> <span>s</span><span>=</span><span>100</span><span>,</span>
             <span>ms</span><span>=</span><span>110</span><span>)</span>
<span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>sNonems110_data</span><span>"</span><span>,</span> <span>ms</span><span>=</span><span>110</span><span>)</span>
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import Resize from torchvision.transforms.functional import InterpolationMode resize = Resize(size=100) resize = Resize(size=100, interpolation=InterpolationMode.BILINEAR, max_size=None, antialias=True) resize # Resize(size=[100], # interpolation=InterpolationMode.BILINEAR, # antialias=True) resize.size # [100] resize.interpolation # <InterpolationMode.BILINEAR: 'bilinear'> print(resize.max_size) # None resize.antialias # True origin_data = OxfordIIITPet( root="data", transform=None ) s1000_data = OxfordIIITPet( # `s` is size. root="data", transform=Resize(size=1000) # transform=Resize(size=[1000]) # transform=Resize(size=[1000, 1000]) ) s500_data = OxfordIIITPet( root="data", transform=Resize(size=500) ) s100_data = OxfordIIITPet( root="data", transform=Resize(size=100) ) s50_data = OxfordIIITPet( root="data", transform=Resize(size=50) ) s10_data = OxfordIIITPet( root="data", transform=Resize(size=10) ) s1_data = OxfordIIITPet( root="data", transform=Resize(size=1) ) s600_900_data = OxfordIIITPet( root="data", transform=Resize(size=[600, 900]) ) s900_600_data = OxfordIIITPet( root="data", transform=Resize(size=[900, 600]) ) s200_300_data = OxfordIIITPet( root="data", transform=Resize(size=[200, 300]) ) s300_200_data = OxfordIIITPet( root="data", transform=Resize(size=[300, 200]) ) s1000origin_data = OxfordIIITPet( root="data", transform=Resize(size=1000) ) s1000ms1100_data = OxfordIIITPet( # `ms` is max_size. root="data", transform=Resize(size=1000, max_size=1100) ) sNonems1100_data = OxfordIIITPet( root="data", transform=Resize(size=None, max_size=1100) ) s100origin_data = OxfordIIITPet( root="data", transform=Resize(size=100, max_size=110) ) s100ms110_data = OxfordIIITPet( root="data", transform=Resize(size=100, max_size=110) ) sNonems110_data = OxfordIIITPet( root="data", transform=Resize(size=None, max_size=110) ) import matplotlib.pyplot as plt def show_images1(data, main_title=None): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) plt.imshow(X=im) plt.tight_layout() plt.show() show_images1(data=origin_data, main_title="origin_data") show_images1(data=s1000_data, main_title="s1000_data") show_images1(data=s500_data, main_title="s500_data") show_images1(data=s100_data, main_title="s100_data") show_images1(data=s50_data, main_title="s50_data") show_images1(data=s10_data, main_title="s10_data") show_images1(data=s1_data, main_title="s1_data") print() show_images1(data=origin_data, main_title="origin_data") show_images1(data=s600_900_data, main_title="s600_900_data") show_images1(data=s900_600_data, main_title="s900_600_data") show_images1(data=s600_900_data, main_title="s200_300_data") show_images1(data=s900_600_data, main_title="s300_200_data") print() show_images1(data=s1000origin_data, main_title="s1000origin_data") show_images1(data=s1000ms1100_data, main_title="s1000ms1100_data") show_images1(data=sNonems1100_data, main_title="sNonems1100_data") print() show_images1(data=s100origin_data, main_title="s100origin_data") show_images1(data=s100ms110_data, main_title="s100ms110_data") show_images1(data=sNonems110_data, main_title="sNonems110_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, s=None, ip=InterpolationMode.BILINEAR, ms=None, a=True): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) temp_s = s for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) if not temp_s and not ms: s = [im.size[1], im.size[0]] resize = Resize(size=s, interpolation=ip, # Here max_size=ms, antialias=a) plt.imshow(X=resize(im)) # Here plt.tight_layout() plt.show() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="s1000_data", s=1000) show_images2(data=origin_data, main_title="s500_data", s=500) show_images2(data=origin_data, main_title="s100_data", s=100) show_images2(data=origin_data, main_title="s50_data", s=50) show_images2(data=origin_data, main_title="s10_data", s=10) show_images2(data=origin_data, main_title="s1_data", s=1) print() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="s600_900_data", s=[600, 900]) show_images2(data=origin_data, main_title="s900_600_data", s=[900, 600]) show_images2(data=origin_data, main_title="s200_300_data", s=[200, 300]) show_images2(data=origin_data, main_title="s300_200_data", s=[300, 200]) print() show_images2(data=origin_data, main_title="s1000origin_data", s=1000) show_images2(data=origin_data, main_title="s1000ms1100_data", s=1000, ms=1100) show_images2(data=origin_data, main_title="sNonems1100_data", ms=1100) print() show_images2(data=origin_data, main_title="s100origin_data", s=100) show_images2(data=origin_data, main_title="s100ms110_data", s=100, ms=110) show_images2(data=origin_data, main_title="sNonems110_data", ms=110)

Enter fullscreen mode Exit fullscreen mode




原文链接:Resize in PyTorch

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
The shortest way to do many things is to only one thing at a time.
做许多事情的捷径就是一次只做一件一件事
评论 抢沙发

请登录后发表评论

    暂无评论内容