標題對資料進行增廣
這次是對主要是對資料的增強操作和讀取進行說明和如何用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.datawhile2.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
記錄合併也叫縱向合併,是將具有共同的資料字段 結構,不同的資料表記錄,合併到乙個新的資料表中。現在有兩張表,一張 使用者明細 男 一張 使用者明細 女 他們擁有相同的資料字段 結構,只是記錄資訊不一樣,為了能夠進行整體的分析,我們需要將這兩張表合併到一張資料表中。如果兩個資料集合並出現錯誤或失敗,請...