Spaces:
Sleeping
Sleeping
File size: 3,709 Bytes
0f7e74b fee4ed8 0f7e74b fee4ed8 0f7e74b 047d5b0 cc65489 13e77a1 cc65489 047d5b0 73bea8b 047d5b0 22b8a05 73bea8b 22b8a05 cc65489 73bea8b a35f404 cc65489 fa64131 22b8a05 fa64131 596475f fa64131 22b8a05 fa64131 73bea8b fa64131 22b8a05 fa64131 22b8a05 0f7e74b 047d5b0 a35f404 596475f 5523bc2 fffff42 596475f 396ae71 fffff42 596475f 0f7e74b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
import streamlit as st
from transformers import pipeline
from PIL import Image
from datasets import load_dataset, Image, list_datasets
from PIL import Image
MODELS = [
"google/vit-base-patch16-224", #Classifição geral
"nateraw/vit-age-classifier" #Classifição de idade
]
DATASETS = [
"Nunt/testedata",
"Nunt/backup_leonardo_2024-02-01"
]
MAX_N_LABELS = 5
SPLIT_TO_CLASSIFY = 'pasta'
#(image_object, classifier_pipeline)
#def classify_one_image(classifier_model, dataset_to_classify):
#classify_one_image(image_object, classifier_pipeline)
def classify_one_image(classifier_model, dataset_to_classify):
#image_object = dataset[SPLIT_TO_CLASSIFY][i]["image"]
#st.image(image_object, caption="Uploaded Image", width=300)
#for i in range(len(dataset_to_classify)):
#for image in dataset_to_classify:
#image_object = dataset[SPLIT_TO_CLASSIFY][i]["image"]
#st.image(image_object, caption="Uploaded Image", width=300)
#st.write(f"Image classification: ", image['file'])
# image_path = image['file']
# img = Image.open(image_path)
# st.image(img, caption="Original image", use_column_width=True)
# results = classifier(image_path, top_k=MAX_N_LABELS)
# st.write(results)
# st.write("----")
return "done"
def classify_full_dataset(shosen_dataset_name, chosen_model_name):
image_count = 0
#dataset
dataset = load_dataset(shosen_dataset_name,"testedata_readme")
with col2:
#Image teste load
image_object = dataset['pasta'][0]["image"]
st.image(image_object, caption="Uploaded Image", width=300)
st.write("### FLAG 3")
#modle instance
classifier_pipeline = pipeline('image-classification', model=chosen_model_name)
st.write("### FLAG 4")
#classification
classification_result = classifier_pipeline(image_object)
st.write(classification_result)
st.write("### FLAG 5")
#classification_array.append(classification_result)
#save classification
image_count += 1
return image_count
def main():
st.title("Bulk Image Classification DEMO")
col1, col2 = st.columns([3, 1])
# Restart or reset your app
if st.button("Restart"):
# Code to restart or reset your app goes here
st.experimental_rerun()
with col1:
st.markdown("This app uses several 🤗 models to classify images stored in 🤗 datasets.")
st.write("Soon we will have a dataset template")
#Model
chosen_model_name = st.selectbox("Select the model to use", MODELS, index=0)
if chosen_model_name is not None:
st.write("You selected", chosen_model_name)
#Dataset
shosen_dataset_name = st.selectbox("Select the dataset to use", DATASETS, index=0)
if shosen_dataset_name is not None:
st.write("You selected", shosen_dataset_name)
#click to classify
#image_object = dataset['pasta'][0]
if chosen_model_name is not None and shosen_dataset_name is not None:
if st.button("Classify images"):
#classification_array =[]
classification_result = classify_full_dataset(shosen_dataset_name, chosen_model_name)
st.write(f"Classification result: {classification_result}")
#classification_array.append(classification_result)
#st.write("# FLAG 6")
#st.write(classification_array)
if __name__ == "__main__":
main() |