pytorch讀取資料
使用定長字元識別思路構建模型
學習python和pytorch中影象讀取
學會擴增方法和pytorch讀取賽題資料
pillow
匯入:from pil import image
讀取:im =image.open(***.jpg』)
opencv
匯入:import cv2
讀取:img = cv2.imread(『***.jpg』)
預設顏色通道順序是brg
常見的資料擴增有:顏色空間、尺度空間,樣本空間。
常用的資料擴增庫:torchvision,imgaug,albumentations
import os, sys, glob, shutil, json
import cv2
from pil import image
import numpy as np
import torch
from torch.utils.data.dataset import dataset
import torchvision.transforms as transforms
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)
# 原始svhn中類別10為數字0
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)
train_path = glob.glob(
'../data/input/train/*.png'
)train_path.sort(
)train_json = json.load(
open
('../data/input/train/train.json'))
train_label =
[train_json[x]
['label'
]for x in train_json]
data = svhndataset(train_path, train_label,
transforms.compose(
[# 縮放到固定尺寸
transforms.resize((64
,128))
,# 隨機顏色變換
transforms.colorjitter(
0.2,
0.2,
0.2)
,# 加入隨機旋轉
transforms.randomrotation(5)
,# 將轉換為pytorch 的tesntor
# transforms.totensor(),
# 對影象畫素進行歸一化
# transforms.normalize([0.485,0.456,0.406],[0.229,0.224,0.225])])
)
零基礎入門CV賽事 街景字元編碼識別 TASK1
本次新人賽是datawhale與天池聯合發起的零基礎入門系列賽事第二場 零基礎入門cv賽事之街景字元識別 賽題以計算機視覺中字元識別為背景,要求 真實場景下的字元識別,這是乙個典型的字元識別問題 賽題 自google街景影象中的門牌號資料集 the street view house numbers...
零基礎入門CV賽事 街景字元編碼識別 01
賽題 自google街景影象中的門牌號資料集 the street view house numbers dataset,svhn 並根據一定方式取樣得到比賽資料集。任務鏈結 阿里雲天池大賽 零基礎入門cv賽事 街景字元編碼識別。需要注意的是此賽題需要選手識別中所有的字元,為了降低比賽難度,提供了訓...
Datawhale 零基礎入門CV賽事
本章將會講解卷積神經網路 convolutional neural network,cnn 的常見層,並從頭搭建乙個字元識別模型。學習cnn基礎和原理 使用pytorch框架構建cnn模型,並完成訓練 卷積神經網路 簡稱cnn 是一類特殊的人工神經網路,是深度學習中重要的乙個分支。cnn在很多領域都...