surateakash commited on
Commit
4492f83
·
1 Parent(s): c4c51e5

First commit

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +6 -0
  2. .gitignore +19 -0
  3. README.md +36 -7
  4. app.py +16 -0
  5. labels.json +42 -0
  6. predict.py +91 -0
  7. requirements.txt +7 -0
  8. sample_images/airport_terminal/airport-check-in.jpg +3 -0
  9. sample_images/airport_terminal/checkin.jpg +3 -0
  10. sample_images/amphitheatre/amphitheatre.png +3 -0
  11. sample_images/amusement_park/A Swinger Ride.jpg +3 -0
  12. sample_images/amusement_park/airport-check-in.jpg +3 -0
  13. sample_images/art_gallery/art_gallery.jpg +3 -0
  14. sample_images/bakery_shop/ShopInterior.jpg +3 -0
  15. sample_images/bar/Ram02.jpg +3 -0
  16. sample_images/bookstore/book_store.jpg +3 -0
  17. sample_images/botanical_garden/botanical_garden.jpg +3 -0
  18. sample_images/bridge/Medieval_Exe_Bridge_Exeter.jpg +3 -0
  19. sample_images/bridge/ironbridge3.jpg +3 -0
  20. sample_images/bridge/millers.jpg +3 -0
  21. sample_images/bus_interior/29477487945_81aabab695_b.jpg +3 -0
  22. sample_images/bus_interior/37139142640_3807d91aea_b.jpg +3 -0
  23. sample_images/butchers_shop/butcher_shop.jpg +3 -0
  24. sample_images/campsite/camp_site.png +3 -0
  25. sample_images/classroom/classroom.png +3 -0
  26. sample_images/coffee_shop/the-terrace4.jpg +3 -0
  27. sample_images/construction_site/construction_site.jpeg +3 -0
  28. sample_images/courtyard/courtyard.jpg +3 -0
  29. sample_images/driveway/driveway.jpeg +3 -0
  30. sample_images/fire_station/firestation.jpeg +3 -0
  31. sample_images/fountain/fountain.jpg +3 -0
  32. sample_images/gas_station/gas_station.png +3 -0
  33. sample_images/harbour/Harbour.jpg +3 -0
  34. sample_images/highway/highway.png +3 -0
  35. sample_images/kindergarten_classroom/kindergarden_classroon.jpg +3 -0
  36. sample_images/lobby/lobby.jpg +3 -0
  37. sample_images/market_outdoor/img_7421.jpg +3 -0
  38. sample_images/market_outdoor/www.visitexeter.com.jpeg +3 -0
  39. sample_images/museum/7.jpg +3 -0
  40. sample_images/museum/albert-queen-1-5.jpg +3 -0
  41. sample_images/museum/img2295_1.jpg +3 -0
  42. sample_images/office/images.jpeg +3 -0
  43. sample_images/office/images2.jpeg +3 -0
  44. sample_images/parking_lot/parking_lot.png +3 -0
  45. sample_images/phone_booth/phone_booth.jpg +3 -0
  46. sample_images/playground/3146371_077d0213.jpg +3 -0
  47. sample_images/playground/exeter_hall2.jpg +3 -0
  48. sample_images/playground/planet2.jpg +3 -0
  49. sample_images/railroad_track/rail_road_track.jpg +3 -0
  50. sample_images/restaurant/Boston-Tea-Party.jpg +3 -0
.gitattributes CHANGED
@@ -33,3 +33,9 @@ saved_model/**/* 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
 
 
 
 
 
 
 
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
36
+ *.jpg filter=lfs diff=lfs merge=lfs -text
37
+ *.jpeg filter=lfs diff=lfs merge=lfs -text
38
+ *.png filter=lfs diff=lfs merge=lfs -text
39
+ *.gif filter=lfs diff=lfs merge=lfs -text
40
+ *.bmp filter=lfs diff=lfs merge=lfs -text
41
+ *.webp filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Model files
2
+ *.pth
3
+ *.pt
4
+ *.bin
5
+
6
+ # OS files
7
+ .DS_Store
8
+ __pycache__/
9
+ *.py[cod]
10
+ *$py.class
11
+
12
+ # Virtual environment
13
+ venv/
14
+ env/
15
+ .env/
16
+
17
+ # IDE files
18
+ .vscode/
19
+ .idea/
README.md CHANGED
@@ -1,13 +1,42 @@
1
  ---
2
- title: Scene Classification Swin L
3
- emoji: 📚
4
- colorFrom: green
5
- colorTo: yellow
 
6
  sdk: gradio
7
- sdk_version: 5.34.2
8
  app_file: app.py
9
  pinned: false
10
- short_description: scene_classification_swin_l
11
  ---
12
 
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: "AML 16"
3
+ version: "1.0.0"
4
+ emoji: "🤗"
5
+ colorFrom: indigo
6
+ colorTo: pink
7
  sdk: gradio
8
+ sdk_version: "5.29.0"
9
  app_file: app.py
10
  pinned: false
 
11
  ---
12
 
13
+ # AML 16
14
+
15
+ This is a demo application for the best-performing model (Swin-Large) created for the AML 16 project.
16
+ The app uses Gradio to provide an interactive interface where users can upload an image, view the top-1 predicted scene category, see a reference image from the predicted class, and explore the top-5 prediction probabilities in a bar chart.
17
+
18
+ The model was trained for scene classification and deployed using Hugging Face Spaces.
19
+
20
+ - predict.py
21
+ This file handles loading the trained Swin-Large model and making predictions.
22
+ It loads the model weights from Hugging Face Hub, applies the correct image preprocessing, and outputs:
23
+
24
+ The uploaded image,
25
+
26
+ A reference image from the predicted class,
27
+
28
+ The Top-5 prediction probabilities.
29
+
30
+ The model was customized with an updated classifier head, and class labels are loaded from a labels.json file. A random sample image from the predicted class folder is also shown for better visualization.
31
+
32
+ - app.py
33
+ This file builds the Gradio interface.
34
+ It lets users upload an image, runs the prediction using predict.py, and displays:
35
+
36
+ The uploaded image,
37
+
38
+ An image for the top-1 predicted class,
39
+
40
+ The predicted class label,
41
+
42
+ A bar chart showing the Top-5 prediction probabilities.
app.py ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from predict import predict
3
+
4
+ demo = gr.Interface(
5
+ fn=predict,
6
+ inputs=gr.Image(type="filepath", label="Upload Image"),
7
+ outputs=[
8
+ gr.Image(label="Uploaded Image"),
9
+ gr.Image(label="Top-1 Class Example"),
10
+ gr.Label(label="Top-5 Probabilities")
11
+ ],
12
+ title="Scene Classification with Reference Image Testing using Large SWIN version 1.1.0",
13
+ description="Upload an image to get the predicted class with a sample image and top-5 prediction chart."
14
+ )
15
+
16
+ demo.launch()
labels.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "airport_terminal",
3
+ "amphitheatre",
4
+ "amusement_park",
5
+ "art_gallery",
6
+ "bakery_shop",
7
+ "bar",
8
+ "bookstore",
9
+ "botanical_garden",
10
+ "bridge",
11
+ "bus_interior",
12
+ "butchers_shop",
13
+ "campsite",
14
+ "classroom",
15
+ "coffee_shop",
16
+ "construction_site",
17
+ "courtyard",
18
+ "driveway",
19
+ "fire_station",
20
+ "fountain",
21
+ "gas_station",
22
+ "harbour",
23
+ "highway",
24
+ "kindergarten_classroom",
25
+ "lobby",
26
+ "market_outdoor",
27
+ "museum",
28
+ "office",
29
+ "parking_lot",
30
+ "phone_booth",
31
+ "playground",
32
+ "railroad_track",
33
+ "restaurant",
34
+ "river",
35
+ "shed",
36
+ "staircase",
37
+ "supermarket",
38
+ "swimming_pool_outdoor",
39
+ "track",
40
+ "valley",
41
+ "yard"
42
+ ]
predict.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ import torch.nn.init as init
4
+ from transformers import SwinForImageClassification
5
+ from huggingface_hub import hf_hub_download
6
+ from PIL import Image
7
+ import json
8
+ import os
9
+ import random
10
+ from torchvision import transforms
11
+
12
+ # Load labels
13
+ with open("labels.json", "r") as f:
14
+ class_names = json.load(f)
15
+ print("class_names:", class_names)
16
+
17
+ MODEL_NAME = "microsoft/swin-large-patch4-window7-224"
18
+
19
+ class SwinCustom(nn.Module):
20
+ def __init__(self, model_name=MODEL_NAME, num_classes=40):
21
+ super(SwinCustom, self).__init__()
22
+ self.model = SwinForImageClassification.from_pretrained(model_name, num_labels=num_classes, ignore_mismatched_sizes=True)
23
+ in_features = self.model.classifier.in_features
24
+ self.model.classifier = nn.Sequential(
25
+ nn.Linear(in_features, in_features),
26
+ nn.LeakyReLU(),
27
+ nn.Dropout(0.3),
28
+ nn.Linear(in_features, num_classes)
29
+ )
30
+ # Weight initialization
31
+ for m in self.model.classifier:
32
+ if isinstance(m, nn.Linear):
33
+ init.kaiming_uniform_(m.weight, a=0, mode='fan_in', nonlinearity='leaky_relu')
34
+
35
+ def forward(self, images):
36
+ outputs = self.model(images)
37
+ return outputs.logits
38
+
39
+ model_path = hf_hub_download(repo_id="Noha90/AML_16", filename="large_swin_best_model.pth")
40
+ print("Model path:", model_path)
41
+ model = SwinCustom(model_name=MODEL_NAME, num_classes=40)
42
+ state_dict = torch.load(model_path, map_location="cpu")
43
+ if "model_state_dict" in state_dict:
44
+ state_dict = state_dict["model_state_dict"]
45
+ model.load_state_dict(state_dict, strict=False)
46
+ model.eval()
47
+
48
+ # Preprocessing
49
+ transform = transforms.Compose([
50
+ transforms.Resize((224, 224)),
51
+ transforms.ToTensor(),
52
+ transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
53
+ ])
54
+
55
+ def predict(image_path):
56
+ image = Image.open(image_path).convert("RGB")
57
+ x = transform(image).unsqueeze(0)
58
+ with torch.no_grad():
59
+ outputs = model(x)
60
+ print("Logits:", outputs)
61
+ probs = torch.nn.functional.softmax(outputs, dim=1)[0]
62
+ print("Probs:", probs)
63
+ print("Sum of probs:", probs.sum())
64
+ top5 = torch.topk(probs, k=5)
65
+
66
+ top1_idx = int(top5.indices[0])
67
+ top1_label = class_names[top1_idx]
68
+
69
+ # Select a random image from the class subfolder
70
+ class_folder = f"sample_images/{str(top1_label).replace(' ', '_')}"
71
+ reference_image = None
72
+ if os.path.isdir(class_folder):
73
+ image_files = [f for f in os.listdir(class_folder) if f.lower().endswith((".jpg", ".jpeg", ".png", ".bmp", ".gif", ".webp"))]
74
+ if image_files:
75
+ chosen_file = random.choice(image_files)
76
+ ref_path = os.path.join(class_folder, chosen_file)
77
+ print(f"[DEBUG] Randomly selected reference image: {ref_path}")
78
+ reference_image = Image.open(ref_path).convert("RGB")
79
+ else:
80
+ print(f"[DEBUG] No images found in {class_folder}")
81
+ else:
82
+ print(f"[DEBUG] Class folder does not exist: {class_folder}")
83
+
84
+ top5_probs = {class_names[int(idx)]: float(score) for idx, score in zip(top5.indices, top5.values)}
85
+ print(f"image path: {image_path}")
86
+ print(f"top1_label: {top1_label}")
87
+ print(f"[DEBUG] Top-5 indices: {top5.indices}")
88
+ print(f"[DEBUG] Top-5 labels: {[class_names[int(idx)] for idx in top5.indices]}")
89
+ print(f"[DEBUG] Top-5 probs: {top5_probs}")
90
+
91
+ return image, reference_image, top5_probs
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ torch
2
+ torchvision
3
+ transformers
4
+ Pillow
5
+ gradio
6
+ numpy
7
+ huggingface_hub
sample_images/airport_terminal/airport-check-in.jpg ADDED

Git LFS Details

  • SHA256: 183bf4dd47c45a3b475c9f24032c973af82834ab34649deb5c190a1429969569
  • Pointer size: 130 Bytes
  • Size of remote file: 13.9 kB
sample_images/airport_terminal/checkin.jpg ADDED

Git LFS Details

  • SHA256: c0f80e6bdd7ace112fd799fe1f516ac4abe4487a72a19fed0436f82afc2883a7
  • Pointer size: 131 Bytes
  • Size of remote file: 126 kB
sample_images/amphitheatre/amphitheatre.png ADDED

Git LFS Details

  • SHA256: 810f640dbcae341f2a00f5690408eb263941bc2ea1c34dab8e8e55105e7c548a
  • Pointer size: 132 Bytes
  • Size of remote file: 2.77 MB
sample_images/amusement_park/A Swinger Ride.jpg ADDED

Git LFS Details

  • SHA256: 1cad54c6fdb3c5e24c805da6b593ac10cad0543f54dc5a7749bcb37c9072439c
  • Pointer size: 132 Bytes
  • Size of remote file: 1.13 MB
sample_images/amusement_park/airport-check-in.jpg ADDED

Git LFS Details

  • SHA256: d7cd3f5dda8a9d57ce38522de00efba0ae1e817a12d87a20628d60d207200a6a
  • Pointer size: 130 Bytes
  • Size of remote file: 65.8 kB
sample_images/art_gallery/art_gallery.jpg ADDED

Git LFS Details

  • SHA256: ce079953b1811d13779d896ca0d09c425ee4a3e5c386bd2db7d415a806d14fd4
  • Pointer size: 132 Bytes
  • Size of remote file: 1.47 MB
sample_images/bakery_shop/ShopInterior.jpg ADDED

Git LFS Details

  • SHA256: 1b81ae0922fa7bcef4e494c5cba5209db8b887dda0658ed10fd433db257fc016
  • Pointer size: 131 Bytes
  • Size of remote file: 192 kB
sample_images/bar/Ram02.jpg ADDED

Git LFS Details

  • SHA256: 352f1422e9dd9f023ba47045014c7360bf8581fe54a4a60e3715ab5d421e8e61
  • Pointer size: 131 Bytes
  • Size of remote file: 131 kB
sample_images/bookstore/book_store.jpg ADDED

Git LFS Details

  • SHA256: afdb86d9fcf4162b1bdd6204240c5b287363e78158cb70e59546c15564ba8eed
  • Pointer size: 131 Bytes
  • Size of remote file: 458 kB
sample_images/botanical_garden/botanical_garden.jpg ADDED

Git LFS Details

  • SHA256: c3b01ec04f71c857eebe77e561a65711d57b8492ad167291de6bd81f4d3a4cea
  • Pointer size: 131 Bytes
  • Size of remote file: 170 kB
sample_images/bridge/Medieval_Exe_Bridge_Exeter.jpg ADDED

Git LFS Details

  • SHA256: 09107f4c9179937a399ca468453fdb59ee0be437ba70b06b0f362f6d6363a35a
  • Pointer size: 131 Bytes
  • Size of remote file: 650 kB
sample_images/bridge/ironbridge3.jpg ADDED

Git LFS Details

  • SHA256: 2b61f2d27e4983eed7e3798473efc54a4a0dc639a881ff594dcfb96c90526f30
  • Pointer size: 130 Bytes
  • Size of remote file: 19.6 kB
sample_images/bridge/millers.jpg ADDED

Git LFS Details

  • SHA256: 48f1c89295af4487b6d6c2620fd358781e74fff66e5318959b6ee760867542d6
  • Pointer size: 130 Bytes
  • Size of remote file: 15 kB
sample_images/bus_interior/29477487945_81aabab695_b.jpg ADDED

Git LFS Details

  • SHA256: 48121e9141f7b74fe4ebe493328cbdf69332d9ff006d4b8b0d4781d80c93ea99
  • Pointer size: 131 Bytes
  • Size of remote file: 197 kB
sample_images/bus_interior/37139142640_3807d91aea_b.jpg ADDED

Git LFS Details

  • SHA256: 396452d923cf49ab52f51abc14cbc5ea15fe8cb0aa31cbfa35ae6e7a7a83c3ea
  • Pointer size: 131 Bytes
  • Size of remote file: 166 kB
sample_images/butchers_shop/butcher_shop.jpg ADDED

Git LFS Details

  • SHA256: e4aae9ab38fb8cbb1ac6070c7008fd4d27781b6a0f603a3cd43492cb20dea76c
  • Pointer size: 131 Bytes
  • Size of remote file: 280 kB
sample_images/campsite/camp_site.png ADDED

Git LFS Details

  • SHA256: c0b4c4e0b1e4fabda4b37aca5f0c791d96db7e2a99b3e80ada0fa82af11a2f71
  • Pointer size: 132 Bytes
  • Size of remote file: 2.69 MB
sample_images/classroom/classroom.png ADDED

Git LFS Details

  • SHA256: 07709b15bf3f7cd7955cf13aa42fe1c2931fc6f419aa7553f0728c3554c99a4b
  • Pointer size: 132 Bytes
  • Size of remote file: 1.37 MB
sample_images/coffee_shop/the-terrace4.jpg ADDED

Git LFS Details

  • SHA256: 4981278ec05d025e49016da9506848501abe6ae5f6f626541d948d0a2edd4f8c
  • Pointer size: 131 Bytes
  • Size of remote file: 426 kB
sample_images/construction_site/construction_site.jpeg ADDED

Git LFS Details

  • SHA256: 5bf4d3b70a2735346abf150559c17ca38a594b7f8e237b449b6adcbf94e5803e
  • Pointer size: 132 Bytes
  • Size of remote file: 3.94 MB
sample_images/courtyard/courtyard.jpg ADDED

Git LFS Details

  • SHA256: bbdad227928da731d7551ef19b071ef1e79ed38267d726cd6694e4ccd92bab70
  • Pointer size: 131 Bytes
  • Size of remote file: 150 kB
sample_images/driveway/driveway.jpeg ADDED

Git LFS Details

  • SHA256: 3dcab8dca590b08d3cb0fbf101adf4f587c11ce907ca9a401c896c58ce533f0b
  • Pointer size: 131 Bytes
  • Size of remote file: 443 kB
sample_images/fire_station/firestation.jpeg ADDED

Git LFS Details

  • SHA256: 8f4407245124249a1782f4d199aab69085a70ec1474e604f1c071b737b83a02c
  • Pointer size: 130 Bytes
  • Size of remote file: 10.5 kB
sample_images/fountain/fountain.jpg ADDED

Git LFS Details

  • SHA256: 26e3c8141f9cab36621ef5d3b596c281b83b255880f2815625237358cdc3bda2
  • Pointer size: 131 Bytes
  • Size of remote file: 140 kB
sample_images/gas_station/gas_station.png ADDED

Git LFS Details

  • SHA256: 036a872401add9ff1e07594568647c5c3871186d6d8692486d48333b83053ed6
  • Pointer size: 132 Bytes
  • Size of remote file: 1.58 MB
sample_images/harbour/Harbour.jpg ADDED

Git LFS Details

  • SHA256: e6f99bcaf3698c6aa8b902a2ca2114c70287ab900274a5a612284b2b66f66eba
  • Pointer size: 131 Bytes
  • Size of remote file: 511 kB
sample_images/highway/highway.png ADDED

Git LFS Details

  • SHA256: 619c3e69243348e41f2d8a3f919b5918068ef778c89d7fe68b0e9518a2e35538
  • Pointer size: 132 Bytes
  • Size of remote file: 1.47 MB
sample_images/kindergarten_classroom/kindergarden_classroon.jpg ADDED

Git LFS Details

  • SHA256: d02230c54485ecefd0bd039271f11a4632aa25a3ae5a28163255c4433d513bf1
  • Pointer size: 130 Bytes
  • Size of remote file: 38 kB
sample_images/lobby/lobby.jpg ADDED

Git LFS Details

  • SHA256: 85f7fdea6b2929d77f06af9af9aee841f2f77c60160166535f8a8e72dfbeba6b
  • Pointer size: 131 Bytes
  • Size of remote file: 844 kB
sample_images/market_outdoor/img_7421.jpg ADDED

Git LFS Details

  • SHA256: 959c7fddbcbe2670b756e63d3713952dcb9690ccd3b11474aac04988716efc80
  • Pointer size: 131 Bytes
  • Size of remote file: 131 kB
sample_images/market_outdoor/www.visitexeter.com.jpeg ADDED

Git LFS Details

  • SHA256: 3afa600e9eb84af18e4223e8da4fd679933d1975fdb9a3598a428f8df1ca4290
  • Pointer size: 131 Bytes
  • Size of remote file: 155 kB
sample_images/museum/7.jpg ADDED

Git LFS Details

  • SHA256: 1a7e07e3ce4538070e62dd4221467cb8ac925612f658f80c09cf2c28c0f8b6fc
  • Pointer size: 131 Bytes
  • Size of remote file: 262 kB
sample_images/museum/albert-queen-1-5.jpg ADDED

Git LFS Details

  • SHA256: 5201cf18bacbca26d076879fd57f2c89fa0d6cbda71ab16d6dadc2638812f459
  • Pointer size: 130 Bytes
  • Size of remote file: 41.1 kB
sample_images/museum/img2295_1.jpg ADDED

Git LFS Details

  • SHA256: 002b9e1ae029f6a2c400b10d2d7bdd9fd5b7fc8c3dc773e167dbb452fd7bc6f4
  • Pointer size: 130 Bytes
  • Size of remote file: 49.9 kB
sample_images/office/images.jpeg ADDED

Git LFS Details

  • SHA256: 2c4dc44e6705ceca7c443e7abba364ada3f48290cf7c7e6f25e8ec5dcd98798f
  • Pointer size: 130 Bytes
  • Size of remote file: 10.2 kB
sample_images/office/images2.jpeg ADDED

Git LFS Details

  • SHA256: f3e67de0989943077bd4174f29116ac505f0db638423557e531ad34bae16bd15
  • Pointer size: 129 Bytes
  • Size of remote file: 9.23 kB
sample_images/parking_lot/parking_lot.png ADDED

Git LFS Details

  • SHA256: fb75fa0c8fe2370b0b7ee841bd5417588414d51ebf5eff111b5569ca252a3ef0
  • Pointer size: 131 Bytes
  • Size of remote file: 557 kB
sample_images/phone_booth/phone_booth.jpg ADDED

Git LFS Details

  • SHA256: d866086bbcd37a8763062ef3874f4313282b1ed19f6f4bb4d426d27e66402539
  • Pointer size: 131 Bytes
  • Size of remote file: 218 kB
sample_images/playground/3146371_077d0213.jpg ADDED

Git LFS Details

  • SHA256: 58e093f00bd1f72ec080e30c19f8bc003ec3734a0b76b985ed5e7f0daf8526c7
  • Pointer size: 130 Bytes
  • Size of remote file: 83.6 kB
sample_images/playground/exeter_hall2.jpg ADDED

Git LFS Details

  • SHA256: bf5d7180637a606fdf9791ab7c0165247a9d4cc610d48c72ddeaf564876c236b
  • Pointer size: 131 Bytes
  • Size of remote file: 214 kB
sample_images/playground/planet2.jpg ADDED

Git LFS Details

  • SHA256: 3c3276d4e7b6ee561b95b3d88c4cb99ac74a12350ab87d38369a53fd12623b9f
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
sample_images/railroad_track/rail_road_track.jpg ADDED

Git LFS Details

  • SHA256: 128f52db2258b037e3d543a8a43cc32e4100aa2670c1a6b62880f499bb80660b
  • Pointer size: 131 Bytes
  • Size of remote file: 115 kB
sample_images/restaurant/Boston-Tea-Party.jpg ADDED

Git LFS Details

  • SHA256: fc93ed3c587d88598e2a9afa54d1ee395036693b23e31fe59c2323ee8e8c1e6b
  • Pointer size: 132 Bytes
  • Size of remote file: 2.59 MB