kikuepi commited on
Commit
0352c54
·
verified ·
1 Parent(s): 40cf1d1

Upload 6 files

Browse files
Files changed (6) hide show
  1. .gitattributes +2 -0
  2. README.md +4 -4
  3. Resnet_2024_0214_version1 +3 -0
  4. app.py +91 -0
  5. requirements.txt +6 -0
  6. sample.mp4 +3 -0
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Resnet_2024_0214_version1 filter=lfs diff=lfs merge=lfs -text
37
+ sample.mp4 filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,10 +1,10 @@
1
  ---
2
- title: Personal Color
3
- emoji: 👀
4
- colorFrom: gray
5
  colorTo: yellow
6
  sdk: streamlit
7
- sdk_version: 1.32.2
8
  app_file: app.py
9
  pinned: false
10
  license: other
 
1
  ---
2
+ title: PersonalColor
3
+ emoji: 🐨
4
+ colorFrom: indigo
5
  colorTo: yellow
6
  sdk: streamlit
7
+ sdk_version: 1.31.1
8
  app_file: app.py
9
  pinned: false
10
  license: other
Resnet_2024_0214_version1 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:192babd1d7bd112e9a080efcd4689324ec009b6eab28eedc1bcbe2002dabbb54
3
+ size 233519466
app.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from torchvision import models, transforms
2
+ from PIL import Image
3
+ import torch
4
+ import torch.nn as nn
5
+ import io
6
+ import streamlit as st
7
+ import time
8
+
9
+ st.title("パーソナルカラー予測")
10
+
11
+ SIZE = 224
12
+ MEAN = (0.485, 0.456, 0.406)
13
+ STD = (0.229, 0.224, 0.225)
14
+
15
+ transform = transforms.Compose([
16
+ transforms.Resize((SIZE, SIZE)),
17
+ transforms.ToTensor(),
18
+ transforms.Normalize(MEAN, STD),
19
+ ])
20
+
21
+ model = models.resnet152(pretrained=True)
22
+ n_classes = 4
23
+ num_ftrs = model.fc.in_features
24
+ model.fc = nn.Linear(num_ftrs, n_classes)
25
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
26
+ model.load_state_dict(torch.load('Resnet_2024_0214_version1', map_location=device))
27
+ model.to(device)
28
+ model.eval()
29
+ view_flag = True
30
+ skip = False
31
+
32
+ left_column, right_column = st.columns(2)
33
+
34
+ def predict_image(img):
35
+ img = img.convert('RGB')
36
+ img_transformed = transform(img)
37
+ inputs = img_transformed.unsqueeze(0).to(device)
38
+ with torch.no_grad():
39
+ outputs = model(inputs)
40
+ _, preds = torch.max(outputs, 1)
41
+ return preds.item()
42
+ uploaded_file = st.file_uploader('Choose an image...', type=['jpg', 'png'])
43
+ if uploaded_file:
44
+ with left_column:
45
+ img = Image.open(uploaded_file)
46
+ st.image(img, caption="Uploaded Image", use_column_width=True)
47
+ pred = predict_image(img)
48
+ if pred == 0:
49
+ season_type = "秋"
50
+ elif pred == 1:
51
+ season_type = "春"
52
+ elif pred == 2:
53
+ season_type = "夏"
54
+ else:
55
+ season_type = "冬"
56
+ if 'show_video' not in st.session_state:
57
+ st.session_state.show_video = False
58
+ if 'skip' not in st.session_state:
59
+ st.session_state.skip = False
60
+
61
+ person_result = st.selectbox(
62
+ '結果の修正',
63
+ ('春', '夏', '秋', '冬')
64
+ )
65
+
66
+ if person_result:
67
+ season_type = person_result
68
+
69
+ with left_column:
70
+ st.write(f"パーソナルカラーは {season_type} です")
71
+
72
+ # おすすめの商品を見るボタン
73
+ view_recommend = st.button("おすすめの商品を見る")
74
+ with right_column:
75
+ if view_recommend:
76
+ st.session_state.show_video = True
77
+
78
+ # スキップされずに動画を表示する
79
+ if st.session_state.show_video and not st.session_state.skip:
80
+ st.video("sample.mp4", start_time=0)
81
+
82
+ # 動画のスキップボタンが押されたら、レコメンド文を表示する
83
+ if st.session_state.show_video and not st.session_state.skip:
84
+ time.sleep(5)
85
+ st.session_state.show_video = False
86
+ st.session_state.skip = True
87
+ if st.session_state.skip:
88
+ st.write(
89
+ """
90
+ レコメンド文です。
91
+ """)
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ torch
2
+ torchvision
3
+ Pillow
4
+ streamlit
5
+ numpy
6
+ pillow
sample.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ae9354277c8b3a4e72086b7f721d899ffd9c9b4aa0f6b8a99fa389d67b3ab8bb
3
+ size 3640717