AugMix in PyTorch (8)

Buy Me a Coffee

*Memos:

AugMix() can randomly do AugMix to an image as shown below. *It’s about chain_depth argument (1):

<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>AugMix</span>
<span>from</span> <span>torchvision.transforms.functional</span> <span>import</span> <span>InterpolationMode</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>cd0_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `cd` is chain_depth. </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>0</span><span>)</span>
<span>)</span>
<span>cd1_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>1</span><span>)</span>
<span>)</span>
<span>cd2_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>2</span><span>)</span>
<span>)</span>
<span>cd5_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>5</span><span>)</span>
<span>)</span>
<span>cd10_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>10</span><span>)</span>
<span>)</span>
<span>cd25_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>25</span><span>)</span>
<span>)</span>
<span>cd50_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>50</span><span>)</span>
<span>)</span>
<span>cdn1_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `n` is negative. </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
<span>transform</span><span>=</span><span>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>1</span><span>)</span>
<span>)</span>
<span>cdn2_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>2</span><span>)</span>
<span>)</span>
<span>cdn5_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>5</span><span>)</span>
<span>)</span>
<span>cdn10_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>10</span><span>)</span>
<span>)</span>
<span>cdn25_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>25</span><span>)</span>
<span>)</span>
<span>cdn50_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>AugMix</span><span>(</span><span>chain_depth</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>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd0_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd1_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd2_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd2_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd5_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd5_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd10_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd25_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd25_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd50_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd0_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn1_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn2_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn2_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn5_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn5_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn10_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn25_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn25_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn50_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>3</span><span>,</span> <span>mw</span><span>=</span><span>3</span><span>,</span> <span>cd</span><span>=-</span><span>1</span><span>,</span> <span>a</span><span>=</span><span>1.0</span><span>,</span>
<span>ao</span><span>=</span><span>True</span><span>,</span> <span>ip</span><span>=</span><span>InterpolationMode</span><span>.</span><span>BILINEAR</span><span>,</span> <span>f</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>if</span> <span>main_title</span> <span>!=</span> <span>"</span><span>origin_data</span><span>"</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>am</span> <span>=</span> <span>AugMix</span><span>(</span><span>severity</span><span>=</span><span>s</span><span>,</span> <span>mixture_width</span><span>=</span><span>mw</span><span>,</span> <span>chain_depth</span><span>=</span><span>cd</span><span>,</span>
<span>alpha</span><span>=</span><span>a</span><span>,</span> <span>all_ops</span><span>=</span><span>ao</span><span>,</span> <span>interpolation</span><span>=</span><span>ip</span><span>,</span> <span>fill</span><span>=</span><span>f</span><span>)</span>
<span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>am</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>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>cd0_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>0</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>cd1_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>1</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>cd2_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>2</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>cd5_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>5</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>cd10_data</span><span>"</span><span>,</span> <span>cd</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>cd25_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>25</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>cd50_data</span><span>"</span><span>,</span> <span>cd</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>cd0_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>0</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>cdn1_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>1</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>cdn2_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>2</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>cdn5_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>5</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>cdn10_data</span><span>"</span><span>,</span> <span>cd</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>cdn25_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>25</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>cdn50_data</span><span>"</span><span>,</span> <span>cd</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>AugMix</span>
<span>from</span> <span>torchvision.transforms.functional</span> <span>import</span> <span>InterpolationMode</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>cd0_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `cd` is chain_depth. </span>    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>0</span><span>)</span>
<span>)</span>

<span>cd1_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>1</span><span>)</span>
<span>)</span>

<span>cd2_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>2</span><span>)</span>
<span>)</span>

<span>cd5_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>5</span><span>)</span>
<span>)</span>

<span>cd10_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>10</span><span>)</span>
<span>)</span>

<span>cd25_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>25</span><span>)</span>
<span>)</span>

<span>cd50_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>AugMix</span><span>(</span><span>chain_depth</span><span>=</span><span>50</span><span>)</span>
<span>)</span>

<span>cdn1_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `n` is negative. </span>    <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span>
    <span>transform</span><span>=</span><span>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>1</span><span>)</span>
<span>)</span>

<span>cdn2_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>2</span><span>)</span>
<span>)</span>

<span>cdn5_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>5</span><span>)</span>
<span>)</span>

<span>cdn10_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>10</span><span>)</span>
<span>)</span>

<span>cdn25_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>AugMix</span><span>(</span><span>chain_depth</span><span>=-</span><span>25</span><span>)</span>
<span>)</span>

<span>cdn50_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>AugMix</span><span>(</span><span>chain_depth</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>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd0_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd1_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd2_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd2_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd5_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd5_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd10_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd25_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd25_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd50_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cd0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cd0_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn1_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn2_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn2_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn5_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn5_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn10_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn25_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn25_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>cdn50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>cdn50_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>3</span><span>,</span> <span>mw</span><span>=</span><span>3</span><span>,</span> <span>cd</span><span>=-</span><span>1</span><span>,</span> <span>a</span><span>=</span><span>1.0</span><span>,</span>
                 <span>ao</span><span>=</span><span>True</span><span>,</span> <span>ip</span><span>=</span><span>InterpolationMode</span><span>.</span><span>BILINEAR</span><span>,</span> <span>f</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>if</span> <span>main_title</span> <span>!=</span> <span>"</span><span>origin_data</span><span>"</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>am</span> <span>=</span> <span>AugMix</span><span>(</span><span>severity</span><span>=</span><span>s</span><span>,</span> <span>mixture_width</span><span>=</span><span>mw</span><span>,</span> <span>chain_depth</span><span>=</span><span>cd</span><span>,</span>
                        <span>alpha</span><span>=</span><span>a</span><span>,</span> <span>all_ops</span><span>=</span><span>ao</span><span>,</span> <span>interpolation</span><span>=</span><span>ip</span><span>,</span> <span>fill</span><span>=</span><span>f</span><span>)</span>
            <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>am</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>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>cd0_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>0</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>cd1_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>1</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>cd2_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>2</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>cd5_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>5</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>cd10_data</span><span>"</span><span>,</span> <span>cd</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>cd25_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>25</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>cd50_data</span><span>"</span><span>,</span> <span>cd</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>cd0_data</span><span>"</span><span>,</span> <span>cd</span><span>=</span><span>0</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>cdn1_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>1</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>cdn2_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>2</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>cdn5_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>5</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>cdn10_data</span><span>"</span><span>,</span> <span>cd</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>cdn25_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>25</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>cdn50_data</span><span>"</span><span>,</span> <span>cd</span><span>=-</span><span>50</span><span>)</span>
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import AugMix from torchvision.transforms.functional import InterpolationMode origin_data = OxfordIIITPet( root="data", transform=None ) cd0_data = OxfordIIITPet( # `cd` is chain_depth. root="data", transform=AugMix(chain_depth=0) ) cd1_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=1) ) cd2_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=2) ) cd5_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=5) ) cd10_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=10) ) cd25_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=25) ) cd50_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=50) ) cdn1_data = OxfordIIITPet( # `n` is negative. root="data", transform=AugMix(chain_depth=-1) ) cdn2_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=-2) ) cdn5_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=-5) ) cdn10_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=-10) ) cdn25_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=-25) ) cdn50_data = OxfordIIITPet( root="data", transform=AugMix(chain_depth=-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") print() show_images1(data=cd0_data, main_title="cd0_data") show_images1(data=cd1_data, main_title="cd1_data") show_images1(data=cd2_data, main_title="cd2_data") show_images1(data=cd5_data, main_title="cd5_data") show_images1(data=cd10_data, main_title="cd10_data") show_images1(data=cd25_data, main_title="cd25_data") show_images1(data=cd50_data, main_title="cd50_data") print() show_images1(data=cd0_data, main_title="cd0_data") show_images1(data=cdn1_data, main_title="cdn1_data") show_images1(data=cdn2_data, main_title="cdn2_data") show_images1(data=cdn5_data, main_title="cdn5_data") show_images1(data=cdn10_data, main_title="cdn10_data") show_images1(data=cdn25_data, main_title="cdn25_data") show_images1(data=cdn50_data, main_title="cdn50_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, s=3, mw=3, cd=-1, a=1.0, ao=True, ip=InterpolationMode.BILINEAR, f=None): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) if main_title != "origin_data": for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) am = AugMix(severity=s, mixture_width=mw, chain_depth=cd, alpha=a, all_ops=ao, interpolation=ip, fill=f) plt.imshow(X=am(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") print() show_images2(data=origin_data, main_title="cd0_data", cd=0) show_images2(data=origin_data, main_title="cd1_data", cd=1) show_images2(data=origin_data, main_title="cd2_data", cd=2) show_images2(data=origin_data, main_title="cd5_data", cd=5) show_images2(data=origin_data, main_title="cd10_data", cd=10) show_images2(data=origin_data, main_title="cd25_data", cd=25) show_images2(data=origin_data, main_title="cd50_data", cd=50) print() show_images2(data=origin_data, main_title="cd0_data", cd=0) show_images2(data=origin_data, main_title="cdn1_data", cd=-1) show_images2(data=origin_data, main_title="cdn2_data", cd=-2) show_images2(data=origin_data, main_title="cdn5_data", cd=-5) show_images2(data=origin_data, main_title="cdn10_data", cd=-10) show_images2(data=origin_data, main_title="cdn25_data", cd=-25) show_images2(data=origin_data, main_title="cdn50_data", cd=-50)

Enter fullscreen mode Exit fullscreen mode



原文链接:AugMix in PyTorch (8)

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
No matter how complicated your life is, you have to maintain your elegance.
不论生活如何复杂,总要保持自己的那一份优雅
评论 抢沙发

请登录后发表评论

    暂无评论内容