Dominion-John commited on
Commit
e560475
·
1 Parent(s): d3676c7

Add files and folders to G-FASHION

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
.gitattributes CHANGED
@@ -1,35 +1,7 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ feature_list.pkl filter=lfs diff=lfs merge=lfs -text
2
+ images1/* filter=lfs diff=lfs merge=lfs -text
3
+ images2/* filter=lfs diff=lfs merge=lfs -text
4
+ images3/* filter=lfs diff=lfs merge=lfs -text
5
+ images4/* filter=lfs diff=lfs merge=lfs -text
6
+ images5/* filter=lfs diff=lfs merge=lfs -text
7
+ filepath.pkl filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md CHANGED
@@ -1,13 +1,32 @@
1
  ---
2
- title: G FASHION
3
- emoji: 📈
4
- colorFrom: red
5
- colorTo: blue
6
  sdk: streamlit
7
- sdk_version: 1.34.0
8
  app_file: app.py
9
  pinned: false
10
  license: apache-2.0
11
  ---
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Goody Goody Fashion Store
3
+ emoji: 🏆
4
+ colorFrom: yellow
5
+ colorTo: indigo
6
  sdk: streamlit
7
+ sdk_version: 1.26.0
8
  app_file: app.py
9
  pinned: false
10
  license: apache-2.0
11
  ---
12
 
13
+ "FASHION RECOMMENDER SYSTEM"
14
+
15
+ Game Plan Image Dataset: Start with a dataset containing 44,000 fashion images.
16
+
17
+ Pre-trained Model - ResNet-50: Utilize the pre-trained ResNet-50 model, a convolutional neural network (CNN) trained on a large dataset for image classification tasks.
18
+
19
+ Extracting Embeddings: Pass each image through the ResNet-50 model to extract feature embeddings. The output will be a numerical vector (embedding) that represents the image's features
20
+
21
+ Embedding Extraction Function: Define a function to extract embeddings using the pre-trained ResNet-50 model. This function takes an image as input and returns the corresponding feature embedding.
22
+
23
+ Search for Similar Embeddings: When a new image is presented to the system: Use the embedding extraction function to obtain the embedding for the new image. Compare this embedding with the embeddings of all images in the dataset.
24
+
25
+ Similarity Ranking: Calculate the similarity between the embeddings (e.g., cosine similarity). Rank the images based on their similarity to the embedding of the new image.
26
+
27
+ Top 5 Similar Images: Select the top 5 images with the highest similarity scores.
28
+
29
+ Display Recommendations: Display the top 5 images as fashion recommendations for the given new image.
30
+
31
+
32
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from PIL import Image
3
+ import numpy as np
4
+ import pickle
5
+ import os
6
+ import tensorflow
7
+ from tensorflow.keras.preprocessing import image
8
+ from tensorflow.keras.layers import GlobalMaxPooling2D, Dense
9
+ from sklearn.neighbors import NearestNeighbors
10
+ from numpy.linalg import norm
11
+ from classification_models.tfkeras import Classifiers
12
+
13
+ filenames = pickle.load(open('filepath.pkl','rb'))
14
+ feature_list = pickle.load(open('feature_list.pkl','rb'))
15
+ feature_list = np.array(feature_list)
16
+ # Get the ResNeXt model
17
+ ResNeXt50, preprocess_input = Classifiers.get('resnext50')
18
+ # create a model instance
19
+ model = ResNeXt50(include_top=False, input_shape=(224, 224, 3), weights='imagenet')
20
+ model.trainable = False
21
+ model = tensorflow.keras.Sequential([model,GlobalMaxPooling2D()])
22
+
23
+ st.title('goody goody fashion store')
24
+
25
+ def save_uploaded_file(uploaded_file):
26
+ try:
27
+ # Check if the 'uploads' directory exists. If not, create it.
28
+ if not os.path.exists('uploads'):
29
+ os.makedirs('uploads')
30
+
31
+ with open(os.path.join('uploads',uploaded_file.name),'wb') as f:
32
+ f.write(uploaded_file.getbuffer())
33
+ return 1
34
+ except Exception as e:
35
+ # Print the exception message
36
+ print(f"Error in save_uploaded_file: {e}")
37
+ return 0
38
+
39
+ def feature_extraction(img_path,model):
40
+ img = image.load_img(img_path, target_size=(224, 224))
41
+ img_array = image.img_to_array(img)
42
+ expanded_img_array = np.expand_dims(img_array, axis=0)
43
+ preprocessed_img = preprocess_input(expanded_img_array)
44
+ result = model.predict(preprocessed_img).flatten()
45
+ normalized_result = result / norm(result)
46
+
47
+ return normalized_result
48
+
49
+ def recommend(features,feature_list):
50
+ neighbors = NearestNeighbors(n_neighbors=6, algorithm='brute', metric='cosine')
51
+ neighbors.fit(feature_list)
52
+
53
+ distances, indices = neighbors.kneighbors([features])
54
+
55
+ return indices
56
+
57
+ uploaded_file = st.file_uploader("Choose an image")
58
+ if uploaded_file is not None:
59
+ if save_uploaded_file(uploaded_file):
60
+ display_image = Image.open(uploaded_file)
61
+ st.image(display_image)
62
+ features = feature_extraction(os.path.join("uploads",uploaded_file.name),model)
63
+ indices = recommend(features,feature_list)
64
+ col1,col2,col3,col4,col5 = st.columns(5)
65
+
66
+ # Add a print statement to print the file path
67
+ print(f"File path: {filenames[indices[0][0]]}")
68
+
69
+ with col1:
70
+ st.image(r'{}'.format(filenames[indices[0][0]]))
71
+ with col2:
72
+ st.image(r'{}'.format(filenames[indices[0][1]]))
73
+ with col3:
74
+ st.image(r'{}'.format(filenames[indices[0][2]]))
75
+ with col4:
76
+ st.image(r'{}'.format(filenames[indices[0][3]]))
77
+ with col5:
78
+ st.image(r'{}'.format(filenames[indices[0][4]]))
79
+ else:
80
+ st.header("Some error occured in file upload")
feature_list.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7ba82b5128afe62827a31739b85bcd15bc5174b58f563bed06858dcb698c7d0d
3
+ size 365621870
filepath.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8a6d99cd8cc6f4fccfa30b8c4527458f164c9d4ef560955d226dceb5e3ddf637
3
+ size 881913
images1/10000.jpg ADDED

Git LFS Details

  • SHA256: 0648782a6a03c49aa2ca2a1ada3f6d2361524b1755f29ebc6338b06f847e2d28
  • Pointer size: 129 Bytes
  • Size of remote file: 1.03 kB
images1/10001.jpg ADDED

Git LFS Details

  • SHA256: d7c48b5b82dcd5e85367e33070be2396a994f9644e7448bed19802eb0262e1dd
  • Pointer size: 129 Bytes
  • Size of remote file: 1.21 kB
images1/10002.jpg ADDED

Git LFS Details

  • SHA256: bfd38f3a0dda4e0bd1cefee67d4dbc7a24872d4f3883a2fd550a4eb0f37e969f
  • Pointer size: 128 Bytes
  • Size of remote file: 807 Bytes
images1/10003.jpg ADDED

Git LFS Details

  • SHA256: ae268bffe0146c8be784e1dff843eedc34b3b5eaf9d04f2d1ce7f590285192b5
  • Pointer size: 130 Bytes
  • Size of remote file: 11.6 kB
images1/10004.jpg ADDED

Git LFS Details

  • SHA256: 089500812c65f133d5bed1e0b72f951e45a44ee72f911466abeaafd1416e96a3
  • Pointer size: 130 Bytes
  • Size of remote file: 20.6 kB
images1/10005.jpg ADDED

Git LFS Details

  • SHA256: 08f4e9171a6700fa9359a3bfa9391ae972bf53eabdf255a0beecc51a45c0b7bc
  • Pointer size: 130 Bytes
  • Size of remote file: 16.7 kB
images1/10006.jpg ADDED

Git LFS Details

  • SHA256: febbe5bf81ede25a0d3e225c279f5f12c03e8779d56e51aeab6904f4c357a321
  • Pointer size: 129 Bytes
  • Size of remote file: 2.15 kB
images1/10007.jpg ADDED

Git LFS Details

  • SHA256: e67d7016e5a2fc0a8f6cffac8fdc2ba8c63be4ad3135014606fe1063edb57a2f
  • Pointer size: 130 Bytes
  • Size of remote file: 18.9 kB
images1/10008.jpg ADDED

Git LFS Details

  • SHA256: f4be1dc97094691ee01163b50686142cdd1634ae2f9579ade5435a4317b803c6
  • Pointer size: 129 Bytes
  • Size of remote file: 1.88 kB
images1/10009.jpg ADDED

Git LFS Details

  • SHA256: 8369fac344fbdad663fe79b6cb302d095616dea5b51064a018e1de8f223a071c
  • Pointer size: 130 Bytes
  • Size of remote file: 17 kB
images1/10010.jpg ADDED

Git LFS Details

  • SHA256: 063a9880a1404e5074d1b33d26e938d2722194f0971adf0ef58ac4c9d81995a0
  • Pointer size: 130 Bytes
  • Size of remote file: 14.6 kB
images1/10011.jpg ADDED

Git LFS Details

  • SHA256: 5727af625189d3b22268128de5a7e99c67e6ee4ca1ec4eb14c24857ce5379bf5
  • Pointer size: 129 Bytes
  • Size of remote file: 3.15 kB
images1/10012.jpg ADDED

Git LFS Details

  • SHA256: 4c01c87419a5b1752eb9e80d921b1e644b8ccfbe4335030be25a12bbeae7fcad
  • Pointer size: 129 Bytes
  • Size of remote file: 2.26 kB
images1/10013.jpg ADDED

Git LFS Details

  • SHA256: 6a975bff4c27166ba386b5826fcecf68d497e44cd519135f6d3b2c3c3c833597
  • Pointer size: 130 Bytes
  • Size of remote file: 15.6 kB
images1/10014.jpg ADDED

Git LFS Details

  • SHA256: db2e1e05c11b691d70f4c17e18f832f2708e64528e6cf5735eff1d182f7091a4
  • Pointer size: 129 Bytes
  • Size of remote file: 2.08 kB
images1/10015.jpg ADDED

Git LFS Details

  • SHA256: 981a7b32a09263a1e6b4543cabd447b4ae9ce78a034c0c819ac26269aab333ed
  • Pointer size: 129 Bytes
  • Size of remote file: 2.03 kB
images1/10016.jpg ADDED

Git LFS Details

  • SHA256: 00f836bd0389d0215b552715c7f39ece9141a6fb68fd8c39c9caf879b87e2523
  • Pointer size: 129 Bytes
  • Size of remote file: 2.53 kB
images1/10017.jpg ADDED

Git LFS Details

  • SHA256: 012f346c588852c4e3f96e3ee49069cdff761327a2b4b91b53d1bfcf30e3175c
  • Pointer size: 130 Bytes
  • Size of remote file: 15.5 kB
images1/10018.jpg ADDED

Git LFS Details

  • SHA256: 8af023a14d3bbff0bab1a5d3284fe8eed77c00945139d800fb5d8668cdb5e746
  • Pointer size: 130 Bytes
  • Size of remote file: 14.8 kB
images1/10019.jpg ADDED

Git LFS Details

  • SHA256: 7c14f5362b0097bf6438c95f332b982411f80523720c3776d172d0cc7806bbd2
  • Pointer size: 129 Bytes
  • Size of remote file: 2.5 kB
images1/10020.jpg ADDED

Git LFS Details

  • SHA256: 2823940987622eeff25a36b7ee8dbbae1a58ba066bee15672d7c3d9c55354827
  • Pointer size: 129 Bytes
  • Size of remote file: 1.87 kB
images1/10021.jpg ADDED

Git LFS Details

  • SHA256: c4b049145bd25650bd68834ff816397d0bba86c28cd6515ba500b0aa119f28a1
  • Pointer size: 130 Bytes
  • Size of remote file: 11.8 kB
images1/10022.jpg ADDED

Git LFS Details

  • SHA256: 41f7772f8c52844950c9515dc5c2de9c0dc9ffc847eec29905e32e986f7b3c22
  • Pointer size: 130 Bytes
  • Size of remote file: 15.6 kB
images1/10023.jpg ADDED

Git LFS Details

  • SHA256: 9b87a4671ab8cc465ed8e2e65ecac2d0dda2509d5c131127c5df88a590e436c2
  • Pointer size: 129 Bytes
  • Size of remote file: 1.68 kB
images1/10024.jpg ADDED

Git LFS Details

  • SHA256: e10d95505182689370eaeff245cd26eec14427133c75d456ba90058869d4abfd
  • Pointer size: 130 Bytes
  • Size of remote file: 18 kB
images1/10025.jpg ADDED

Git LFS Details

  • SHA256: 87e551c86146f87c641d04c255823b9235b7c6213e4b13afbb8ca58ad175f419
  • Pointer size: 129 Bytes
  • Size of remote file: 2.7 kB
images1/10026.jpg ADDED

Git LFS Details

  • SHA256: 231353b9eb567fe5b700ff29f6f2b7714b886e102b0339e7389b618768c08e44
  • Pointer size: 129 Bytes
  • Size of remote file: 2.14 kB
images1/10027.jpg ADDED

Git LFS Details

  • SHA256: 0acb80bc457ecf7189df03a74ebf83ed61962a1e276b331385fcda3a3b1fc56e
  • Pointer size: 130 Bytes
  • Size of remote file: 16.8 kB
images1/10028.jpg ADDED

Git LFS Details

  • SHA256: 2c5118e6166cb5832fdb1146944c672ad046e30c448ceedabbf7ba886f0df2b6
  • Pointer size: 129 Bytes
  • Size of remote file: 1.36 kB
images1/10029.jpg ADDED

Git LFS Details

  • SHA256: fa452e6633173a029868a41fadc89dc0683ad9d672120cf8a21c4663f2b27c9f
  • Pointer size: 129 Bytes
  • Size of remote file: 1.93 kB
images1/10030.jpg ADDED

Git LFS Details

  • SHA256: 213aa7740382359a73f513a70fbb89715b0b4e6b4ad5982ef834d8b08a17fbf4
  • Pointer size: 129 Bytes
  • Size of remote file: 2.84 kB
images1/10031.jpg ADDED

Git LFS Details

  • SHA256: 1523e5eab6d387273ca8b68cdde41854126233218c671b223f63f31e57bc8429
  • Pointer size: 130 Bytes
  • Size of remote file: 14.1 kB
images1/10032.jpg ADDED

Git LFS Details

  • SHA256: e3aaa29114838813e9897dc3a3aca235ea627c55f1d1ffeb55869046dadda5d7
  • Pointer size: 130 Bytes
  • Size of remote file: 15.1 kB
images1/10033.jpg ADDED

Git LFS Details

  • SHA256: bdf5893dab9c3e21014adc9f0a3b9cd13ce082a2c838cf3b505a4f46e4bc9a86
  • Pointer size: 130 Bytes
  • Size of remote file: 13 kB
images1/10034.jpg ADDED

Git LFS Details

  • SHA256: 60df39caaae2606ee218b3f9a97e70127c6ae186d6d3d57cab5be6d50b89bc40
  • Pointer size: 130 Bytes
  • Size of remote file: 14.5 kB
images1/10035.jpg ADDED

Git LFS Details

  • SHA256: d23b4fb247e74a33f00c37800d57e2b02cfb9639eba6666e2b0055e1fd690f04
  • Pointer size: 129 Bytes
  • Size of remote file: 1.84 kB
images1/10037.jpg ADDED

Git LFS Details

  • SHA256: 7a1c0116bb632ef8771d39ba05a1b5db9701f7aa6e0fbd9a4cd4bc74c4ace6da
  • Pointer size: 129 Bytes
  • Size of remote file: 2.07 kB
images1/10039.jpg ADDED

Git LFS Details

  • SHA256: 7ecf82571c124d03a25344e918b8034c15ddca2b26a15def8511504ef6220259
  • Pointer size: 129 Bytes
  • Size of remote file: 2.02 kB
images1/10040.jpg ADDED

Git LFS Details

  • SHA256: 4e53409c3a047322d1f35011aba1885e028ea65b02af77c169a42370028a3297
  • Pointer size: 129 Bytes
  • Size of remote file: 1.27 kB
images1/10041.jpg ADDED

Git LFS Details

  • SHA256: d0b81ff6250b7f3d4e760552e1f9edaed5ecee01b71625e2dc63f40d45296481
  • Pointer size: 130 Bytes
  • Size of remote file: 14.9 kB
images1/10042.jpg ADDED

Git LFS Details

  • SHA256: 9f10a02cb05686949e2b3b0307959d40bdc20fb8ea23028685428d967e39cb87
  • Pointer size: 130 Bytes
  • Size of remote file: 13.5 kB
images1/10043.jpg ADDED

Git LFS Details

  • SHA256: f34c2fb1a2e2dbbfad7adc84f842518850c5f16ce99d957c831a061748506586
  • Pointer size: 129 Bytes
  • Size of remote file: 2.05 kB
images1/10044.jpg ADDED

Git LFS Details

  • SHA256: 478ba3de17fe378dc1f5c4d5052968a5cf544ca15b4de31c9a33aa6c43f5e69b
  • Pointer size: 129 Bytes
  • Size of remote file: 2 kB
images1/10045.jpg ADDED

Git LFS Details

  • SHA256: 89e0e65e5e1fca0d79782d4f08c17db5bef6aaa83b2cdebd6e2805e0aab42435
  • Pointer size: 129 Bytes
  • Size of remote file: 2.42 kB
images1/10046.jpg ADDED

Git LFS Details

  • SHA256: 21f906cbd92c236c2ad9ceaa054a351e36e14541a81a3053e9fc0b9b1b5c94cc
  • Pointer size: 129 Bytes
  • Size of remote file: 2.17 kB