GaussianBlur in PyTorch (3)

Buy Me a Coffee

*Memos:

GaussianBlur() can randomly blur an image as shown below:

<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>GaussianBlur</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>ks1_1s50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `ks` is kernel_size and `s` is sigma. </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks1_5s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>5</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks1_11s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>11</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks1_51s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>51</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks1_101s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>101</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks1_501s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>501</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks1_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks5_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>5</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks11_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>11</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks51_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>51</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks101_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>101</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>ks501_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>501</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</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>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
<span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</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>ks1_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_5s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_5s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_11s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_11s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_51s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_51s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_101s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_101s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_501s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_501s50_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>ks1_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks5_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks5_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks11_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks11_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks51_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks51_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks101_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks101_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks501_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks501_1s50_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>ks</span><span>=</span><span>None</span><span>,</span> <span>s</span><span>=</span><span>(</span><span>0.1</span><span>,</span> <span>2.0</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>if</span> <span>ks</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>gb</span> <span>=</span> <span>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>ks</span><span>,</span> <span>sigma</span><span>=</span><span>s</span><span>)</span>
<span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>gb</span><span>(</span><span>im</span><span>))</span>
<span>plt</span><span>.</span><span>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
<span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
<span>else</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>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
<span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</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_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>ks1_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</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>ks1_5s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>5</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>ks1_11s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>11</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>ks1_51s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>51</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>ks1_101s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>101</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>ks1_501s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>501</span><span>],</span>
<span>s</span><span>=</span><span>50</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>ks1_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</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>ks5_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>5</span><span>,</span> <span>1</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>ks11_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>11</span><span>,</span> <span>1</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>ks51_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>51</span><span>,</span> <span>1</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>ks101_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>101</span><span>,</span> <span>1</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>ks501_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>501</span><span>,</span> <span>1</span><span>],</span>
<span>s</span><span>=</span><span>50</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>GaussianBlur</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>ks1_1s50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `ks` is kernel_size and `s` is sigma. </span>    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks1_5s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>5</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks1_11s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>11</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks1_51s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>51</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks1_101s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>101</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks1_501s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>501</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks1_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks5_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>5</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks11_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>11</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks51_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>51</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks101_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>101</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>ks501_1s50_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>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>[</span><span>501</span><span>,</span> <span>1</span><span>],</span> <span>sigma</span><span>=</span><span>50</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>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
        <span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</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>ks1_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_5s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_5s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_11s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_11s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_51s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_51s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_101s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_101s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks1_501s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_501s50_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>ks1_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks1_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks5_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks5_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks11_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks11_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks51_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks51_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks101_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks101_1s50_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>ks501_1s50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>ks501_1s50_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>ks</span><span>=</span><span>None</span><span>,</span> <span>s</span><span>=</span><span>(</span><span>0.1</span><span>,</span> <span>2.0</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>if</span> <span>ks</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>gb</span> <span>=</span> <span>GaussianBlur</span><span>(</span><span>kernel_size</span><span>=</span><span>ks</span><span>,</span> <span>sigma</span><span>=</span><span>s</span><span>)</span>
            <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>gb</span><span>(</span><span>im</span><span>))</span>
            <span>plt</span><span>.</span><span>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
            <span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
    <span>else</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>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span>
            <span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</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_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>ks1_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</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>ks1_5s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>5</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>ks1_11s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>11</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>ks1_51s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>51</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>ks1_101s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>101</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>ks1_501s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>501</span><span>],</span>
             <span>s</span><span>=</span><span>50</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>ks1_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>1</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>ks5_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>5</span><span>,</span> <span>1</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>ks11_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>11</span><span>,</span> <span>1</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>ks51_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>51</span><span>,</span> <span>1</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>ks101_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>101</span><span>,</span> <span>1</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>ks501_1s50_data</span><span>"</span><span>,</span> <span>ks</span><span>=</span><span>[</span><span>501</span><span>,</span> <span>1</span><span>],</span>
             <span>s</span><span>=</span><span>50</span><span>)</span>
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import GaussianBlur origin_data = OxfordIIITPet( root="data", transform=None ) ks1_1s50_data = OxfordIIITPet( # `ks` is kernel_size and `s` is sigma. root="data", transform=GaussianBlur(kernel_size=[1, 1], sigma=50) ) ks1_5s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 5], sigma=50) ) ks1_11s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 11], sigma=50) ) ks1_51s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 51], sigma=50) ) ks1_101s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 101], sigma=50) ) ks1_501s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 501], sigma=50) ) ks1_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[1, 1], sigma=50) ) ks5_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[5, 1], sigma=50) ) ks11_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[11, 1], sigma=50) ) ks51_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[51, 1], sigma=50) ) ks101_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[101, 1], sigma=50) ) ks501_1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=[501, 1], sigma=50) ) 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.xticks(ticks=[]) plt.yticks(ticks=[]) plt.tight_layout() plt.show() show_images1(data=origin_data, main_title="origin_data") show_images1(data=ks1_1s50_data, main_title="ks1_1s50_data") show_images1(data=ks1_5s50_data, main_title="ks1_5s50_data") show_images1(data=ks1_11s50_data, main_title="ks1_11s50_data") show_images1(data=ks1_51s50_data, main_title="ks1_51s50_data") show_images1(data=ks1_101s50_data, main_title="ks1_101s50_data") show_images1(data=ks1_501s50_data, main_title="ks1_501s50_data") print() show_images1(data=origin_data, main_title="origin_data") show_images1(data=ks1_1s50_data, main_title="ks1_1s50_data") show_images1(data=ks5_1s50_data, main_title="ks5_1s50_data") show_images1(data=ks11_1s50_data, main_title="ks11_1s50_data") show_images1(data=ks51_1s50_data, main_title="ks51_1s50_data") show_images1(data=ks101_1s50_data, main_title="ks101_1s50_data") show_images1(data=ks501_1s50_data, main_title="ks501_1s50_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) if ks: for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) gb = GaussianBlur(kernel_size=ks, sigma=s) plt.imshow(X=gb(im)) plt.xticks(ticks=[]) plt.yticks(ticks=[]) else: for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) plt.imshow(X=im) plt.xticks(ticks=[]) plt.yticks(ticks=[]) plt.tight_layout() plt.show() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="ks1_1s50_data", ks=[1, 1], s=50) show_images2(data=origin_data, main_title="ks1_5s50_data", ks=[1, 5], s=50) show_images2(data=origin_data, main_title="ks1_11s50_data", ks=[1, 11], s=50) show_images2(data=origin_data, main_title="ks1_51s50_data", ks=[1, 51], s=50) show_images2(data=origin_data, main_title="ks1_101s50_data", ks=[1, 101], s=50) show_images2(data=origin_data, main_title="ks1_501s50_data", ks=[1, 501], s=50) print() show_images2(data=origin_data, main_title="origin_data") show_images2(data=origin_data, main_title="ks1_1s50_data", ks=[1, 1], s=50) show_images2(data=origin_data, main_title="ks5_1s50_data", ks=[5, 1], s=50) show_images2(data=origin_data, main_title="ks11_1s50_data", ks=[11, 1], s=50) show_images2(data=origin_data, main_title="ks51_1s50_data", ks=[51, 1], s=50) show_images2(data=origin_data, main_title="ks101_1s50_data", ks=[101, 1], s=50) show_images2(data=origin_data, main_title="ks501_1s50_data", ks=[501, 1], s=50)

Enter fullscreen mode Exit fullscreen mode


原文链接:GaussianBlur in PyTorch (3)

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
Stop cheating on your future with your past... it's over.
别再用你的过去欺骗你的未来,过去已经过去了
评论 抢沙发

请登录后发表评论

    暂无评论内容