wiklif commited on
Commit
daa4333
·
1 Parent(s): 3b68123

second 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 +4 -0
  2. Dockerfile +10 -0
  3. app.py +33 -4
  4. predict_model.py +63 -0
  5. raw-img/alf/15835_1.8.jpg +3 -0
  6. raw-img/alf/25d2bca0eeb53d25f03324ca0c81b34e-51.jpg_ooooxooxox_1280x720.jpg +3 -0
  7. raw-img/alf/42703_l2.jpg +3 -0
  8. raw-img/alf/647b6a6f-2203-4b10-a029-bd2a581d2fae.jpg +3 -0
  9. raw-img/alf/64bd2aaed9afb_o_full.jpg +3 -0
  10. raw-img/alf/8d2d6faa1012235783d06d42f8612ab4dee6a925fa0d1ffe26c1f6b5249dede6-191.jpg_ooooxooxox_1280x720.jpg +3 -0
  11. raw-img/alf/B2CCP976-0-NS-Alf-Chia-Pet_02.png +3 -0
  12. raw-img/alf/Bez-násdcscdsvzvu-1.jpg +3 -0
  13. raw-img/alf/LANDSCAPE_480.jpg +3 -0
  14. raw-img/alf/MV5BZGMxYjlhZmYtMThkZi00MDNiLThmNWItMjljZmUyZmIzYTJlXkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_.jpg +3 -0
  15. raw-img/alf/alf-el-extraterrestre-adicto-a-los-gatos-que-llego-a-la-tierra-y-triunfo-en-television.jpg +3 -0
  16. raw-img/alf/gf-rCpJ-325V-QhQ4_.jpg +3 -0
  17. raw-img/alf/hqdefault.jpg +3 -0
  18. raw-img/alf/imagessad.jpg +3 -0
  19. raw-img/alf/s-l400.jpg +3 -0
  20. raw-img/alf/sddad.jpg +3 -0
  21. raw-img/alf/sddefault.jpg +3 -0
  22. raw-img/alf/z28687031AMP,Al.jpg +3 -0
  23. raw-img/butterfly/OIP--04ndbWy7I04gsPgu9qOeQHaHs.jpeg +3 -0
  24. raw-img/butterfly/OIP--3xxJkezSkNzxrQaxlhv-QHaHa.jpeg +3 -0
  25. raw-img/butterfly/OIP--4zW12JF-JpwKcDtEK7thgHaLC.jpeg +3 -0
  26. raw-img/butterfly/OIP--7K5JzW1ZEmrY2YRyVjFCQHaE7.jpeg +3 -0
  27. raw-img/butterfly/OIP--8RSoaU1iEvZhemy7FlYegHaD9.jpeg +3 -0
  28. raw-img/butterfly/OIP--BwCcfYAvrI0U8yYgWplXwHaF1.jpeg +3 -0
  29. raw-img/butterfly/OIP--CDKKVE9j_HyFGxf8DAV7wHaJQ.jpeg +3 -0
  30. raw-img/butterfly/OIP--ENWG-ez2NKhOnDxPMCeQAHaEA.jpeg +3 -0
  31. raw-img/butterfly/OIP--Mpfd_ozZWI-BuFQkizVrwHaFj.jpeg +3 -0
  32. raw-img/butterfly/OIP--MyP_OSXxDXRp6GD5Pci0wHaGS.jpeg +3 -0
  33. raw-img/butterfly/OIP--RuA1gbd_7OnfNia4Ao5aQAAAA.jpeg +3 -0
  34. raw-img/butterfly/OIP--SUPsDiwMnFmvHar3xCmjgHaFj.jpeg +3 -0
  35. raw-img/butterfly/OIP--VatM86VAW7kByE6tVfTfgHaHV.jpeg +3 -0
  36. raw-img/butterfly/OIP--YxmjyUUbmVOTOwA5fv3XgHaFL.jpeg +3 -0
  37. raw-img/butterfly/OIP--eJJJ5u2_KgNggs6GsMtswHaHk.jpeg +3 -0
  38. raw-img/butterfly/OIP--gEvtip9-FSfOy_MWMXSxQHaJ6.jpeg +3 -0
  39. raw-img/butterfly/OIP--lGiTfH7hOR6PZ238zlM9QHaE7.jpeg +3 -0
  40. raw-img/butterfly/OIP--mHsZ6cdBGKHe-NOtHgERgHaD-.jpeg +3 -0
  41. raw-img/butterfly/OIP--oJqQhn66-DKxbj2skHKuAHaCv.jpeg +3 -0
  42. raw-img/butterfly/OIP--ohLNsXa1I98upPDakBeBAHaE6.jpeg +3 -0
  43. raw-img/butterfly/OIP--r8lAMrI_Mbj1zCh4WroTgHaHa.jpeg +3 -0
  44. raw-img/butterfly/OIP--uJxQZUw1ibjIJDEuEXzpAHaEo.jpeg +3 -0
  45. raw-img/butterfly/OIP--uyxspAMAoa6IkxtgJWdYAHaE7.jpeg +3 -0
  46. raw-img/butterfly/OIP--v_vx0B7J5lpKWjLjknadQAAAA.jpeg +3 -0
  47. raw-img/butterfly/OIP-0-4j2LrYb7bKSeuUdc2yJQHaLX.jpeg +3 -0
  48. raw-img/butterfly/OIP-0-M4adMCfm8xuWUCy5IXdQHaKe.jpeg +3 -0
  49. raw-img/butterfly/OIP-0-OGDZB7ms6WPw21pssBbgHaFj.jpeg +3 -0
  50. raw-img/butterfly/OIP-02MfXWiFtDKuR4G4uMsjeAHaE7.jpeg +3 -0
.gitattributes CHANGED
@@ -33,3 +33,7 @@ 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
+ *.jpeg filter=lfs diff=lfs merge=lfs -text
37
+ *.jpg filter=lfs diff=lfs merge=lfs -text
38
+ *.png filter=lfs diff=lfs merge=lfs -text
39
+ *.pth filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM pytorch/pytorch:1.12.0-cuda11.3-cudnn8-runtime
2
+
3
+ WORKDIR /code
4
+
5
+ COPY ./requirements.txt /code/requirements.txt
6
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
7
+
8
+ COPY . /code
9
+
10
+ CMD ["python", "app.py"]
app.py CHANGED
@@ -1,7 +1,36 @@
1
  import gradio as gr
 
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
 
5
 
6
- demo = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import os
3
+ from train_model import train
4
+ from predict_model import predict_all
5
 
6
+ def train_model():
7
+ train()
8
+ return "Model trained and saved as animal_classifier_resnet.pth"
9
 
10
+ def download_model():
11
+ return "animal_classifier_resnet.pth"
12
+
13
+ def run_predictions():
14
+ results = predict_all()
15
+ return "\n".join(results)
16
+
17
+ with gr.Blocks() as demo:
18
+ gr.Markdown("# Animal Classifier Model")
19
+
20
+ with gr.Tab("Train"):
21
+ train_button = gr.Button("Train Model")
22
+ train_output = gr.Textbox()
23
+ train_button.click(train_model, outputs=train_output)
24
+
25
+ with gr.Tab("Predict"):
26
+ predict_button = gr.Button("Run Predictions")
27
+ predict_output = gr.Textbox()
28
+ predict_button.click(run_predictions, outputs=predict_output)
29
+
30
+ with gr.Tab("Download"):
31
+ gr.Markdown("## Download Trained Model")
32
+ download_button = gr.Button("Download Model")
33
+ download_button.click(download_model, outputs=gr.File())
34
+
35
+ if __name__ == "__main__":
36
+ demo.launch()
predict_model.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ from torchvision import datasets, transforms, models
4
+ import os
5
+ from PIL import Image
6
+
7
+ # Ustawienia parametrów modelu
8
+ img_width, img_height = 224, 224 # Wymiary obrazu wymagane przez model ResNet
9
+ model_path = 'animal_classifier_resnet.pth' # Ścieżka do wytrenowanego modelu
10
+
11
+ # Sprawdzenie, czy jest dostępny GPU i przypisanie urządzenia do zmiennej `device`
12
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
13
+ print(f"Using device: {device}")
14
+
15
+ # Wyłączenie CuDNN, chyba że twoja karta wspiera bibliotekę CuDNN (NVIDIA CUDA Deep Neural Network library)
16
+ # torch.backends.cudnn.enabled = False
17
+
18
+ # Transformacje danych wejściowych (zmiana rozmiaru, normalizacja)
19
+ transform = transforms.Compose([
20
+ transforms.Resize((img_width, img_height)), # Zmiana rozmiaru obrazu
21
+ transforms.ToTensor(), # Konwersja obrazu do tensoru
22
+ transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) # Normalizacja obrazu
23
+ ])
24
+
25
+ # Inicjalizacja modelu ResNet18 bez wstępnych wag
26
+ model = models.resnet18(weights=None)
27
+ num_ftrs = model.fc.in_features # Liczba wejściowych cech ostatniej warstwy
28
+ model.fc = nn.Linear(num_ftrs, len(datasets.ImageFolder('raw-img', transform=transform).classes)) # Zastąpienie ostatniej warstwy dopasowanej do liczby klas w danych
29
+
30
+ # Przeniesienie modelu na GPU, jeśli jest dostępny
31
+ model = model.to(device)
32
+ model.load_state_dict(torch.load(model_path, map_location=device)) # Wczytanie wytrenowanych wag modelu
33
+ model.eval() # Ustawienie modelu w tryb ewaluacyjny
34
+
35
+ # Funkcja do przewidywania klasy obrazu
36
+ def predict(image_path):
37
+ image = Image.open(image_path).convert('RGB') # Otworzenie obrazu i konwersja do RGB
38
+ image = transform(image).unsqueeze(0) # Zastosowanie transformacji i dodanie wymiaru batch
39
+ image = image.to(device) # Przeniesienie obrazu na GPU, jeśli jest dostępny
40
+ with torch.no_grad(): # Wyłączenie gradientów dla przewidywania
41
+ output = model(image) # Przekazanie obrazu przez model
42
+ _, predicted = torch.max(output, 1) # Wybranie klasy z najwyższym prawdopodobieństwem
43
+ return datasets.ImageFolder('raw-img', transform=transform).classes[predicted.item()] # Zwrócenie nazwy klasy
44
+
45
+ # Przykład użycia funkcji predict do przewidywania klasy obrazów w katalogu `recognize`
46
+ test_image_dir = 'recognize' # Ścieżka do katalogu z obrazami do przewidywania
47
+ for filename in os.listdir(test_image_dir): # Pętla przez pliki w katalogu
48
+ if filename.lower().endswith(('.jpg', '.jpeg', '.png')): # Sprawdzenie rozszerzenia pliku
49
+ image_path = os.path.join(test_image_dir, filename) # Pełna ścieżka do pliku
50
+ print(f"Prediction for {filename}: {predict(image_path)}") # Wyświetlenie przewidywanej klasy dla obrazu
51
+
52
+ def predict_all():
53
+ results = []
54
+ test_image_dir = 'recognize'
55
+ for filename in os.listdir(test_image_dir):
56
+ if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
57
+ image_path = os.path.join(test_image_dir, filename)
58
+ prediction = predict(image_path)
59
+ results.append(f"Prediction for {filename}: {prediction}")
60
+ return results
61
+
62
+ if __name__ == "__main__":
63
+ print("\n".join(predict_all()))
raw-img/alf/15835_1.8.jpg ADDED

Git LFS Details

  • SHA256: 994bb7e3c4cef22da7740c9eaec4e23e3972d4577798db0d4ef903b831e15877
  • Pointer size: 131 Bytes
  • Size of remote file: 189 kB
raw-img/alf/25d2bca0eeb53d25f03324ca0c81b34e-51.jpg_ooooxooxox_1280x720.jpg ADDED

Git LFS Details

  • SHA256: 7fb57e8cd509056bf0dfd158a974b9904a5d4cf2fead91ee37a9a79945bdc7bd
  • Pointer size: 130 Bytes
  • Size of remote file: 83.5 kB
raw-img/alf/42703_l2.jpg ADDED

Git LFS Details

  • SHA256: f503297db7e7bc249874462b21a2d886b255b063781f2d5be64af7aa97d65fa7
  • Pointer size: 131 Bytes
  • Size of remote file: 268 kB
raw-img/alf/647b6a6f-2203-4b10-a029-bd2a581d2fae.jpg ADDED

Git LFS Details

  • SHA256: bc4e7bb654e31784e31c0712ab3bd81140933776bf829fed997e24682f13fadf
  • Pointer size: 130 Bytes
  • Size of remote file: 64.9 kB
raw-img/alf/64bd2aaed9afb_o_full.jpg ADDED

Git LFS Details

  • SHA256: 636d6e7afbf173a0013ece43b420d941cbd36e8f4f60e6e0b252734a3b6c58bc
  • Pointer size: 130 Bytes
  • Size of remote file: 59.3 kB
raw-img/alf/8d2d6faa1012235783d06d42f8612ab4dee6a925fa0d1ffe26c1f6b5249dede6-191.jpg_ooooxooxox_1280x720.jpg ADDED

Git LFS Details

  • SHA256: a1a6024ce9f97f894db4b115be215dc34f34787df9e12478405b44fb57ac426b
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
raw-img/alf/B2CCP976-0-NS-Alf-Chia-Pet_02.png ADDED

Git LFS Details

  • SHA256: 4f43715e0847f8d7516ceb35f7d866d3e8c46c2e3aff58e00dd3cf7557b5a640
  • Pointer size: 132 Bytes
  • Size of remote file: 1.33 MB
raw-img/alf/Bez-násdcscdsvzvu-1.jpg ADDED

Git LFS Details

  • SHA256: d8d2a8a7a2c94b0e2e090f05d2f7d5713fda7def3ba6e9c5c45660b5c0301384
  • Pointer size: 130 Bytes
  • Size of remote file: 48 kB
raw-img/alf/LANDSCAPE_480.jpg ADDED

Git LFS Details

  • SHA256: 60b4810148f9523bcea55bcbbbe746e13b55f79f64bf97f405108ea66e78d951
  • Pointer size: 130 Bytes
  • Size of remote file: 20.1 kB
raw-img/alf/MV5BZGMxYjlhZmYtMThkZi00MDNiLThmNWItMjljZmUyZmIzYTJlXkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_.jpg ADDED

Git LFS Details

  • SHA256: 97cc2e476c6fa11bcd4e50521ea9d433bb04e45788c753e17ae20e718f63972a
  • Pointer size: 130 Bytes
  • Size of remote file: 31.1 kB
raw-img/alf/alf-el-extraterrestre-adicto-a-los-gatos-que-llego-a-la-tierra-y-triunfo-en-television.jpg ADDED

Git LFS Details

  • SHA256: 19ec6fec7f08e4be32a85dd055eab8059caa80bc7b94785b23c5e58be01faee7
  • Pointer size: 130 Bytes
  • Size of remote file: 57.4 kB
raw-img/alf/gf-rCpJ-325V-QhQ4_.jpg ADDED

Git LFS Details

  • SHA256: 4da29bbfffa15c56ab8b08175f0270a484c00ca27fadcca140ea19b2c4b1c7b4
  • Pointer size: 130 Bytes
  • Size of remote file: 36.6 kB
raw-img/alf/hqdefault.jpg ADDED

Git LFS Details

  • SHA256: ead8e0e974cf09ee903fb57e235db3c0b557145fec76e5e2a6c8c1ef4111156c
  • Pointer size: 130 Bytes
  • Size of remote file: 10.8 kB
raw-img/alf/imagessad.jpg ADDED

Git LFS Details

  • SHA256: 75a3f842c7ecdd0bd4bdef265c010d619b91f38eea5f89611d6f9e876a80f621
  • Pointer size: 129 Bytes
  • Size of remote file: 8.09 kB
raw-img/alf/s-l400.jpg ADDED

Git LFS Details

  • SHA256: 4515a544e378a4ac3cc00a0c4303af40fcd863c67a87fe635b2df7cd89e4f6b4
  • Pointer size: 130 Bytes
  • Size of remote file: 22.8 kB
raw-img/alf/sddad.jpg ADDED

Git LFS Details

  • SHA256: 7298bd3458032302777ff3f039e80a10e23aac5c0140aa8fc592cb7d0af6dceb
  • Pointer size: 129 Bytes
  • Size of remote file: 6.38 kB
raw-img/alf/sddefault.jpg ADDED

Git LFS Details

  • SHA256: 7b032a3821d7ae6a523eef0064379e53d1ae4c0173093aa984f4610780bb3efd
  • Pointer size: 130 Bytes
  • Size of remote file: 27.7 kB
raw-img/alf/z28687031AMP,Al.jpg ADDED

Git LFS Details

  • SHA256: 37ba47b922717d00c6ec01c76b8b7dfbf0a34bfcce2b15a1126cc56a25a7dbe0
  • Pointer size: 131 Bytes
  • Size of remote file: 105 kB
raw-img/butterfly/OIP--04ndbWy7I04gsPgu9qOeQHaHs.jpeg ADDED

Git LFS Details

  • SHA256: 480560e778949543ece85279be8e3f966cbdadd42eb1d96c595f445d20372dae
  • Pointer size: 130 Bytes
  • Size of remote file: 14.9 kB
raw-img/butterfly/OIP--3xxJkezSkNzxrQaxlhv-QHaHa.jpeg ADDED

Git LFS Details

  • SHA256: a8faf476202c808dee748374bf386c69193937943ba951260299415834ffd8f8
  • Pointer size: 130 Bytes
  • Size of remote file: 14.2 kB
raw-img/butterfly/OIP--4zW12JF-JpwKcDtEK7thgHaLC.jpeg ADDED

Git LFS Details

  • SHA256: 1b077508d775cda1b7b539a74ca51f0d61cc43666facbf8cccde439b95162fa7
  • Pointer size: 130 Bytes
  • Size of remote file: 13.9 kB
raw-img/butterfly/OIP--7K5JzW1ZEmrY2YRyVjFCQHaE7.jpeg ADDED

Git LFS Details

  • SHA256: aae90673d3febb32e30853aa0ea5c9332b71178abe735d48e625c148e7a3eedf
  • Pointer size: 130 Bytes
  • Size of remote file: 11 kB
raw-img/butterfly/OIP--8RSoaU1iEvZhemy7FlYegHaD9.jpeg ADDED

Git LFS Details

  • SHA256: b483c4f4a5997c2b0a9fb0e019431126551c60fb4489838f70d0cbafa64a0f8a
  • Pointer size: 130 Bytes
  • Size of remote file: 10.8 kB
raw-img/butterfly/OIP--BwCcfYAvrI0U8yYgWplXwHaF1.jpeg ADDED

Git LFS Details

  • SHA256: a9d7ba4d7897847b3fd3ea0e9663affa160bcb0eeee68e216e00b2cfa1d2bce2
  • Pointer size: 130 Bytes
  • Size of remote file: 16.7 kB
raw-img/butterfly/OIP--CDKKVE9j_HyFGxf8DAV7wHaJQ.jpeg ADDED

Git LFS Details

  • SHA256: f5d4003c5794a51ca9b9336fa94061fe998f30eccabbbbd9f969bf18b7c7a017
  • Pointer size: 129 Bytes
  • Size of remote file: 3.98 kB
raw-img/butterfly/OIP--ENWG-ez2NKhOnDxPMCeQAHaEA.jpeg ADDED

Git LFS Details

  • SHA256: 45a8dd4d19765191ee4aea8756e899f5b1830b1ffb8bf7f09daf4b0166ab127b
  • Pointer size: 129 Bytes
  • Size of remote file: 9.61 kB
raw-img/butterfly/OIP--Mpfd_ozZWI-BuFQkizVrwHaFj.jpeg ADDED

Git LFS Details

  • SHA256: 90bcc02c669c406e94c20ab5f475385964993bcf5772e366df04d4e75f7c5d46
  • Pointer size: 130 Bytes
  • Size of remote file: 14.6 kB
raw-img/butterfly/OIP--MyP_OSXxDXRp6GD5Pci0wHaGS.jpeg ADDED

Git LFS Details

  • SHA256: db8c611ab5d3a4edd23baeef13574ee1c5e961e7f4a47423e22d7b3fa9ec1fa8
  • Pointer size: 129 Bytes
  • Size of remote file: 8.72 kB
raw-img/butterfly/OIP--RuA1gbd_7OnfNia4Ao5aQAAAA.jpeg ADDED

Git LFS Details

  • SHA256: e6e9bdb7a29113fba0e1ab78650e4fc459f664503aa7eef521625b1629e77d25
  • Pointer size: 130 Bytes
  • Size of remote file: 10.4 kB
raw-img/butterfly/OIP--SUPsDiwMnFmvHar3xCmjgHaFj.jpeg ADDED

Git LFS Details

  • SHA256: e4b983d7a022e9f379a97021eea051dcbf626a6c891f7e850c17eddc4d6d3c29
  • Pointer size: 130 Bytes
  • Size of remote file: 12.3 kB
raw-img/butterfly/OIP--VatM86VAW7kByE6tVfTfgHaHV.jpeg ADDED

Git LFS Details

  • SHA256: 2537c74919ffff607051c3c961a687d71ee852429bdb08d59451d889eab1481e
  • Pointer size: 130 Bytes
  • Size of remote file: 17.9 kB
raw-img/butterfly/OIP--YxmjyUUbmVOTOwA5fv3XgHaFL.jpeg ADDED

Git LFS Details

  • SHA256: a04fe9671d8b8c6c62535813b80b408514ba2f826457d2da9021f37f4821b521
  • Pointer size: 130 Bytes
  • Size of remote file: 11.4 kB
raw-img/butterfly/OIP--eJJJ5u2_KgNggs6GsMtswHaHk.jpeg ADDED

Git LFS Details

  • SHA256: 073656d6a28fdcbca991c10b6358fc21605c833583edd8da415826be1e4efeef
  • Pointer size: 130 Bytes
  • Size of remote file: 12.1 kB
raw-img/butterfly/OIP--gEvtip9-FSfOy_MWMXSxQHaJ6.jpeg ADDED

Git LFS Details

  • SHA256: ece81617e1ce264e94fe560b795e3eb6fae6b5fee8115de52c3c1eebdadfa54b
  • Pointer size: 130 Bytes
  • Size of remote file: 10.4 kB
raw-img/butterfly/OIP--lGiTfH7hOR6PZ238zlM9QHaE7.jpeg ADDED

Git LFS Details

  • SHA256: e059406b67bc6859b6a4fc526bf60234baffe950e9fe7c6b34e0f0d006601232
  • Pointer size: 129 Bytes
  • Size of remote file: 7.76 kB
raw-img/butterfly/OIP--mHsZ6cdBGKHe-NOtHgERgHaD-.jpeg ADDED

Git LFS Details

  • SHA256: ca1649f6dbb877d35e7bf0bb9f2026cb29c2334bf74db1ef7f71bdbe5f775c69
  • Pointer size: 129 Bytes
  • Size of remote file: 8.47 kB
raw-img/butterfly/OIP--oJqQhn66-DKxbj2skHKuAHaCv.jpeg ADDED

Git LFS Details

  • SHA256: 9ea5981a03ff71ce245dca94603e763ef62ac8e1edd1d23244a5e39d8a295505
  • Pointer size: 129 Bytes
  • Size of remote file: 7.16 kB
raw-img/butterfly/OIP--ohLNsXa1I98upPDakBeBAHaE6.jpeg ADDED

Git LFS Details

  • SHA256: 0815385ae488b50b852faa10cdfa24a6d97310e6b6e525e72a132bdd4582c95f
  • Pointer size: 130 Bytes
  • Size of remote file: 11 kB
raw-img/butterfly/OIP--r8lAMrI_Mbj1zCh4WroTgHaHa.jpeg ADDED

Git LFS Details

  • SHA256: 68fd1c784566a94c79a432c76d592481eb8c1e4c09cfd0e28d2fc732d794dbf6
  • Pointer size: 130 Bytes
  • Size of remote file: 14.2 kB
raw-img/butterfly/OIP--uJxQZUw1ibjIJDEuEXzpAHaEo.jpeg ADDED

Git LFS Details

  • SHA256: e33a79672e61137fc9c1434df38cb99f7b11b7b4ee53fc45c79e9a80c7b71256
  • Pointer size: 129 Bytes
  • Size of remote file: 8.43 kB
raw-img/butterfly/OIP--uyxspAMAoa6IkxtgJWdYAHaE7.jpeg ADDED

Git LFS Details

  • SHA256: 6930a93506b4537a17578c4777ac300f4ef3f2f0e1530ec22ff57b921d2aa5b6
  • Pointer size: 130 Bytes
  • Size of remote file: 12.5 kB
raw-img/butterfly/OIP--v_vx0B7J5lpKWjLjknadQAAAA.jpeg ADDED

Git LFS Details

  • SHA256: 6402820caf2fe0bf0b8ea9efad6acd72e5409c836edc7e24282efb025efc6402
  • Pointer size: 129 Bytes
  • Size of remote file: 9.25 kB
raw-img/butterfly/OIP-0-4j2LrYb7bKSeuUdc2yJQHaLX.jpeg ADDED

Git LFS Details

  • SHA256: f739d48d26b92d6b72fceef053f17d2e45b87ff655c23a7037d6d6ee3d822b3c
  • Pointer size: 129 Bytes
  • Size of remote file: 9.22 kB
raw-img/butterfly/OIP-0-M4adMCfm8xuWUCy5IXdQHaKe.jpeg ADDED

Git LFS Details

  • SHA256: d9ba7a32352999ba034c5f058288d4ecd02aa8ec9f669112900288797fbef2e3
  • Pointer size: 130 Bytes
  • Size of remote file: 10.9 kB
raw-img/butterfly/OIP-0-OGDZB7ms6WPw21pssBbgHaFj.jpeg ADDED

Git LFS Details

  • SHA256: 1d19c6dffcd6f588a72fe0d0e1da46533b35a6bba7e8ee75590b075538a84de9
  • Pointer size: 130 Bytes
  • Size of remote file: 18.5 kB
raw-img/butterfly/OIP-02MfXWiFtDKuR4G4uMsjeAHaE7.jpeg ADDED

Git LFS Details

  • SHA256: 6d8f1f1817849c1ed3209a333105cd241ecc58d932c05a5f8dbae65bf18efe6a
  • Pointer size: 129 Bytes
  • Size of remote file: 6.52 kB