-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgenerate_data.py
More file actions
112 lines (92 loc) · 2.78 KB
/
generate_data.py
File metadata and controls
112 lines (92 loc) · 2.78 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import numpy as np
# generate random array
def gen_array(array_size, array_start, array_end, num_array):
array = []
for i in range(num_array):
temparray = np.random.randint(low=array_start, high=array_end, size=array_size)
array.append(list(temparray))
return array
#generate labels to the array
def gen_sorted_idx(array):
sorted_idx = []
for i in range(len(array)):
tempidx = np.argsort(array[i])
sorted_idx.append(list(tempidx))
return sorted_idx
def sorted_array(array):
sort = []
for i in range(len(array)):
list = array[i]
list = sorted(list)
sort.append(list)
return sort
# normalize array
def normalize(array_start, array_end, array):
norm_array = []
for i, j in enumerate(array):
temp_list = []
for k in j:
norm_num = (k - array_start)/(array_end - array_start)
temp_list.append(norm_num)
norm_array.append(temp_list)
return norm_array
def next_batch(num, data, labels):
'''
Return a total of `num` random samples and labels.
'''
idx = np.arange(0 , len(data))
np.random.shuffle(idx)
idx = idx[:num]
data_shuffle = [data[ i] for i in idx]
labels_shuffle = [labels[ i] for i in idx]
return np.asarray(data_shuffle), np.asarray(labels_shuffle)
def denormalize(array_start, array_end, array):
denorm_array = []
for i, j in enumerate(array):
temp_list = []
for k in j:
denorm_num = k*(array_end - array_start) + array_start
temp_list.append(denorm_num)
denorm_array.append(temp_list)
return denorm_array
def argsort_list(array):
arg_array = []
for i in array:
temp = np.argsort(i)
arg_array.append(list(temp))
return arg_array
def N2_sort(array):
"""
input: List[List[int]]
return type: List[List[int]]
"""
for i in array:
for j in range(len(i)-1, -1, -1):
for k in range(1, j+1):
if i[k-1] > i[k]:
temp = i[k-1]
i[k-1] = i[k]
i[k] = temp
return array
"""
a = [[3, 5, 1], [1 , 2, 3]]
print(N2_sort(a))
list = [[1.0096184e+14, 1.0122951e+14, 1.0132296e+14]]
print(denormalize(0.3, 0.9, list))
# variables
array_size = 5
array_start = 0
array_end = 9
num_array = 1
array = gen_array(array_size, array_start, array_end, num_array)
sorted = sorted_array(array)
sorted_idx = gen_sorted_idx(array)
normalized_array = normalize(array_start, array_end, array)
batch_x, batch_y = next_batch(2, normalized_array, sorted_idx)
print("Array: ", array)
print("Sorted Array: ", sorted)
print("Sorted Indices: ", sorted_idx)
print("Normalized Array: ", normalized_array)
print("Batch Array: ", batch_x)
print("Batch Labels:", batch_y)
"""