Spaces:
Sleeping
Sleeping
Petr Tsvetkov
commited on
Commit
·
7af62b1
1
Parent(s):
1b24b13
Introduce shuffled index for samples
Browse filesThe `next_sample` function and corresponding methods have been updated to bring in a shuffled index for samples. This randomizes the order in which samples are presented to the user. The changes also included some refactoring that removed some lines for a cleaner code.
app.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
import uuid
|
2 |
|
3 |
import gradio as gr
|
@@ -31,16 +32,20 @@ def update_commit_view(sample_ind):
|
|
31 |
return github_link_md, diff_json, commit_msg, repo_val, hash_val
|
32 |
|
33 |
|
34 |
-
def next_sample(current_sample_ind):
|
35 |
if current_sample_ind == n_samples:
|
36 |
return None
|
37 |
|
38 |
current_sample_ind += 1
|
39 |
-
updated_view = update_commit_view(current_sample_ind)
|
40 |
return (current_sample_ind,) + updated_view
|
41 |
|
42 |
|
43 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
|
|
|
|
|
|
|
44 |
with gr.Row():
|
45 |
current_sample_sld = gr.Slider(minimum=0, maximum=n_samples, step=1,
|
46 |
value=0,
|
@@ -51,8 +56,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
51 |
container=False,
|
52 |
scale=5)
|
53 |
with gr.Column(scale=1):
|
54 |
-
repo_val = gr.Textbox(interactive=False, container=False, label='repo', visible=False)
|
55 |
-
hash_val = gr.Textbox(interactive=False, container=False, label='hash', visible=False)
|
56 |
skip_btn = gr.Button("Skip the current sample")
|
57 |
with gr.Row():
|
58 |
with gr.Column(scale=2):
|
@@ -96,7 +99,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
96 |
]
|
97 |
|
98 |
feedback_form = [
|
99 |
-
current_sample_sld,
|
100 |
session_val,
|
101 |
repo_val,
|
102 |
hash_val,
|
@@ -107,22 +109,26 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
107 |
|
108 |
saver.setup(feedback_form, "feedback")
|
109 |
|
110 |
-
skip_btn.click(next_sample, inputs=[current_sample_sld
|
|
|
111 |
|
112 |
|
113 |
-
def submit(*args):
|
114 |
-
saver.flag(args)
|
115 |
-
return next_sample(
|
116 |
|
117 |
|
118 |
-
submit_btn.click(submit, inputs=
|
|
|
119 |
|
120 |
|
121 |
-
def init_session(
|
122 |
session = str(uuid.uuid4())
|
123 |
-
|
|
|
|
|
124 |
|
125 |
|
126 |
-
demo.load(init_session, inputs=[current_sample_sld], outputs=[session_val] + commit_view)
|
127 |
|
128 |
demo.launch()
|
|
|
1 |
+
import random
|
2 |
import uuid
|
3 |
|
4 |
import gradio as gr
|
|
|
32 |
return github_link_md, diff_json, commit_msg, repo_val, hash_val
|
33 |
|
34 |
|
35 |
+
def next_sample(current_sample_ind, shuffled_idx):
|
36 |
if current_sample_ind == n_samples:
|
37 |
return None
|
38 |
|
39 |
current_sample_ind += 1
|
40 |
+
updated_view = update_commit_view(shuffled_idx[current_sample_ind])
|
41 |
return (current_sample_ind,) + updated_view
|
42 |
|
43 |
|
44 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
45 |
+
repo_val = gr.Textbox(interactive=False, label='repo', visible=False)
|
46 |
+
hash_val = gr.Textbox(interactive=False, label='hash', visible=False)
|
47 |
+
shuffled_idx_val = gr.JSON(visible=False)
|
48 |
+
|
49 |
with gr.Row():
|
50 |
current_sample_sld = gr.Slider(minimum=0, maximum=n_samples, step=1,
|
51 |
value=0,
|
|
|
56 |
container=False,
|
57 |
scale=5)
|
58 |
with gr.Column(scale=1):
|
|
|
|
|
59 |
skip_btn = gr.Button("Skip the current sample")
|
60 |
with gr.Row():
|
61 |
with gr.Column(scale=2):
|
|
|
99 |
]
|
100 |
|
101 |
feedback_form = [
|
|
|
102 |
session_val,
|
103 |
repo_val,
|
104 |
hash_val,
|
|
|
109 |
|
110 |
saver.setup(feedback_form, "feedback")
|
111 |
|
112 |
+
skip_btn.click(next_sample, inputs=[current_sample_sld, shuffled_idx_val],
|
113 |
+
outputs=[current_sample_sld] + commit_view)
|
114 |
|
115 |
|
116 |
+
def submit(current_sample, shuffled_idx, *args):
|
117 |
+
saver.flag([current_sample] + args)
|
118 |
+
return next_sample(current_sample, shuffled_idx)
|
119 |
|
120 |
|
121 |
+
submit_btn.click(submit, inputs=[current_sample_sld, shuffled_idx_val] + feedback_form,
|
122 |
+
outputs=[current_sample_sld] + commit_view)
|
123 |
|
124 |
|
125 |
+
def init_session(current_sample):
|
126 |
session = str(uuid.uuid4())
|
127 |
+
shuffled_idx = list(range(n_samples))
|
128 |
+
random.shuffle(shuffled_idx)
|
129 |
+
return (session, shuffled_idx) + update_commit_view(shuffled_idx[current_sample])
|
130 |
|
131 |
|
132 |
+
demo.load(init_session, inputs=[current_sample_sld], outputs=[session_val, shuffled_idx_val] + commit_view)
|
133 |
|
134 |
demo.launch()
|