17 Transforms.RandomResizedCrop()


transforms.RandomResizedCrop()

參考鏈接:

https://zhuanlan.zhihu.com/p/53367135

https://blog.csdn.net/thequitesunshine007/article/details/118703054

https://blog.csdn.net/see_you_yu/article/details/106722787?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2.no_search_link

https://zhuanlan.zhihu.com/p/104547138

在處理圖像時,一般有如下操作:

#訓練集數據擴充和歸一化
#在驗證集上僅需要歸一化
data_transforms = {
    'train': transforms.Compose([
        transforms.RandomResizedCrop(224), #隨機裁剪一個area然后再resize
        transforms.RandomHorizontalFlip(), #隨機水平翻轉
        transforms.ToTensor(),#歸一化到[0.0,1.0]
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])#歸一化到[-1.0,1.0]
    ]),
    'val': transforms.Compose([
        transforms.Resize(256),
        transforms.CenterCrop(224),
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
    ]),
}

函數定義:

torchvision.transforms.RandomResizedCrop(
size,	# 要么是(h,w),若是一個int,就是(size,size)
scale=(0.08,1.0),	# 隨機剪裁的大小區間,上體來說,crop出來的圖片會在0.08倍到1倍之間
ratio=(0.75,1.33),	# 隨機長寬比設置在(0.75,1.33)之間
interpolation=2		# 插值的方法
)

簡單測試:

https://github.com/SethDeng/torchvision.transforms-test


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM