-
Notifications
You must be signed in to change notification settings - Fork 1
/
image_loading.py
76 lines (65 loc) · 1.99 KB
/
image_loading.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
74
75
76
#!/usr/bin/env python
import json
import tkinter as Tk
import numpy as np
from tkinter.filedialog import askopenfilename
class LoadingData():
def __init__(self,type, param):
self.type=type
self.param=param
self.x_test=[]
self.y_test=[]
self.x_train=[]
self.y_train=[]
self.onChoice()
def json_reading(self,file):
with open(file) as f:
conf = json.loads(f.read())
conf = conf['CNN']
f.close()
return conf
def onChoice(self):
if self.type=="json":
conf= self.json_reading("loading_conf.json")
try:
conf = conf[self.param]
except:
print('Wrong Param!')
self.n_classes = conf['n_classes']
self.datahere(conf)
if self.type=="user_choice":
path_list=[]
file_num=4
params_list=["x_train","y_train","x_test","y_test"]
for i in range(file_num):
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename(title = "choose"+ params_list[i],filetypes = (("npy files","*.npy"),("all files","*.*")))
path_list.append(filename)
self.decodingfilename(path_list)
def datahere(self,conf):
try:
self.x_train = np.load(conf['paths']['x_train'])
self.x_train = np.array(self.x_train)
self.y_train = np.load(conf['paths']['y_train'])
self.x_test = np.load(conf['paths']['x_test'])
self.x_test = np.array(self.x_test)
self.y_test = np.load(conf['paths']['y_test'])
except:
print("Problems with importation of data")
print("All Data Loaded")
def decodingfilename(self,path_list):
try:
self.x_train=np.load(path_list[0])
self.y_train=np.load(path_list[1])
self.x_test=np.load(path_list[2])
self.y_test=np.load(path_list[3])
except ValueError:
print ("An error occurred in the data loading")
def loading4predict(self,image_number):
try:
self.image_number= int(image_number)
print (type(self.image_number))
return (self.x_test[self.image_number,:,:,:], self.y_test[self.image_number])
except IndexError:
#AGGIUNGERE UN CONTROLLO SULLA DIMENSIONE!
return