Amazing-Python-Scripts
97 строк · 2.3 Кб
1import numpy as np2import cv23import streamlit as st4from keras.models import load_model5
6st.set_page_config(7page_title="Dog Breed Prediction",8page_icon="🐶",9layout="centered",10initial_sidebar_state="collapsed",11menu_items={"Get Help": None, "Report a Bug": None, "About": None},12)
13
14st.markdown(15"""16<style>
17.stButton button {
18background-color: white;
19color: white;
20font-size: 18px;
21padding: 10px 20px;
22border: none;
23border-radius: 5px;
24}
25
26.stButton button:hover {
27background-color: #1a5f95;
28}
29
30.stFileUploader label {
31color: #1f80c9;
32font-size: 18px;
33}
34
35.stTitle {
36font-size: 36px;
37color: #1f80c9;
38text-align: center;
39margin-bottom: 20px;
40}
41
42.stMarkdown {
43font-size: 20px;
44}
45
46.stApp {
47background-color: white;
48}
49
50.result-box {
51background-color: #e6f7ff;
52padding: 20px;
53border-radius: 10px;
54margin-top: 20px;
55box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
56}
57
58.result-text {
59font-size: 24px;
60color: #1f80c9;
61text-align: center;
62margin-top: 10px;
63}
64
65</style>
66""",67unsafe_allow_html=True,68)
69
70model = load_model("breed_prediction.h5")71Class_Names = ['boston_bull', 'golden_retriever',72'labrador_retriever', 'german_shepherd', 'border_collie']73
74header_image = "dog.png"75st.image(header_image, use_column_width=True)76
77st.title("Dog Breed Prediction")78st.markdown("Upload an image of the dog and let us predict its breed!")79
80dog_image = st.file_uploader("Choose an image...", type=["png", "jpg", "jpeg"])81
82if dog_image is not None:83st.image(dog_image, caption="Uploaded Image", use_column_width=True)84
85img_array = np.array(cv2.imdecode(86np.fromstring(dog_image.read(), np.uint8), 1))87img_array = cv2.resize(img_array, (224, 224))88img_array = img_array / 255.089
90img_array = np.expand_dims(img_array, axis=0)91prediction = model.predict(img_array)92predicted_class = Class_Names[np.argmax(prediction)]93
94st.markdown(95f'<div class="result-box"><p class="result-text">Prediction: The dog breed is <b>{predicted_class}</b></p></div>',96unsafe_allow_html=True97)98