Zekun Wu commited on
Commit
093cdcd
β€’
1 Parent(s): 7d9af7f
Files changed (1) hide show
  1. pages/1_Demo_1.py +27 -11
pages/1_Demo_1.py CHANGED
@@ -10,6 +10,26 @@ import os
10
  st.set_page_config(page_title="Gender Bias Analysis", page_icon="πŸ”", layout="wide")
11
  st.title('Gender Bias Analysis in Text Generation')
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  # Password protection function
14
  def check_password():
15
  def password_entered():
@@ -18,16 +38,12 @@ def check_password():
18
  else:
19
  st.error("Incorrect Password, please try again.")
20
 
21
- if 'password_correct' not in st.session_state:
22
- st.session_state['password_correct'] = False
23
-
24
- if not st.session_state['password_correct']:
25
- password_input = st.text_input("Enter Password:", type="password")
26
- st.button("Submit", on_click=password_entered)
27
 
28
  # Data loading function
29
  def load_data():
30
- if 'bold' not in st.session_state:
31
  st.session_state['bold'] = load_dataset("AlexaAI/bold", split="train")
32
 
33
  # Sampling function
@@ -95,7 +111,7 @@ def evaluate_regard():
95
  st.json(regard_results_avg)
96
 
97
  # Main app logic
98
- if not st.session_state.get('password_correct', False):
99
  check_password()
100
  else:
101
  st.sidebar.success("Password Verified. Proceed with the demo.")
@@ -103,7 +119,7 @@ else:
103
 
104
  st.subheader('Step 1: Set Data Size')
105
  data_size = st.slider('Select number of samples per category:', min_value=1, max_value=50,
106
- value=st.session_state.get('data_size', 10))
107
  st.session_state['data_size'] = data_size
108
 
109
  if st.button('Show Data'):
@@ -111,12 +127,12 @@ else:
111
  st.write(f'Sampled {data_size} female and male American actors.')
112
  display_samples()
113
 
114
- if st.session_state.get('female_bold') and st.session_state.get('male_bold'):
115
  st.subheader('Step 2: Generate Text')
116
  if st.button('Generate Text'):
117
  generate_text()
118
 
119
- if st.session_state.get('male_continuations') and st.session_state.get('female_continuations'):
120
  st.subheader('Step 3: Evaluate')
121
  display_samples()
122
  if st.button('Evaluate'):
 
10
  st.set_page_config(page_title="Gender Bias Analysis", page_icon="πŸ”", layout="wide")
11
  st.title('Gender Bias Analysis in Text Generation')
12
 
13
+ # Initialize session state variables
14
+ if 'password_correct' not in st.session_state:
15
+ st.session_state['password_correct'] = False
16
+ if 'data_size' not in st.session_state:
17
+ st.session_state['data_size'] = 10
18
+ if 'bold' not in st.session_state:
19
+ st.session_state['bold'] = None
20
+ if 'female_bold' not in st.session_state:
21
+ st.session_state['female_bold'] = []
22
+ if 'male_bold' not in st.session_state:
23
+ st.session_state['male_bold'] = []
24
+ if 'male_prompts' not in st.session_state:
25
+ st.session_state['male_prompts'] = []
26
+ if 'female_prompts' not in st.session_state:
27
+ st.session_state['female_prompts'] = []
28
+ if 'male_continuations' not in st.session_state:
29
+ st.session_state['male_continuations'] = []
30
+ if 'female_continuations' not in st.session_state:
31
+ st.session_state['female_continuations'] = []
32
+
33
  # Password protection function
34
  def check_password():
35
  def password_entered():
 
38
  else:
39
  st.error("Incorrect Password, please try again.")
40
 
41
+ password_input = st.text_input("Enter Password:", type="password")
42
+ st.button("Submit", on_click=password_entered)
 
 
 
 
43
 
44
  # Data loading function
45
  def load_data():
46
+ if st.session_state['bold'] is None:
47
  st.session_state['bold'] = load_dataset("AlexaAI/bold", split="train")
48
 
49
  # Sampling function
 
111
  st.json(regard_results_avg)
112
 
113
  # Main app logic
114
+ if not st.session_state['password_correct']:
115
  check_password()
116
  else:
117
  st.sidebar.success("Password Verified. Proceed with the demo.")
 
119
 
120
  st.subheader('Step 1: Set Data Size')
121
  data_size = st.slider('Select number of samples per category:', min_value=1, max_value=50,
122
+ value=st.session_state['data_size'])
123
  st.session_state['data_size'] = data_size
124
 
125
  if st.button('Show Data'):
 
127
  st.write(f'Sampled {data_size} female and male American actors.')
128
  display_samples()
129
 
130
+ if st.session_state['female_bold'] and st.session_state['male_bold']:
131
  st.subheader('Step 2: Generate Text')
132
  if st.button('Generate Text'):
133
  generate_text()
134
 
135
+ if st.session_state['male_continuations'] and st.session_state['female_continuations']:
136
  st.subheader('Step 3: Evaluate')
137
  display_samples()
138
  if st.button('Evaluate'):