marta-marta
commited on
Commit
•
e8a1ac5
1
Parent(s):
3e918de
Added TSNE Plot
Browse files
app.py
CHANGED
@@ -7,6 +7,7 @@ import streamlit as st
|
|
7 |
|
8 |
from Data_Generation.Dataset_Generation_Functions import make_boxes
|
9 |
from Data_Generation.Piecewise_Box_Functions import basic_box_array, forward_slash_array, combine_arrays, add_thickness
|
|
|
10 |
########################################################################################################################
|
11 |
# User Inputs
|
12 |
image_size = st.slider('Select a value for the image size', min_value=9, max_value=16)
|
@@ -73,6 +74,21 @@ if st.button('Generate Dataset'): # Generate the dataset
|
|
73 |
box_arrays, box_density, basic_box_thickness, forward_slash_box_thickness, back_slash_box_thickness,hot_dog_box_thickness, hamburger_box_thickness\
|
74 |
= list(zip(*boxes))[0], list(zip(*boxes))[1], list(zip(*boxes))[2], list(zip(*boxes))[3], list(zip(*boxes))[4], list(zip(*boxes))[5], list(zip(*boxes))[6]
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
class NumpyArrayEncoder(JSONEncoder):
|
77 |
def default(self, obj):
|
78 |
if isinstance(obj, np.ndarray):
|
|
|
7 |
|
8 |
from Data_Generation.Dataset_Generation_Functions import make_boxes
|
9 |
from Data_Generation.Piecewise_Box_Functions import basic_box_array, forward_slash_array, combine_arrays, add_thickness
|
10 |
+
from Data_Plotting.Plot_TSNE import TSNE_reduction
|
11 |
########################################################################################################################
|
12 |
# User Inputs
|
13 |
image_size = st.slider('Select a value for the image size', min_value=9, max_value=16)
|
|
|
74 |
box_arrays, box_density, basic_box_thickness, forward_slash_box_thickness, back_slash_box_thickness,hot_dog_box_thickness, hamburger_box_thickness\
|
75 |
= list(zip(*boxes))[0], list(zip(*boxes))[1], list(zip(*boxes))[2], list(zip(*boxes))[3], list(zip(*boxes))[4], list(zip(*boxes))[5], list(zip(*boxes))[6]
|
76 |
|
77 |
+
# Plot TSNE of the data
|
78 |
+
# define a function to flatten a 2D array
|
79 |
+
def flatten_array(array):
|
80 |
+
return array.flatten()
|
81 |
+
|
82 |
+
# apply the flatten_array function to each array in the list and create a list of flattened arrays
|
83 |
+
flattened_arrays = [flatten_array(a) for a in box_arrays]
|
84 |
+
|
85 |
+
# Perform the TSNE Reduction
|
86 |
+
x, y, title, embedding = TSNE_reduction(flattened_arrays)
|
87 |
+
|
88 |
+
plt.scatter(x, y)
|
89 |
+
plt.title(title)
|
90 |
+
plt.show()
|
91 |
+
|
92 |
class NumpyArrayEncoder(JSONEncoder):
|
93 |
def default(self, obj):
|
94 |
if isinstance(obj, np.ndarray):
|