# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("image-classification", model="google/efficientnet-b0")


# import streamlit as st
# from transformers import pipeline
# from PIL import Image

# MODEL_1 = "google/vit-base-patch16-224"
# MIN_ACEPTABLE_SCORE = 0.1
# MAX_N_LABELS = 5
# MODEL_2 = "nateraw/vit-age-classifier"
# MODELS = [
#             "google/efficientnet-b0",
#             "google/vit-base-patch16-224", #Classifição geral
#             "nateraw/vit-age-classifier", #Classifição de idade
#             "microsoft/resnet-50", #Classifição geral
#             "Falconsai/nsfw_image_detection", #Classifição NSFW
#             "cafeai/cafe_aesthetic", #Classifição de estética
#             "microsoft/resnet-18", #Classifição geral
#             "microsoft/resnet-34", #Classifição geral escolhida pelo copilot 
#             "microsoft/resnet-101", #Classifição geral escolhida pelo copilot 
#             "microsoft/resnet-152", #Classifição geral escolhida pelo copilot
#             "microsoft/swin-tiny-patch4-window7-224",#Classifição geral
#             "-- Reinstated on testing--",
#             "microsoft/beit-base-patch16-224-pt22k-ft22k", #Classifição geral
#             "-- New --",
#             "-- Still in the testing process --",
#             "facebook/convnext-large-224", #Classifição geral
#             "timm/resnet50.a1_in1k", #Classifição geral
#             "timm/mobilenetv3_large_100.ra_in1k", #Classifição geral
#             "trpakov/vit-face-expression", #Classifição de expressão facial
#             "rizvandwiki/gender-classification", #Classifição de gênero
#             "#q-future/one-align",  #Classifição geral
#             "LukeJacob2023/nsfw-image-detector", #Classifição NSFW   
#             "vit-base-patch16-224-in21k", #Classifição geral
#             "not-lain/deepfake", #Classifição deepfake
#             "carbon225/vit-base-patch16-224-hentai", #Classifição hentai    
#             "facebook/convnext-base-224-22k-1k", #Classifição geral
#             "facebook/convnext-large-224", #Classifição geral
#             "facebook/convnext-tiny-224",#Classifição geral
#             "nvidia/mit-b0", #Classifição geral
#             "microsoft/resnet-18", #Classifição geral
#             "microsoft/swinv2-base-patch4-window16-256", #Classifição geral
#             "andupets/real-estate-image-classification", #Classifição de imóveis
#             "timm/tf_efficientnetv2_s.in21k", #Classifição geral
#             "timm/convnext_tiny.fb_in22k",
#             "DunnBC22/vit-base-patch16-224-in21k_Human_Activity_Recognition", #Classifição de atividade humana
#             "FatihC/swin-tiny-patch4-window7-224-finetuned-eurosat-watermark", #Classifição geral
#             "aalonso-developer/vit-base-patch16-224-in21k-clothing-classifier", #Classifição de roupas
#             "RickyIG/emotion_face_image_classification", #Classifição de emoções
#             "shadowlilac/aesthetic-shadow" #Classifição de estética
#         ]

# def classify(image, model):
#     classifier = pipeline("image-classification", model=model)
#     result= classifier(image)
#     return result

# def save_result(result):
#     st.write("In the future, this function will save the result in a database.")

# def print_result(result):

#     comulative_discarded_score = 0
#     for i in range(len(result)):
#         if result[i]['score'] < MIN_ACEPTABLE_SCORE:
#             comulative_discarded_score += result[i]['score']
#         else:
#             st.write(result[i]['label'])
#             st.progress(result[i]['score'])
#             st.write(result[i]['score'])

#     st.write(f"comulative_discarded_score:")
#     st.progress(comulative_discarded_score)
#     st.write(comulative_discarded_score)
    


# def main():
#     st.title("Image Classification")
#     st.write("This is a simple web app to test and compare different image classifier models using Hugging Face's image-classification pipeline.")
#     st.write("From time to time more models will be added to the list. If you want to add a model, please open an issue on the GitHub repository.")
#     st.write("If you like this project, please consider liking it or buying me a coffee. It will help me to keep working on this and other projects. Thank you!")

#     # Buy me a Coffee Setup
#     bmc_link = "https://www.buymeacoffee.com/nuno.tome" 
#     # image_url = "https://helloimjessa.files.wordpress.com/2021/06/bmc-button.png?w=150" # Image URL
#     image_url = "https://i.giphy.com/RETzc1mj7HpZPuNf3e.webp" # Image URL
        
#     image_size = "150px" # Image size
#     #image_link_markdown = f"<img src='{image_url}' width='25%'>"
#     image_link_markdown = f"[![Buy Me a Coffee]({image_url})]({bmc_link})"

#     #image_link_markdown = f"[![Buy Me a Coffee]({image_url})]({bmc_link})" # Create a clickable image link

#     st.markdown(image_link_markdown, unsafe_allow_html=True) # Display the image link
#     # Buy me a Coffee Setup
    
#     #st.markdown("<img src='https://helloimjessa.files.wordpress.com/2021/06/bmc-button.png?w=1024' width='15%'>", unsafe_allow_html=True)
  
#     input_image = st.file_uploader("Upload Image")
#     shosen_model = st.selectbox("Select the model to use",  MODELS)
    
    
#     if input_image is not None:
#         image_to_classify = Image.open(input_image)
#         st.image(image_to_classify, caption="Uploaded Image")
#         if st.button("Classify"):
#             image_to_classify = Image.open(input_image)
#             classification_obj1 =[]
#             #avable_models = st.selectbox
            
#             classification_result = classify(image_to_classify, shosen_model)
#             classification_obj1.append(classification_result)
#             print_result(classification_result)
#             save_result(classification_result)


# if __name__ == "__main__":
#     main()