pytorch中的隨機克羅普(1)
給我買咖啡☕
*備忘錄:
- 我的帖子解釋了牛津iiitpet()。
Randomcrop()可以隨機裁剪圖像,如下所示:
- >初始化的第一個參數是大小(必需類型:int或tuple/list/list(int)或size()):
*備忘錄:
-
- 是[高度,寬度]。
- 必須是1< = x。
-
元組/列表必須是具有1或2個元素的1D。 單個值(int或tuple/list(int))是指[size,size]。 - >初始化的第二個參數是填充(可選默認:非類型:int或tuple/list(int)): *備忘錄:
一個元組/列表必須是1D,具有1、2或4個元素。 單個值(int或tuple/list(int))是指[填充,填充,填充,填充]。 -
- > double值(元組/列表(int))表示[填充[0],填充[1],填充[0],填充[1]。
- 初始化的第三個參數是pad_if_needed(可選默認:false-type:bool):
- 如果是錯誤的,並且大小小於原始圖像或填充圖像的填充圖像,則出現錯誤。 >
- 如果它的真實且大小小於原始圖像或填充圖像的填充圖像,則沒有錯誤,則該圖像被隨機填充以變為尺寸。
- 初始化的第四個參數是填充(可選默認:0型:int,float或tuple/tuple/list(int或float)):
*備忘錄:
- >它可以更改圖像的背景。 *當圖像被正面填充時,可以看到背景。
- 元組/列表必須是具有1或3個元素的1D。
初始化的第五個參數是padding_mode(可選默認:'constant'-type:str)。 *可以將其設置為 *'常數','edge',“反射”或“對稱”。 - >
- 第一個參數是img(必需類型:pil圖像或張量(int)):
*備忘錄:
- 張量必須為2D或3D。
- 不使用img =。
- 建議根據V1或V2使用V2?我應該使用哪一個?
-
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import RandomCrop randomcrop = RandomCrop(size=100) randomcrop = RandomCrop(size=100, padding=None, pad_if_needed=False, fill=0, padding_mode='constant') randomcrop # RandomCrop(size=(100, 100), # pad_if_needed=False, # fill=0, # padding_mode=constant) randomcrop.size # (100, 100) print(randomcrop.padding) # None randomcrop.pad_if_needed # False randomcrop.fill # 0 randomcrop.padding_mode # 'constant' origin_data = OxfordIIITPet( root="data", transform=None ) s300_data = OxfordIIITPet( # `s` is size. root="data", transform=RandomCrop(size=300) # transform=RandomCrop(size=[300, 300]) ) s200_data = OxfordIIITPet( root="data", transform=RandomCrop(size=200) ) s100_data = OxfordIIITPet( root="data", transform=RandomCrop(size=100) ) s50_data = OxfordIIITPet( root="data", transform=RandomCrop(size=50) ) s10_data = OxfordIIITPet( root="data", transform=RandomCrop(size=10) ) s1_data = OxfordIIITPet( root="data", transform=RandomCrop(size=1) ) s200_300_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[200, 300]) ) s300_200_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[300, 200]) ) s300p100_data = OxfordIIITPet( # `p` is padding. root="data", transform=RandomCrop(size=300, padding=100) # transform=RandomCrop(size=300, padding=[100, 100]) # transform=RandomCrop(size=300, padding=[100, 100, 100, 100]) ) s300p200_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=200) ) s700_594p100origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[700, 594], padding=100) ) s300p100_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100) ) s600_594p100_50origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[600, 594], padding=[100, 50]) ) s300p100_50_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=[100, 50]) ) s650_494p25_50_75_100origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[650, 494], padding=[25, 50, 75, 100]) ) s300p25_50_75_100_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=[25, 50, 75, 100]) ) s300_194pn100origin_data = OxfordIIITPet( # `n` is negative. root="data", transform=RandomCrop(size=[300, 194], padding=-100) ) s150pn100_data = OxfordIIITPet( root="data", transform=RandomCrop(size=150, padding=-100) ) s300_294pn50n100origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[300, 294], padding=[-50, -100]) ) s150pn50n100_data = OxfordIIITPet( root="data", transform=RandomCrop(size=150, padding=[-50, -100]) ) s350_294pn25n50n75n100origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[350, 294], padding=[-25, -50, -75, -100]) ) s150pn25n50n75n100_data = OxfordIIITPet( root="data", transform=RandomCrop(size=150, padding=[-25, -50, -75, -100]) ) s600_444p25_50origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[600, 444], padding=[25, 50]) ) s200p25_50_data = OxfordIIITPet( root="data", transform=RandomCrop(size=200, padding=[25, 50]) ) s400_344pn25n50origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[400, 344], padding=[-25, -50]) ) s200pn25n50_data = OxfordIIITPet( root="data", transform=RandomCrop(size=200, padding=[-25, -50]) ) s400_444p25n50origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[400, 444], padding=[25, -50]) ) s200p25n50_data = OxfordIIITPet( root="data", transform=RandomCrop(size=200, padding=[25, -50]) ) s600_344pn25_50origin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[600, 344], padding=[-25, 50]) ) s200pn25_50_data = OxfordIIITPet( root="data", transform=RandomCrop(size=200, padding=[-25, 50]) ) s700_594p100fgrayorigin_data = OxfordIIITPet( # `f` is fill. root="data", transform=RandomCrop(size=[700, 594], padding=100, fill=150) # transform=RandomCrop(size=[700, 594], padding=100, fill=[150]) ) s300p100fgray_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100, fill=150) ) s700_594p100fpurpleorigin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[700, 594], padding=100, fill=[160, 32, 240]) ) s300p100fpurple_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100, fill=[160, 32, 240]) ) s700_594p100pmconstorigin_data = OxfordIIITPet( # `pm` is padding_mode. root="data", # `const` is constant. transform=RandomCrop(size=[700, 594], padding=100, padding_mode='constant') ) s300p100pmconst_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100, padding_mode='constant') ) s700_594p100pmedgeorigin_data = OxfordIIITPet( root="data", transform=RandomCrop(size=[700, 594], padding=100, padding_mode='edge') ) s300p100pmedge_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100, padding_mode='edge') ) s700_594p100pmrefleorigin_data = OxfordIIITPet( # `refle` is reflect. root="data", transform=RandomCrop(size=[700, 594], padding=100, padding_mode='reflect') ) s300p100pmrefle_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100, padding_mode='reflect') ) s700_594p100pmsymmeorigin_data = OxfordIIITPet( # `symme` is symmetric. root="data", transform=RandomCrop(size=[700, 594], padding=100, padding_mode='symmetric') ) s300p100pmsymme_data = OxfordIIITPet( root="data", transform=RandomCrop(size=300, padding=100, padding_mode='symmetric') ) 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 in range(1, 6): plt.subplot(1, 5, i) plt.imshow(X=data[0][0]) plt.tight_layout() plt.show() plt.figure(figsize=(7, 9)) plt.title(label="s500_394origin_data", fontsize=14) plt.imshow(X=origin_data[0][0]) show_images1(data=origin_data, main_title="s500_394origin_data") show_images1(data=s300_data, main_title="s300_data") show_images1(data=s200_data, main_title="s200_data") show_images1(data=s100_data, main_title="s100_data") show_images1(data=s50_data, main_title="s50_data") show_images1(data=s10_data, main_title="s10_data") show_images1(data=s1_data, main_title="s1_data") show_images1(data=s200_300_data, main_title="s200_300_data") show_images1(data=s300_200_data, main_title="s300_200_data") print() show_images1(data=s700_594p100origin_data, main_title="s700_594p100origin_data") show_images1(data=s300p100_data, main_title="s300p100_data") print() show_images1(data=s600_594p100_50origin_data, main_title="s600_594p100_50origin_data") show_images1(data=s300p100_50_data, main_title="s300p100_50_data") print() show_images1(data=s650_494p25_50_75_100origin_data, main_title="s650_494p25_50_75_100origin_data") show_images1(data=s300p25_50_75_100_data, main_title="s300p25_50_75_100_data") print() show_images1(data=s300_194pn100origin_data, main_title="s300_194pn100origin_data") show_images1(data=s150pn100_data, main_title="s150pn100_data") print() show_images1(data=s300_294pn50n100origin_data, main_title="s300_294pn50n100origin_data") show_images1(data=s150pn50n100_data, main_title="s150pn50n100_data") print() show_images1(data=s350_294pn25n50n75n100origin_data, main_title="s350_294pn25n50n75n100origin_data") show_images1(data=s150pn25n50n75n100_data, main_title="s150pn25n50n75n100_data") print() show_images1(data=s600_444p25_50origin_data, main_title="s600_444p25_50origin_data") show_images1(data=s200p25_50_data, main_title="s200p25_50_data") print() show_images1(data=s400_344pn25n50origin_data, main_title="s400_344pn25n50origin_data") show_images1(data=s200pn25n50_data, main_title="s200pn25n50_data") print() show_images1(data=s400_444p25n50origin_data, main_title="s400_444p25n50origin_data") show_images1(data=s200p25n50_data, main_title="s200p25n50_data") print() show_images1(data=s600_344pn25_50origin_data, main_title="s600_344pn25_50origin_data") show_images1(data=s200pn25_50_data, main_title="s200pn25_50_data") print() show_images1(data=s700_594p100fgrayorigin_data, main_title="s700_594p100fgrayorigin_data") show_images1(data=s300p100fgray_data, main_title="s300p100fgray_data") print() show_images1(data=s700_594p100fpurpleorigin_data, main_title="s700_594p100fpurpleorigin_data") show_images1(data=s300p100fpurple_data, main_title="s300p100fpurple_data") print() show_images1(data=s700_594p100pmconstorigin_data, main_title="s700_594p100pmconstorigin_data") show_images1(data=s300p100pmconst_data, main_title="s300p100pmconst_data") print() show_images1(data=s700_594p100pmedgeorigin_data, main_title="s700_594p100pmedgeorigin_data") show_images1(data=s300p100pmedge_data, main_title="s300p100pmedge_data") print() show_images1(data=s700_594p100pmrefleorigin_data, main_title="s700_594p100pmrefleorigin_data") show_images1(data=s300p100pmrefle_data, main_title="s300p100pmrefle_data") print() show_images1(data=s700_594p100pmsymmeorigin_data, main_title="s700_594p100pmsymmeorigin_data") show_images1(data=s300p100pmsymme_data, main_title="s300p100pmsymme_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, s=None, p=None, pin=False, f=0, pm='constant'): plt.figure(figsize=(10, 5)) plt.suptitle(t=main_title, y=0.8, fontsize=14) temp_s = s im = data[0][0] for i in range(1, 6): plt.subplot(1, 5, i) if not temp_s: s = [im.size[1], im.size[0]] rc = RandomCrop(size=s, padding=p, # Here pad_if_needed=pin, fill=f, padding_mode=pm) plt.imshow(X=rc(im)) # Here plt.tight_layout() plt.show() plt.figure(figsize=(7, 9)) plt.title(label="s500_394origin_data", fontsize=14) plt.imshow(X=origin_data[0][0]) show_images2(data=origin_data, main_title="s500_394origin_data") show_images2(data=origin_data, main_title="s300_data", s=300) show_images2(data=origin_data, main_title="s200_data", s=200) show_images2(data=origin_data, main_title="s100_data", s=100) show_images2(data=origin_data, main_title="s50_data", s=50) show_images2(data=origin_data, main_title="s10_data", s=10) show_images2(data=origin_data, main_title="s1_data", s=1) show_images2(data=origin_data, main_title="s200_300_data", s=[200, 300]) show_images2(data=origin_data, main_title="s300_200_data", s=[300, 200]) print() show_images2(data=origin_data, main_title="s700_594p100origin_data", s=[700, 594], p=100) show_images2(data=origin_data, main_title="s300p100_data", s=300, p=100) print() show_images2(data=origin_data, main_title="s600_594p100_50origin_data", s=[600, 594], p=[100, 50]) show_images2(data=origin_data, main_title="s300p100_50_data", s=300, p=[100, 50]) print() show_images2(data=origin_data, main_title="s650_494p25_50_75_100origin_data", s=[650, 494], p=[25, 50, 75, 100]) show_images2(data=origin_data, main_title="s300p25_50_75_100_data", s=300, p=[25, 50, 75, 100]) print() show_images2(data=origin_data, main_title="s300_194pn100origin_data", s=[300, 194], p=-100) show_images2(data=origin_data, main_title="s150pn100_data", s=150, p=-100) print() show_images2(data=origin_data, main_title="s300_294pn50n100origin_data", s=[300, 294], p=[-50, -100]) show_images2(data=origin_data, main_title="s150pn50n100_data", s=150, p=[-50, -100]) print() show_images2(data=origin_data, main_title="s350_294pn25n50n75n100origin_data", s=[350, 294], p=[-25, -50, -75, -100]) show_images2(data=origin_data, main_title="s150pn25n50n75n100_data", s=150, p=[-25, -50, -75, -100]) print() show_images2(data=origin_data, main_title="s600_444p25_50origin_data", s=[600, 444], p=[25, 50]) show_images2(data=origin_data, main_title="s200p25_50_data", s=200, p=[25, 50]) print() show_images2(data=origin_data, main_title="s400_344pn25n50origin_data", s=[400, 344], p=[-25, -50]) show_images2(data=origin_data, main_title="s200pn25n50_data", s=200, p=[-25, -50]) print() show_images2(data=origin_data, main_title="s400_444p25n50origin_data", s=[400, 444], p=[25, -50]) show_images2(data=origin_data, main_title="s200p25n50_data", s=200, p=[25, -50]) print() show_images2(data=origin_data, main_title="s600_344pn25_50origin_data", s=[600, 344], p=[-25, 50]) show_images2(data=origin_data, main_title="s200pn25_50_data", s=200, p=[-25, 50]) print() show_images2(data=origin_data, main_title="s700_594p100fgrayorigin_data", s=[700, 594], p=100, f=150) show_images2(data=origin_data, main_title="s300p100fgray_data", s=300, p=100, f=150) print() show_images2(data=origin_data, main_title="s700_594p100fpurpleorigin_data", s=[700, 594], p=100, f=[160, 32, 240]) show_images2(data=origin_data, main_title="s300p100fpurple_data", s=300, p=100, f=[160, 32, 240]) print() show_images2(data=origin_data, main_title="s700_594p100pmconstorigin_data", s=[700, 594], p=100, pm='constant') show_images2(data=origin_data, main_title="s300p100pmconst_data", s=300, p=100, pm='constant') print() show_images2(data=origin_data, main_title="s700_594p100pmedgeorigin_data", s=[700, 594], p=100, pm='edge') show_images2(data=origin_data, main_title="s300p100pmedge_data", s=300, p=100, pm='edge') print() show_images2(data=origin_data, main_title="s700_594p100pmrefleorigin_data", s=[700, 594], p=100, pm='reflect') show_images2(data=origin_data, main_title="s300p100pmrefle_data", s=300, p=100, pm='reflect') print() show_images2(data=origin_data, main_title="s700_594p100pmsymmeorigin_data", s=[700, 594], p=100, pm='symmetric') show_images2(data=origin_data, main_title="s300p100pmsymme_data", s=300, p=100, pm='symmetric')
以上是pytorch中的隨機克羅普(1)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。
