Commit 5cd9bcd9 authored by Jan Kovář's avatar Jan Kovář
Browse files

Adding validation data, loading method and train.py source file with instructions

parent 175986da
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -32,6 +32,11 @@ class Dataset:
    train_data = []
    train_labels = []

    val_data_size = 1
    val_indices = []
    val_data = []
    val_labels = []

    test_data_size = 1
    test_indices = []
    test_data = []
@@ -45,10 +50,14 @@ class Dataset:
    test_points_y = np.linspace(1,-1,51)


    def __init__(self, data_size, training_data_size):
    def __init__(self, data_size, training_data_size, validation_data_size, test_data_size):
        self.data_size = data_size
        self.train_data_size = training_data_size
        self.test_data_size = data_size - training_data_size
        self.val_data_size = validation_data_size
        if test_data_size != data_size - training_data_size - validation_data_size:
            print("Your dataset is not split into training/val/test data properly. The sum must be the total number of datapoints!")
            sys.exit(1)
        self.test_data_size = data_size - training_data_size - validation_data_size

    def initializeDataSet(self, type):
        self.createAllData(type)
@@ -104,7 +113,11 @@ class Dataset:
        self.train_data = self.all_data[self.train_indices,:]
        self.train_labels = self.labels[self.train_indices]

        self.test_indices = np.delete(range(self.data_size), self.train_indices, axis=0)
        self.val_indices = random.sample(list(np.delete(range(self.data_size), self.train_indices, axis=0)), self.val_data_size)
        self.val_data = self.all_data[self.val_indices,:]
        self.val_labels = self.labels[self.val_indices]

        self.test_indices = np.delete(range(self.data_size), self.train_indices+self.val_indices, axis=0)
        self.test_data = self.all_data[self.test_indices,:]
        self.test_labels = self.labels[self.test_indices]

@@ -128,6 +141,7 @@ class Dataset:
                self.all_data[i][0] = 0.5*self.all_data[i][0]
                self.all_data[i][1] = 0.5*self.all_data[i][1]
        self.labels = 2*(self.norm((self.all_data[:,0]/1), (self.all_data[:,1])/1) < 0.7)-1
        #self.labels = (self.norm((self.all_data[:,0]/1), (self.all_data[:,1])/1) < 0.7)
    
    def createSinus(self):
        self.all_data = 2*np.random.rand(self.data_size,self.input_coord_dimension)-np.ones((self.data_size,self.input_coord_dimension))
−25.5 KiB (517 KiB)
Loading image diff...
+1.93 MiB (3.71 MiB)
Loading image diff...
+73 −304

File changed.

Preview size limit exceeded, changes collapsed.

(168 B)

File changed.

No diff preview for this file type.

Loading