Amazing-Python-Scripts

Форк
0
97 строк · 2.3 Кб
1
import numpy as np
2
import cv2
3
import streamlit as st
4
from keras.models import load_model
5

6
st.set_page_config(
7
    page_title="Dog Breed Prediction",
8
    page_icon="🐶",
9
    layout="centered",
10
    initial_sidebar_state="collapsed",
11
    menu_items={"Get Help": None, "Report a Bug": None, "About": None},
12
)
13

14
st.markdown(
15
    """
16
    <style>
17
    .stButton button {
18
        background-color: white;
19
        color: white;
20
        font-size: 18px;
21
        padding: 10px 20px;
22
        border: none;
23
        border-radius: 5px;
24
    }
25

26
    .stButton button:hover {
27
        background-color: #1a5f95;
28
    }
29

30
    .stFileUploader label {
31
        color: #1f80c9;
32
        font-size: 18px;
33
    }
34

35
    .stTitle {
36
        font-size: 36px;
37
        color: #1f80c9;
38
        text-align: center;
39
        margin-bottom: 20px;
40
    }
41

42
    .stMarkdown {
43
        font-size: 20px;
44
    }
45

46
    .stApp {
47
        background-color: white;
48
    }
49

50
    .result-box {
51
        background-color: #e6f7ff;
52
        padding: 20px;
53
        border-radius: 10px;
54
        margin-top: 20px;
55
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
56
    }
57

58
    .result-text {
59
        font-size: 24px;
60
        color: #1f80c9;
61
        text-align: center;
62
        margin-top: 10px;
63
    }
64

65
    </style>
66
    """,
67
    unsafe_allow_html=True,
68
)
69

70
model = load_model("breed_prediction.h5")
71
Class_Names = ['boston_bull', 'golden_retriever',
72
               'labrador_retriever', 'german_shepherd', 'border_collie']
73

74
header_image = "dog.png"
75
st.image(header_image, use_column_width=True)
76

77
st.title("Dog Breed Prediction")
78
st.markdown("Upload an image of the dog and let us predict its breed!")
79

80
dog_image = st.file_uploader("Choose an image...", type=["png", "jpg", "jpeg"])
81

82
if dog_image is not None:
83
    st.image(dog_image, caption="Uploaded Image", use_column_width=True)
84

85
    img_array = np.array(cv2.imdecode(
86
        np.fromstring(dog_image.read(), np.uint8), 1))
87
    img_array = cv2.resize(img_array, (224, 224))
88
    img_array = img_array / 255.0
89

90
    img_array = np.expand_dims(img_array, axis=0)
91
    prediction = model.predict(img_array)
92
    predicted_class = Class_Names[np.argmax(prediction)]
93

94
    st.markdown(
95
        f'<div class="result-box"><p class="result-text">Prediction: The dog breed is <b>{predicted_class}</b></p></div>',
96
        unsafe_allow_html=True
97
    )
98

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.