Update app.py
Browse files
app.py
CHANGED
@@ -16,22 +16,6 @@ import numpy as np
|
|
16 |
# ページごとの表示数
|
17 |
PAGE_SIZE = 20
|
18 |
|
19 |
-
# Streamlit アプリケーションのタイトル
|
20 |
-
st.title("NSFW ブラーフォトアップロードとタグ付けアプリ")
|
21 |
-
|
22 |
-
# フォトフォルダーが存在しない場合は作成
|
23 |
-
photos_folder = "photos"
|
24 |
-
if not os.path.exists(photos_folder):
|
25 |
-
os.makedirs(photos_folder)
|
26 |
-
|
27 |
-
# アップロードされた写真の情報を格納するデータフレーム
|
28 |
-
photo_df = pd.DataFrame(columns=["File Name", "Timestamp", "Tags"])
|
29 |
-
|
30 |
-
# インデックスのCSVファイルが存在しない場合は作成
|
31 |
-
index_file_path = "index.csv"
|
32 |
-
if not os.path.exists(index_file_path):
|
33 |
-
pd.DataFrame(columns=["File Name", "Timestamp", "Tags"]).to_csv(index_file_path, index=False)
|
34 |
-
|
35 |
# タグ付け関数
|
36 |
def predict_tags(image: Image.Image, score_threshold: float) -> tuple[dict[str, float], dict[str, float], str]:
|
37 |
_, height, width, _ = model.input_shape
|
@@ -90,15 +74,15 @@ def download_photos_as_zip(file_paths):
|
|
90 |
unsafe_allow_html=True
|
91 |
)
|
92 |
|
93 |
-
# モデルとラベルをダウンロードする
|
94 |
-
model = load_model()
|
95 |
-
labels = load_labels()
|
96 |
-
|
97 |
# Streamlit アプリケーションのメイン部分
|
98 |
def main():
|
99 |
st.sidebar.title("アップロードオプション")
|
100 |
uploaded_photos = st.sidebar.file_uploader("写真をアップロードしてください", type=["jpg", "jpeg", "png"], accept_multiple_files=True)
|
101 |
|
|
|
|
|
|
|
|
|
102 |
if uploaded_photos:
|
103 |
for uploaded_photo in uploaded_photos:
|
104 |
file_name = f"{datetime.now().strftime('%Y%m%d%H%M%S%f')}.png"
|
@@ -155,4 +139,7 @@ def main():
|
|
155 |
download_photos_as_zip(file_paths)
|
156 |
|
157 |
if __name__ == "__main__":
|
|
|
|
|
|
|
158 |
main()
|
|
|
16 |
# ページごとの表示数
|
17 |
PAGE_SIZE = 20
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
# タグ付け関数
|
20 |
def predict_tags(image: Image.Image, score_threshold: float) -> tuple[dict[str, float], dict[str, float], str]:
|
21 |
_, height, width, _ = model.input_shape
|
|
|
74 |
unsafe_allow_html=True
|
75 |
)
|
76 |
|
|
|
|
|
|
|
|
|
77 |
# Streamlit アプリケーションのメイン部分
|
78 |
def main():
|
79 |
st.sidebar.title("アップロードオプション")
|
80 |
uploaded_photos = st.sidebar.file_uploader("写真をアップロードしてください", type=["jpg", "jpeg", "png"], accept_multiple_files=True)
|
81 |
|
82 |
+
# モデルとラベルをダウンロードする
|
83 |
+
model = load_model()
|
84 |
+
labels = load_labels()
|
85 |
+
|
86 |
if uploaded_photos:
|
87 |
for uploaded_photo in uploaded_photos:
|
88 |
file_name = f"{datetime.now().strftime('%Y%m%d%H%M%S%f')}.png"
|
|
|
139 |
download_photos_as_zip(file_paths)
|
140 |
|
141 |
if __name__ == "__main__":
|
142 |
+
# モデルとラベルをダウンロードする
|
143 |
+
model = load_model()
|
144 |
+
labels = load_labels()
|
145 |
main()
|