miknad2319 commited on
Commit
b824c2c
1 Parent(s): 2274de8

uploading everything

Browse files
Files changed (6) hide show
  1. Pipfile +12 -0
  2. Pipfile.lock +125 -0
  3. face_feature_vecs.csv +3 -0
  4. face_labels.csv +3 -0
  5. featurizer.py +60 -0
  6. requirements.txt +3 -0
Pipfile ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [[source]]
2
+ url = "https://pypi.org/simple"
3
+ verify_ssl = true
4
+ name = "pypi"
5
+
6
+ [packages]
7
+ scikit-learn = "*"
8
+
9
+ [dev-packages]
10
+
11
+ [requires]
12
+ python_version = "3.10"
Pipfile.lock ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_meta": {
3
+ "hash": {
4
+ "sha256": "455b4659c7c6ebc9746ce2c17e0423d9b60ac22832ebbccebf6ab1c265fb8ea6"
5
+ },
6
+ "pipfile-spec": 6,
7
+ "requires": {
8
+ "python_version": "3.10"
9
+ },
10
+ "sources": [
11
+ {
12
+ "name": "pypi",
13
+ "url": "https://pypi.org/simple",
14
+ "verify_ssl": true
15
+ }
16
+ ]
17
+ },
18
+ "default": {
19
+ "joblib": {
20
+ "hashes": [
21
+ "sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385",
22
+ "sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018"
23
+ ],
24
+ "markers": "python_version >= '3.7'",
25
+ "version": "==1.2.0"
26
+ },
27
+ "numpy": {
28
+ "hashes": [
29
+ "sha256:003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22",
30
+ "sha256:150947adbdfeceec4e5926d956a06865c1c690f2fd902efede4ca6fe2e657c3f",
31
+ "sha256:2620e8592136e073bd12ee4536149380695fbe9ebeae845b81237f986479ffc9",
32
+ "sha256:2eabd64ddb96a1239791da78fa5f4e1693ae2dadc82a76bc76a14cbb2b966e96",
33
+ "sha256:4173bde9fa2a005c2c6e2ea8ac1618e2ed2c1c6ec8a7657237854d42094123a0",
34
+ "sha256:4199e7cfc307a778f72d293372736223e39ec9ac096ff0a2e64853b866a8e18a",
35
+ "sha256:4cecaed30dc14123020f77b03601559fff3e6cd0c048f8b5289f4eeabb0eb281",
36
+ "sha256:557d42778a6869c2162deb40ad82612645e21d79e11c1dc62c6e82a2220ffb04",
37
+ "sha256:63e45511ee4d9d976637d11e6c9864eae50e12dc9598f531c035265991910468",
38
+ "sha256:6524630f71631be2dabe0c541e7675db82651eb998496bbe16bc4f77f0772253",
39
+ "sha256:76807b4063f0002c8532cfeac47a3068a69561e9c8715efdad3c642eb27c0756",
40
+ "sha256:7de8fdde0003f4294655aa5d5f0a89c26b9f22c0a58790c38fae1ed392d44a5a",
41
+ "sha256:889b2cc88b837d86eda1b17008ebeb679d82875022200c6e8e4ce6cf549b7acb",
42
+ "sha256:92011118955724465fb6853def593cf397b4a1367495e0b59a7e69d40c4eb71d",
43
+ "sha256:97cf27e51fa078078c649a51d7ade3c92d9e709ba2bfb97493007103c741f1d0",
44
+ "sha256:9a23f8440561a633204a67fb44617ce2a299beecf3295f0d13c495518908e910",
45
+ "sha256:a51725a815a6188c662fb66fb32077709a9ca38053f0274640293a14fdd22978",
46
+ "sha256:a77d3e1163a7770164404607b7ba3967fb49b24782a6ef85d9b5f54126cc39e5",
47
+ "sha256:adbdce121896fd3a17a77ab0b0b5eedf05a9834a18699db6829a64e1dfccca7f",
48
+ "sha256:c29e6bd0ec49a44d7690ecb623a8eac5ab8a923bce0bea6293953992edf3a76a",
49
+ "sha256:c72a6b2f4af1adfe193f7beb91ddf708ff867a3f977ef2ec53c0ffb8283ab9f5",
50
+ "sha256:d0a2db9d20117bf523dde15858398e7c0858aadca7c0f088ac0d6edd360e9ad2",
51
+ "sha256:e3ab5d32784e843fc0dd3ab6dcafc67ef806e6b6828dc6af2f689be0eb4d781d",
52
+ "sha256:e428c4fbfa085f947b536706a2fc349245d7baa8334f0c5723c56a10595f9b95",
53
+ "sha256:e8d2859428712785e8a8b7d2b3ef0a1d1565892367b32f915c4a4df44d0e64f5",
54
+ "sha256:eef70b4fc1e872ebddc38cddacc87c19a3709c0e3e5d20bf3954c147b1dd941d",
55
+ "sha256:f64bb98ac59b3ea3bf74b02f13836eb2e24e48e0ab0145bbda646295769bd780",
56
+ "sha256:f9006288bcf4895917d02583cf3411f98631275bc67cce355a7f39f8c14338fa"
57
+ ],
58
+ "markers": "python_version >= '3.8'",
59
+ "version": "==1.24.2"
60
+ },
61
+ "scikit-learn": {
62
+ "hashes": [
63
+ "sha256:065e9673e24e0dc5113e2dd2b4ca30c9d8aa2fa90f4c0597241c93b63130d233",
64
+ "sha256:2dd3ffd3950e3d6c0c0ef9033a9b9b32d910c61bd06cb8206303fb4514b88a49",
65
+ "sha256:2e2642baa0ad1e8f8188917423dd73994bf25429f8893ddbe115be3ca3183584",
66
+ "sha256:44b47a305190c28dd8dd73fc9445f802b6ea716669cfc22ab1eb97b335d238b1",
67
+ "sha256:6477eed40dbce190f9f9e9d0d37e020815825b300121307942ec2110302b66a3",
68
+ "sha256:6fe83b676f407f00afa388dd1fdd49e5c6612e551ed84f3b1b182858f09e987d",
69
+ "sha256:7d5312d9674bed14f73773d2acf15a3272639b981e60b72c9b190a0cffed5bad",
70
+ "sha256:7f69313884e8eb311460cc2f28676d5e400bd929841a2c8eb8742ae78ebf7c20",
71
+ "sha256:8156db41e1c39c69aa2d8599ab7577af53e9e5e7a57b0504e116cc73c39138dd",
72
+ "sha256:8429aea30ec24e7a8c7ed8a3fa6213adf3814a6efbea09e16e0a0c71e1a1a3d7",
73
+ "sha256:8b0670d4224a3c2d596fd572fb4fa673b2a0ccfb07152688ebd2ea0b8c61025c",
74
+ "sha256:953236889928d104c2ef14027539f5f2609a47ebf716b8cbe4437e85dce42744",
75
+ "sha256:99cc01184e347de485bf253d19fcb3b1a3fb0ee4cea5ee3c43ec0cc429b6d29f",
76
+ "sha256:9c710ff9f9936ba8a3b74a455ccf0dcf59b230caa1e9ba0223773c490cab1e51",
77
+ "sha256:ad66c3848c0a1ec13464b2a95d0a484fd5b02ce74268eaa7e0c697b904f31d6c",
78
+ "sha256:bf036ea7ef66115e0d49655f16febfa547886deba20149555a41d28f56fd6d3c",
79
+ "sha256:dfeaf8be72117eb61a164ea6fc8afb6dfe08c6f90365bde2dc16456e4bc8e45f",
80
+ "sha256:e6e574db9914afcb4e11ade84fab084536a895ca60aadea3041e85b8ac963edb",
81
+ "sha256:ea061bf0283bf9a9f36ea3c5d3231ba2176221bbd430abd2603b1c3b2ed85c89",
82
+ "sha256:fe0aa1a7029ed3e1dcbf4a5bc675aa3b1bc468d9012ecf6c6f081251ca47f590",
83
+ "sha256:fe175ee1dab589d2e1033657c5b6bec92a8a3b69103e3dd361b58014729975c3"
84
+ ],
85
+ "index": "pypi",
86
+ "version": "==1.2.2"
87
+ },
88
+ "scipy": {
89
+ "hashes": [
90
+ "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415",
91
+ "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f",
92
+ "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd",
93
+ "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f",
94
+ "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d",
95
+ "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601",
96
+ "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5",
97
+ "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88",
98
+ "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f",
99
+ "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e",
100
+ "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2",
101
+ "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353",
102
+ "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35",
103
+ "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6",
104
+ "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea",
105
+ "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35",
106
+ "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1",
107
+ "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9",
108
+ "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5",
109
+ "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019",
110
+ "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1"
111
+ ],
112
+ "markers": "python_version < '3.12' and python_version >= '3.8'",
113
+ "version": "==1.10.1"
114
+ },
115
+ "threadpoolctl": {
116
+ "hashes": [
117
+ "sha256:8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b",
118
+ "sha256:a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380"
119
+ ],
120
+ "markers": "python_version >= '3.6'",
121
+ "version": "==3.1.0"
122
+ }
123
+ },
124
+ "develop": {}
125
+ }
face_feature_vecs.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ae9b94b41a9e81924a41eb58a349c19d6f30359b95a07d8c9a177ee323f51bc
3
+ size 303673119
face_labels.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07ea5e42025c67c4f2ef00ad7c46d5b0f0e4485a8d739d7a8f5da87b74d340c8
3
+ size 379928
featurizer.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ import os
5
+ from os import path
6
+ import matplotlib.pyplot as plt
7
+ from itertools import cycle
8
+ from sklearn.neighbors import NearestNeighbors
9
+
10
+ feature_vecs = pd.read_csv("face_feature_vecs.csv")
11
+ feature_vecs = feature_vecs.iloc[:, 1:]
12
+ feature_vecs_array = feature_vecs.to_numpy()
13
+
14
+ neighborhood = NearestNeighbors(n_neighbors=11)
15
+ neighborhood.fit(feature_vecs_array)
16
+
17
+ face_labels_df = pd.read_csv("face_labels.csv")
18
+ face_labels_df = pd.DataFrame({"Name" : face_labels_df["0"]})
19
+ face_labels = face_labels_df["Name"].values
20
+ current_dir = os.getcwd()
21
+ faces_dir = os.path.join(current_dir, "faces/")
22
+
23
+ # test_indices = np.random.randint(0, len(face_labels), 10)
24
+ # neighborhood = test_indices
25
+
26
+ print(faces_dir)
27
+ with st.form(key="init_form"):
28
+
29
+ choice = st.selectbox("Choose Picture", face_labels)
30
+ face_index = np.where(face_labels == choice)[0]
31
+ img_path = os.path.join(faces_dir, choice)
32
+ # st.image(img_path)
33
+ st.image(img_path)
34
+
35
+ neighbors = neighborhood.kneighbors(feature_vecs_array[face_index].reshape(1,-1))
36
+ neighbors = neighbors[-1][0][1:]
37
+
38
+ face_paths = [os.path.join(faces_dir, face_labels[index]) for index in neighbors]
39
+ # The index of choice in model_pointers will access the models list
40
+ # and select the Hugging Face model path at index.
41
+ analyze = st.form_submit_button("Analyze")
42
+
43
+ if analyze:
44
+ with st.spinner("Analyzing..."):
45
+
46
+ st.write("Nothing Yet")
47
+
48
+
49
+ cols = cycle(st.columns(5)) # st.columns here since it is out of beta at the time I'm writing this
50
+ for idx, face in enumerate(face_paths):
51
+ next(cols).image(face, width=150, caption=face_labels[neighbors[idx]])
52
+
53
+ # sentiment_pipeline = pipeline(model=user_picked_model)
54
+ # sentiment_results=sentiment_pipeline(input_text)
55
+ # st.write(f"Sentiment: {sentiment_results[0]['label']}")
56
+ # st.write(f"Score: {sentiment_results[0]['score']}")
57
+ else:
58
+ st.write("no input detected")
59
+
60
+
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ streamlit
2
+ sklearn
3
+ matplotlib