日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

数据增强 transform_深度学习-Pytorch框架学习之数据处理篇

發布時間:2024/7/23 pytorch 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据增强 transform_深度学习-Pytorch框架学习之数据处理篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

數據是深度學習的核心,大部分論文里都會提到data-driven這個詞,也就是數據驅動的意思。基本的模型搭建完成后,如何處理數據,如何將數據送給網絡,如何做數據增強等等,對于提高網絡的性能都十分重要,本篇文章會簡單講述下數據處理過程,后續有時間會持續更新這方面的內容,互相學習,共勉!

數據集的均值和標準差

def compute_mean_and_std(dataset): # 輸入為PyTorch的dataset,即數據集,輸出為對應數據集均值和標準差 # 均值 mean_r = 0 mean_g = 0 mean_b = 0 for img, _ in dataset: img = np.asarray(img) # 將 PIL Image 改變成numpy的數組類型 mean_b += np.mean(img[:, :, 0]) mean_g += np.mean(img[:, :, 1]) mean_r += np.mean(img[:, :, 2]) mean_b /= len(dataset) mean_g /= len(dataset) mean_r /= len(dataset) diff_r = 0 diff_g = 0 diff_b = 0 N = 0 for img, _ in dataset: img = np.asarray(img) diff_b += np.sum(np.power(img[:, :, 0] - mean_b, 2)) diff_g += np.sum(np.power(img[:, :, 1] - mean_g, 2)) diff_r += np.sum(np.power(img[:, :, 2] - mean_r, 2)) N += np.prod(img[:, :, 0].shape) std_b = np.sqrt(diff_b / N) std_g = np.sqrt(diff_g / N) std_r = np.sqrt(diff_r / N) mean = (mean_b.item() / 255.0, mean_g.item() / 255.0, mean_r.item() / 255.0) std = (std_b.item() / 255.0, std_g.item() / 255.0, std_r.item() / 255.0) return mean, std

常用訓練和驗證數據預處理

ToTensor 會將 PIL.Image形狀為 H×W×D,數值范圍為 [0, 255] 的numpy數組轉換形狀為 D×H×W,數值范圍為 [0.0, 1.0] 的 torch.Tensor

train_transform = torchvision.transforms.Compose([ torchvision.transforms.RandomResizedCrop(size=224, scale=(0.08, 1.0)), torchvision.transforms.RandomHorizontalFlip(), torchvision.transforms.ToTensor(), torchvision.transforms.Normalize(mean=(0.485, 0.456, 0.406)std=(0.229, 0.224, 0.225)), ]) val_transform = torchvision.transforms.Compose([ torchvision.transforms.Resize(256), torchvision.transforms.CenterCrop(224), torchvision.transforms.ToTensor(), torchvision.transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),])

視頻數據

import cv2video = cv2.VideoCapture(mp4_path)height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))num_frames = int(video.get(cv2.CAP_PROP_FRAME_COUNT))fps = int(video.get(cv2.CAP_PROP_FPS))video.release()

未完待續,持續更新!

總結

以上是生活随笔為你收集整理的数据增强 transform_深度学习-Pytorch框架学习之数据处理篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。