*Memos:
- My post explains OxfordIIITPet().
RandomAutocontrast() can randomly autocontrast an image with a given probability as shown below:
*Memos:
- The 1st argument for initialization is
p
(Optional-Default:0.5
-Type:int
orfloat
): *Memos:- It’s the probability of whether an image is inverted or not.
- It must be
0 <= x <= 1
.
- The 1st argument is
img
(Required-Type:PIL Image
ortensor
(int
)): *Memos:- A tensor must be 3D.
- Don’t use
img=
.
-
v2
is recommended to use according to V1 or V2? Which one should I use?.
<span>from</span> <span>torchvision.datasets</span> <span>import</span> <span>OxfordIIITPet</span><span>from</span> <span>torchvision.transforms.v2</span> <span>import</span> <span>RandomAutocontrast</span><span>randomautocontrast</span> <span>=</span> <span>RandomAutocontrast</span><span>()</span><span>randomautocontrast</span> <span>=</span> <span>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>0.5</span><span>)</span><span>randomautocontrast</span><span># RandomAutocontrast(p=0.5) </span><span>randomautocontrast</span><span>.</span><span>p</span><span># 0.5 </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>p0_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>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>0</span><span>)</span><span>)</span><span>p05_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>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>0.5</span><span>)</span><span># transform=RandomAutocontrast() </span><span>)</span><span>p1_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>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>1</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>p0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p0_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p0_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p0_data</span><span>"</span><span>)</span><span>print</span><span>()</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p05_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p05_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p05_data</span><span>"</span><span>)</span><span>print</span><span>()</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p1_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p1_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p1_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>prob</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>ra</span> <span>=</span> <span>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>prob</span><span>)</span><span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>ra</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>p0_data</span><span>"</span><span>,</span> <span>prob</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>p0_data</span><span>"</span><span>,</span> <span>prob</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>p0_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>0</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>p05_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>0.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>p05_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>0.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>p05_data</span><span>"</span><span>,</span> <span>prob</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>p1_data</span><span>"</span><span>,</span> <span>prob</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>p1_data</span><span>"</span><span>,</span> <span>prob</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>p1_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>1</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>RandomAutocontrast</span> <span>randomautocontrast</span> <span>=</span> <span>RandomAutocontrast</span><span>()</span> <span>randomautocontrast</span> <span>=</span> <span>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>0.5</span><span>)</span> <span>randomautocontrast</span> <span># RandomAutocontrast(p=0.5) </span> <span>randomautocontrast</span><span>.</span><span>p</span> <span># 0.5 </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>p0_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>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>0</span><span>)</span> <span>)</span> <span>p05_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>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>0.5</span><span>)</span> <span># transform=RandomAutocontrast() </span><span>)</span> <span>p1_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>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>1</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>p0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p0_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p0_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p0_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p0_data</span><span>"</span><span>)</span> <span>print</span><span>()</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p05_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p05_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p05_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p05_data</span><span>"</span><span>)</span> <span>print</span><span>()</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p1_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p1_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>p1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>p1_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>prob</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>ra</span> <span>=</span> <span>RandomAutocontrast</span><span>(</span><span>p</span><span>=</span><span>prob</span><span>)</span> <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>ra</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>p0_data</span><span>"</span><span>,</span> <span>prob</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>p0_data</span><span>"</span><span>,</span> <span>prob</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>p0_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>0</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>p05_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>0.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>p05_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>0.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>p05_data</span><span>"</span><span>,</span> <span>prob</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>p1_data</span><span>"</span><span>,</span> <span>prob</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>p1_data</span><span>"</span><span>,</span> <span>prob</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>p1_data</span><span>"</span><span>,</span> <span>prob</span><span>=</span><span>1</span><span>)</span>from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import RandomAutocontrast randomautocontrast = RandomAutocontrast() randomautocontrast = RandomAutocontrast(p=0.5) randomautocontrast # RandomAutocontrast(p=0.5) randomautocontrast.p # 0.5 origin_data = OxfordIIITPet( root="data", transform=None ) p0_data = OxfordIIITPet( root="data", transform=RandomAutocontrast(p=0) ) p05_data = OxfordIIITPet( root="data", transform=RandomAutocontrast(p=0.5) # transform=RandomAutocontrast() ) p1_data = OxfordIIITPet( root="data", transform=RandomAutocontrast(p=1) ) 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=p0_data, main_title="p0_data") show_images1(data=p0_data, main_title="p0_data") show_images1(data=p0_data, main_title="p0_data") print() show_images1(data=p05_data, main_title="p05_data") show_images1(data=p05_data, main_title="p05_data") show_images1(data=p05_data, main_title="p05_data") print() show_images1(data=p1_data, main_title="p1_data") show_images1(data=p1_data, main_title="p1_data") show_images1(data=p1_data, main_title="p1_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, prob=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) ra = RandomAutocontrast(p=prob) plt.imshow(X=ra(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="p0_data", prob=0) show_images2(data=origin_data, main_title="p0_data", prob=0) show_images2(data=origin_data, main_title="p0_data", prob=0) print() show_images2(data=origin_data, main_title="p05_data", prob=0.5) show_images2(data=origin_data, main_title="p05_data", prob=0.5) show_images2(data=origin_data, main_title="p05_data", prob=0.5) print() show_images2(data=origin_data, main_title="p1_data", prob=1) show_images2(data=origin_data, main_title="p1_data", prob=1) show_images2(data=origin_data, main_title="p1_data", prob=1)
Enter fullscreen mode Exit fullscreen mode
© 版权声明
THE END
暂无评论内容