入門cv2 task之資料處理和資料增強

2021-10-06 10:19:56 字數 3406 閱讀 5206

標題對資料進行增廣

這次是對主要是對資料的增強操作和讀取進行說明和如何用pytorch進行資料處理和進行資料讀取。

賽題**自google街景影象中的門牌號資料集(the street view house numbers dataset)
svhn

以lena的為例

然後進行pillow的乙個函式處理

pillow操作可官方文件

可檢視

官網

原圖

cv的一步操作

這是乙個關於pytorch常見的資料處理的庫,裡面還有mnist,cifar等包的api

,也有常見的資料處理功能

import numpy as np

import torch

from pil import image

from torch.utils.data.dataset import dataset

class

svhndataset

(dataset)

:def

__init__

(self, img_path, img_label, transform=

none):

self.img_path = img_path

self.img_label = img_label

if transform is

notnone

: self.transform = transform

else

: self.transform =

none

def__getitem__

(self, index)

: img = image.

open

(self.img_path[index]

).convert(

'rgb'

)if self.transform is

notnone

: img = self.transform(img)

lbl = np.array(self.img_label[index]

, dtype=np.

int)

lbl =

list

(lbl)+(

5-len(lbl))*

[10]return img, torch.from_numpy(np.array(lbl[:5

]))def

__len__

(self)

:return

len(self.img_path)

這裡重點看 getitem函式,getitem接收乙個index,然後返回資料和標籤,這個index通常指的是乙個list的index,這個list的每個元素就包含了資料的路徑和標籤資訊。

初始化中還會初始化transform,transform是乙個compose型別,裡邊有乙個list,list中就會定義了各種對影象進行處理的操作,可以設定減均值,除標準差,隨機裁剪,旋轉,翻轉,仿射變換等操作

在這裡我們可以知道,一張讀取進來之後,會經過資料處理(資料增強),最終變成輸入模型的資料

當採用randomcrop之類的隨機操作時,每個epoch輸入進來的幾乎不會是一模一樣的,這達到了樣本多樣性的功能

常見的操作

舉個例子

# train_path = glob.glob('input/train/*.png')

train_path = glob.glob(

'./data/train'

) train_path.sort(

) train_json = json.load(

open

('./data/train.json'))

train_label =

[train_json[x]

['label'

]for x in train_json]

print

(len

(train_path)

,len

(train_label)

) train_loader = torch.utils.data.dataloader(

svhndataset(train_path, train_label,

transforms.compose(

[ transforms.resize((64

,128))

, transforms.randomcrop((60

,120))

, transforms.colorjitter(

0.3,

0.3,

0.2)

, transforms.randomrotation(10)

, transforms.totensor(),

transforms.normalize(

[0.485

,0.456

,0.406],

[0.229

,0.224

,0.225])

])),

batch_size=

512,

shuffle=

true

, num_workers=2,

)

1.datawhile

2.torchvision

task2 金融風控資料處理

目的 1 了解整個資料集的基本情況 缺失值,異常值 對資料集進行驗證是否可以進行接下來的機器學習或者深度學習建模.2 了解變數間的相互關係 變數與 值之間的存在關係。資料型別 特徵變數 變數名解釋 id 為貸款清單分配的唯一信用證標識 loanamnt 貸款金額 term 貸款期限 year int...

Bitmap和2 Bitmap海量資料處理問題

內容會持續更新,有錯誤的地方歡迎指正,謝謝 要解決上面的問題,都需可以用bitmap或2 bitmap。bitmap也就是位圖 引出bitmap 舉乙個小例子,有乙個無序整形陣列,也就占用記憶體3 4 12位元組,這很正常,但如果有1億個這樣的數呢?1億 4 1024 1024 1024 0.372...

利用SPSS做資料分析 之資料處理2

記錄合併也叫縱向合併,是將具有共同的資料字段 結構,不同的資料表記錄,合併到乙個新的資料表中。現在有兩張表,一張 使用者明細 男 一張 使用者明細 女 他們擁有相同的資料字段 結構,只是記錄資訊不一樣,為了能夠進行整體的分析,我們需要將這兩張表合併到一張資料表中。如果兩個資料集合並出現錯誤或失敗,請...