-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathDatasets.py
executable file
·73 lines (59 loc) · 2.15 KB
/
Datasets.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
class Dataset:
def __init__(self):
self.data = self.full_data()
def full_data(self):
suffix = ".csv"
csv_directory = 'Datasets/'
csv_files = [i for i in os.listdir(csv_directory) if i.endswith( suffix )]
full_data = []
for i in range(len(csv_files)):
data = pd.read_csv(csv_directory +csv_files[i], sep=';', index_col = 0)
full_data.append(data)
full_data = pd.concat(full_data, axis=0)
full_data = full_data.replace("X", 10)
return full_data
class Dataset_Multi(Dataset):
def __init__(self):
Dataset.__init__(self)
self.frame_directory = 'Datasets_frames/'
self.frame_data = self.data[self.data["image"].isin(os.listdir(self.frame_directory))]
def convert_to_arrays(self,samples):
X = []
for sample in samples:
ID = 'Datasets_frames/' + "%s" % (sample)
img = Image.open(ID)
img = np.array(img)
img = img.reshape((img.shape[0],img.shape[1],1))
X.append(img)
X = np.asarray(X)
return X
class Dataset_Single(Dataset):
def __init__(self):
Dataset.__init__(self)
self.digits_directory = 'Datasets_digits/'
self.digits_data = self.digits_data()
def digits_data(self):
ids = []
labels = []
for i in range(11):
directory = self.digits_directory + '%i/' %i
for j in os.listdir(directory):
ids.append(directory+j)
labels.append(i)
digits_data = pd.DataFrame(list(zip(ids,labels)))
return digits_data
def convert_to_arrays(self,samples):
X = []
for sample in samples:
img = Image.open(sample)
img = np.array(img)
img.resize((100,256))
img = img.reshape((img.shape[0],img.shape[1],1))
X.append(img)
X = np.asarray(X)
return X