ColorJitter in PyTorch (4)

Buy Me a Coffee

*Memos:

ColorJitter() can randomly change the brightness, contrast, saturation and hue of 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>ColorJitter</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>huen05_05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>0.5</span><span>])</span>
<span># transform=ColorJitter(hue=0.5) </span><span>)</span>
<span>huen05_0_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>0</span><span>])</span>
<span>)</span>
<span>hue0_05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0</span><span>,</span> <span>0.5</span><span>])</span>
<span>)</span>
<span>hue01_01_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.1</span><span>,</span> <span>0.1</span><span>])</span>
<span>)</span>
<span>hue02_02_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.2</span><span>,</span> <span>0.2</span><span>])</span>
<span>)</span>
<span>hue03_03_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.3</span><span>,</span> <span>0.3</span><span>])</span>
<span>)</span>
<span>hue04_04_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.4</span><span>,</span> <span>0.4</span><span>])</span>
<span>)</span>
<span>hue05_05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.5</span><span>,</span> <span>0.5</span><span>])</span>
<span>)</span>
<span>huen01n01_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.1</span><span>,</span> <span>-</span><span>0.1</span><span>])</span>
<span>)</span>
<span>huen02n02_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.2</span><span>,</span> <span>-</span><span>0.2</span><span>])</span>
<span>)</span>
<span>huen03n03_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.3</span><span>,</span> <span>-</span><span>0.3</span><span>])</span>
<span>)</span>
<span>huen04n04_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.4</span><span>,</span> <span>-</span><span>0.4</span><span>])</span>
<span>)</span>
<span>huen05n05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>-</span><span>0.5</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>hue0_0origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_0origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen05_05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen05_05_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen05_0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen05_0_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue0_05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_05_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue0_0origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_0origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue01_01_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue01_01_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue02_02_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue02_02_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue03_03_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue03_03_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue04_04_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue04_04_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue05_05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue05_05_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue0_0origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_0origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen01n01_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen01n01_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen02n02_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen02n02_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen03n03_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen03n03_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen04n04_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen04n04_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen05n05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen05n05_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>b</span><span>=</span><span>0</span><span>,</span> <span>c</span><span>=</span><span>0</span><span>,</span> <span>s</span><span>=</span><span>0</span><span>,</span> <span>h</span><span>=</span><span>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>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>cj</span> <span>=</span> <span>ColorJitter</span><span>(</span><span>brightness</span><span>=</span><span>b</span><span>,</span> <span>contrast</span><span>=</span><span>c</span><span>,</span> <span># Here </span> <span>saturation</span><span>=</span><span>s</span><span>,</span> <span>hue</span><span>=</span><span>h</span><span>)</span>
<span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>cj</span><span>(</span><span>im</span><span>))</span> <span># Here </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>hue0_0origin_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</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>huen05_05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>0.5</span><span>])</span>
<span># ↑ show_images2(data=origin_data, main_title="huen05_data", h=0.5) </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>huen05_0_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.5</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>hue0_05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</span><span>,</span> <span>0.5</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>hue0_0origin_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</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>hue01_01_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.1</span><span>,</span> <span>0.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>hue02_02_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.2</span><span>,</span> <span>0.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>hue03_03_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.3</span><span>,</span> <span>0.3</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>hue04_04_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.4</span><span>,</span> <span>0.4</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>hue05_05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.5</span><span>,</span> <span>0.5</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>hue0_0origin_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</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>huen01n01_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.1</span><span>,</span> <span>-</span><span>0.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>huen02n02_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.2</span><span>,</span> <span>-</span><span>0.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>huen03n03_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.3</span><span>,</span> <span>-</span><span>0.3</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>huen04n04_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.4</span><span>,</span> <span>-</span><span>0.4</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>huen05n05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>-</span><span>0.5</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>ColorJitter</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>huen05_05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>0.5</span><span>])</span>
    <span># transform=ColorJitter(hue=0.5) </span><span>)</span>

<span>huen05_0_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>0</span><span>])</span>
<span>)</span>

<span>hue0_05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0</span><span>,</span> <span>0.5</span><span>])</span>
<span>)</span>

<span>hue01_01_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.1</span><span>,</span> <span>0.1</span><span>])</span>
<span>)</span>

<span>hue02_02_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.2</span><span>,</span> <span>0.2</span><span>])</span>
<span>)</span>

<span>hue03_03_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.3</span><span>,</span> <span>0.3</span><span>])</span>
<span>)</span>

<span>hue04_04_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.4</span><span>,</span> <span>0.4</span><span>])</span>
<span>)</span>

<span>hue05_05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>0.5</span><span>,</span> <span>0.5</span><span>])</span>
<span>)</span>

<span>huen01n01_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.1</span><span>,</span> <span>-</span><span>0.1</span><span>])</span>
<span>)</span>

<span>huen02n02_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.2</span><span>,</span> <span>-</span><span>0.2</span><span>])</span>
<span>)</span>

<span>huen03n03_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.3</span><span>,</span> <span>-</span><span>0.3</span><span>])</span>
<span>)</span>

<span>huen04n04_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.4</span><span>,</span> <span>-</span><span>0.4</span><span>])</span>
<span>)</span>

<span>huen05n05_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>ColorJitter</span><span>(</span><span>hue</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>-</span><span>0.5</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>hue0_0origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_0origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen05_05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen05_05_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen05_0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen05_0_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue0_05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_05_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue0_0origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_0origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue01_01_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue01_01_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue02_02_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue02_02_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue03_03_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue03_03_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue04_04_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue04_04_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue05_05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue05_05_data</span><span>"</span><span>)</span>
<span>print</span><span>()</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>hue0_0origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>hue0_0origin_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen01n01_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen01n01_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen02n02_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen02n02_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen03n03_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen03n03_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen04n04_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen04n04_data</span><span>"</span><span>)</span>
<span>show_images1</span><span>(</span><span>data</span><span>=</span><span>huen05n05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>huen05n05_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>b</span><span>=</span><span>0</span><span>,</span> <span>c</span><span>=</span><span>0</span><span>,</span> <span>s</span><span>=</span><span>0</span><span>,</span> <span>h</span><span>=</span><span>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>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>cj</span> <span>=</span> <span>ColorJitter</span><span>(</span><span>brightness</span><span>=</span><span>b</span><span>,</span> <span>contrast</span><span>=</span><span>c</span><span>,</span> <span># Here </span>                         <span>saturation</span><span>=</span><span>s</span><span>,</span> <span>hue</span><span>=</span><span>h</span><span>)</span>
        <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>cj</span><span>(</span><span>im</span><span>))</span> <span># Here </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>hue0_0origin_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</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>huen05_05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>0.5</span><span>])</span>
<span># ↑ show_images2(data=origin_data, main_title="huen05_data", h=0.5) </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>huen05_0_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.5</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>hue0_05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</span><span>,</span> <span>0.5</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>hue0_0origin_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</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>hue01_01_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.1</span><span>,</span> <span>0.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>hue02_02_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.2</span><span>,</span> <span>0.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>hue03_03_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.3</span><span>,</span> <span>0.3</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>hue04_04_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.4</span><span>,</span> <span>0.4</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>hue05_05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0.5</span><span>,</span> <span>0.5</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>hue0_0origin_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>0</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>huen01n01_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.1</span><span>,</span> <span>-</span><span>0.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>huen02n02_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.2</span><span>,</span> <span>-</span><span>0.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>huen03n03_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.3</span><span>,</span> <span>-</span><span>0.3</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>huen04n04_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.4</span><span>,</span> <span>-</span><span>0.4</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>huen05n05_data</span><span>"</span><span>,</span> <span>h</span><span>=</span><span>[</span><span>-</span><span>0.5</span><span>,</span> <span>-</span><span>0.5</span><span>])</span>
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import ColorJitter origin_data = OxfordIIITPet( root="data", transform=None ) huen05_05_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.5, 0.5]) # transform=ColorJitter(hue=0.5) ) huen05_0_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.5, 0]) ) hue0_05_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[0, 0.5]) ) hue01_01_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[0.1, 0.1]) ) hue02_02_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[0.2, 0.2]) ) hue03_03_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[0.3, 0.3]) ) hue04_04_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[0.4, 0.4]) ) hue05_05_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[0.5, 0.5]) ) huen01n01_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.1, -0.1]) ) huen02n02_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.2, -0.2]) ) huen03n03_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.3, -0.3]) ) huen04n04_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.4, -0.4]) ) huen05n05_data = OxfordIIITPet( root="data", transform=ColorJitter(hue=[-0.5, -0.5]) ) 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=hue0_0origin_data, main_title="hue0_0origin_data") show_images1(data=huen05_05_data, main_title="huen05_05_data") show_images1(data=huen05_0_data, main_title="huen05_0_data") show_images1(data=hue0_05_data, main_title="hue0_05_data") print() show_images1(data=hue0_0origin_data, main_title="hue0_0origin_data") show_images1(data=hue01_01_data, main_title="hue01_01_data") show_images1(data=hue02_02_data, main_title="hue02_02_data") show_images1(data=hue03_03_data, main_title="hue03_03_data") show_images1(data=hue04_04_data, main_title="hue04_04_data") show_images1(data=hue05_05_data, main_title="hue05_05_data") print() show_images1(data=hue0_0origin_data, main_title="hue0_0origin_data") show_images1(data=huen01n01_data, main_title="huen01n01_data") show_images1(data=huen02n02_data, main_title="huen02n02_data") show_images1(data=huen03n03_data, main_title="huen03n03_data") show_images1(data=huen04n04_data, main_title="huen04n04_data") show_images1(data=huen05n05_data, main_title="huen05n05_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, b=0, c=0, s=0, h=0): 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) cj = ColorJitter(brightness=b, contrast=c, # Here saturation=s, hue=h) plt.imshow(X=cj(im)) # Here 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="hue0_0origin_data", h=[0, 0]) show_images2(data=origin_data, main_title="huen05_05_data", h=[-0.5, 0.5]) # ↑ show_images2(data=origin_data, main_title="huen05_data", h=0.5) show_images2(data=origin_data, main_title="huen05_0_data", h=[-0.5, 0]) show_images2(data=origin_data, main_title="hue0_05_data", h=[0, 0.5]) print() show_images2(data=origin_data, main_title="hue0_0origin_data", h=[0, 0]) show_images2(data=origin_data, main_title="hue01_01_data", h=[0.1, 0.1]) show_images2(data=origin_data, main_title="hue02_02_data", h=[0.2, 0.2]) show_images2(data=origin_data, main_title="hue03_03_data", h=[0.3, 0.3]) show_images2(data=origin_data, main_title="hue04_04_data", h=[0.4, 0.4]) show_images2(data=origin_data, main_title="hue05_05_data", h=[0.5, 0.5]) print() show_images2(data=origin_data, main_title="hue0_0origin_data", h=[0, 0]) show_images2(data=origin_data, main_title="huen01n01_data", h=[-0.1, -0.1]) show_images2(data=origin_data, main_title="huen02n02_data", h=[-0.2, -0.2]) show_images2(data=origin_data, main_title="huen03n03_data", h=[-0.3, -0.3]) show_images2(data=origin_data, main_title="huen04n04_data", h=[-0.4, -0.4]) show_images2(data=origin_data, main_title="huen05n05_data", h=[-0.5, -0.5])

Enter fullscreen mode Exit fullscreen mode




原文链接:ColorJitter in PyTorch (4)

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
I'm not lazy, I'm on energy saving mode.
我不懒,我只是开启了节能模式
评论 抢沙发

请登录后发表评论

    暂无评论内容