Skip to content

Commit d134861

Browse files
committed
updated training generation script to include generation of dustbin samples, setup raspbi to display class distribution over time
1 parent 91ff498 commit d134861

File tree

4 files changed

+28
-14
lines changed

4 files changed

+28
-14
lines changed

classifiers/classifiers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
classes = ['dustbin', 'lay', 'run', 'sit', 'stair', 'walk']
2121
train_x = np.load("../raw_data_to_train_set/training_samples.npy")
2222
train_y = np.load("../raw_data_to_train_set/training_targets.npy")
23-
train_x = train_x[:,:,1:]
23+
# train_x = train_x[:,:,1:]
2424
print(train_x.shape)
2525

2626
# create set of dustbin samples

data_streaming/simple-http-stream.py

Whitespace-only changes.

raw_data_to_train_set/training_data_flow_from_directory.py

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import matplotlib.pyplot as plt
1111
import matplotlib.pyplot as plt; plt.rcdefaults()
1212

13+
dustbin_label_loc = 0
1314
shift = 15
1415
window_size = 45
1516
mean_diff_threshold = 60000
@@ -28,7 +29,6 @@
2829
classes = sorted(classes, key=str.lower)
2930

3031
processed = np.zeros(len(classes))
31-
processed[0] = 500 # todo: update automatically with dustbin class data generation
3232
failed = np.zeros(len(classes))
3333
for i in range(0, len(classes)):
3434
curr_data_path = os.path.join(collected_data_path, classes[i])
@@ -53,7 +53,7 @@
5353
if diff < mean_diff_threshold:
5454
# print(f"Processing sample with mean: {mean}")
5555
processed[idx] += 1
56-
training_samples.append(sample)
56+
training_samples.append(sample[:,1:])
5757
target = np.zeros(len(classes))
5858
target[classes.index(classes[i])] = 1
5959
training_targets.append(target)
@@ -78,17 +78,17 @@
7878
print(f"Dropping sample with mean: {mean}")
7979
failed[idx] += 1
8080
# print(sample_diffs)
81-
plt.subplot(211)
82-
plt.title(f'{classes[i]} | Milliseconds between samples')
83-
plt.plot(np.arange(1, window_size), sample_diffs)
84-
plt.ylim([min(sample_diffs)-100, max(sample_diffs)+100])
85-
plt.subplot(212)
86-
plt.title("Accelerometer sample window")
87-
plt.plot(np.arange(1, window_size+1), raw_data['accelerometerAccelerationX(G)'][j:j + window_size], 'r')
88-
plt.plot(np.arange(1, window_size + 1), raw_data['accelerometerAccelerationY(G)'][j:j + window_size], 'g')
89-
plt.plot(np.arange(1, window_size + 1), raw_data['accelerometerAccelerationZ(G)'][j:j + window_size], 'b')
90-
plt.ylim([-4.75, 4.75])
91-
plt.show()
81+
# plt.subplot(211)
82+
# plt.title(f'{classes[i]} | Milliseconds between samples')
83+
# plt.plot(np.arange(1, window_size), sample_diffs)
84+
# plt.ylim([min(sample_diffs)-100, max(sample_diffs)+100])
85+
# plt.subplot(212)
86+
# plt.title("Accelerometer sample window")
87+
# plt.plot(np.arange(1, window_size+1), raw_data['accelerometerAccelerationX(G)'][j:j + window_size], 'r')
88+
# plt.plot(np.arange(1, window_size + 1), raw_data['accelerometerAccelerationY(G)'][j:j + window_size], 'g')
89+
# plt.plot(np.arange(1, window_size + 1), raw_data['accelerometerAccelerationZ(G)'][j:j + window_size], 'b')
90+
# plt.ylim([-4.75, 4.75])
91+
# plt.show()
9292

9393
print(f'\nClasses: {classes}')
9494
print(f'Successful: {processed}')
@@ -100,6 +100,20 @@
100100
print(f'Successful samples: {sum(processed)}')
101101

102102
# saving training data
103+
training_samples = np.asarray(training_samples)
104+
training_targets = np.asarray(training_targets)
105+
106+
# create set of dustbin samples
107+
num_dustbin_samples = 1000
108+
dustbin_samples = np.random.uniform(-3,3,size=(num_dustbin_samples,45,3))
109+
dustbin_labels = np.zeros((num_dustbin_samples, len(classes)))
110+
dustbin_labels[:, dustbin_label_loc] = 1
111+
112+
# generate random noise for dust bin class
113+
train_x = np.concatenate((training_samples, dustbin_samples))
114+
train_y = np.concatenate((training_targets, dustbin_labels))
115+
processed[0] += num_dustbin_samples
116+
103117
np.save("training_samples", np.asarray(training_samples))
104118
np.save("training_targets", np.asarray(training_targets))
105119

-3.36 MB
Binary file not shown.

0 commit comments

Comments
 (0)