Commit
·
5e6d549
1
Parent(s):
2760c29
Add model dict & set up instructions
Browse files- .gitignore +2 -1
- README.md +7 -0
- app.py +19 -14
.gitignore
CHANGED
|
@@ -1,2 +1,3 @@
|
|
| 1 |
venv_sce/*
|
| 2 |
-
.DS_Store
|
|
|
|
|
|
| 1 |
venv_sce/*
|
| 2 |
+
.DS_Store
|
| 3 |
+
.ipynb_checkpoints/*
|
README.md
CHANGED
|
@@ -12,4 +12,11 @@ pinned: false
|
|
| 12 |
To link arXiv paper to this demo, reference below:
|
| 13 |
models: https://huggingface.co/emilylearning/selection-induced-collider-bias
|
| 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces#reference
|
|
|
|
| 12 |
To link arXiv paper to this demo, reference below:
|
| 13 |
models: https://huggingface.co/emilylearning/selection-induced-collider-bias
|
| 14 |
|
| 15 |
+
# Setup env:
|
| 16 |
+
```
|
| 17 |
+
python3 -m venv venv_sce
|
| 18 |
+
source venv_sce/bin/activate
|
| 19 |
+
pip install -r requirements.txt
|
| 20 |
+
```
|
| 21 |
+
|
| 22 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces#reference
|
app.py
CHANGED
|
@@ -8,9 +8,21 @@ import random
|
|
| 8 |
from matplotlib.ticker import MaxNLocator
|
| 9 |
from transformers import pipeline
|
| 10 |
|
| 11 |
-
MODEL_NAMES = ["bert-base-uncased", "roberta-base", "bert-large-uncased", "roberta-large"]
|
| 12 |
OWN_MODEL_NAME = 'add-a-model'
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
DECIMAL_PLACES = 1
|
| 15 |
EPS = 1e-5 # to avoid /0 errors
|
| 16 |
|
|
@@ -136,10 +148,7 @@ GENDERED_LIST = [
|
|
| 136 |
|
| 137 |
# %%
|
| 138 |
# Fire up the models
|
| 139 |
-
models =
|
| 140 |
-
|
| 141 |
-
for bert_like in MODEL_NAMES:
|
| 142 |
-
models[bert_like] = pipeline("fill-mask", model=bert_like)
|
| 143 |
|
| 144 |
# %%
|
| 145 |
|
|
@@ -391,12 +400,11 @@ with demo:
|
|
| 391 |
|
| 392 |
|
| 393 |
gr.Markdown("B) Pick a pre-loaded BERT-family model of interest on the right.")
|
| 394 |
-
gr.Markdown(f"Or C) select `{OWN_MODEL_NAME}`, then add the
|
| 395 |
|
| 396 |
with gr.Row():
|
| 397 |
model_name = gr.Radio(
|
| 398 |
-
MODEL_NAMES
|
| 399 |
-
type="value",
|
| 400 |
label="B) BERT-like model.",
|
| 401 |
)
|
| 402 |
own_model_name = gr.Textbox(
|
|
@@ -412,7 +420,6 @@ with demo:
|
|
| 412 |
to_normalize = gr.Dropdown(
|
| 413 |
["False", "True"],
|
| 414 |
label="D) Normalize model's predictions to only the gendered ones?",
|
| 415 |
-
type="index",
|
| 416 |
)
|
| 417 |
place_holder = gr.Textbox(
|
| 418 |
label="E) Special token place-holder",
|
|
@@ -420,7 +427,6 @@ with demo:
|
|
| 420 |
n_fit = gr.Dropdown(
|
| 421 |
list(range(1, 5)),
|
| 422 |
label="F) Degree of polynomial fit",
|
| 423 |
-
type="value",
|
| 424 |
)
|
| 425 |
|
| 426 |
gr.Markdown(
|
|
@@ -433,16 +439,15 @@ with demo:
|
|
| 433 |
)
|
| 434 |
|
| 435 |
gr.Markdown("## Outputs!")
|
| 436 |
-
#gr.Markdown("Scroll down and 'Hit Submit'!")
|
| 437 |
with gr.Row():
|
| 438 |
btn = gr.Button("Hit submit to generate predictions!")
|
| 439 |
|
| 440 |
with gr.Row():
|
| 441 |
sample_text = gr.Textbox(
|
| 442 |
-
|
| 443 |
with gr.Row():
|
| 444 |
-
female_fig = gr.Plot(
|
| 445 |
-
male_fig = gr.Plot(
|
| 446 |
with gr.Row():
|
| 447 |
df = gr.Dataframe(
|
| 448 |
show_label=True,
|
|
|
|
| 8 |
from matplotlib.ticker import MaxNLocator
|
| 9 |
from transformers import pipeline
|
| 10 |
|
|
|
|
| 11 |
OWN_MODEL_NAME = 'add-a-model'
|
| 12 |
|
| 13 |
+
MODEL_NAME_DICT = {
|
| 14 |
+
"roberta-large": "RoBERTa-large",
|
| 15 |
+
"bert-large-uncased": "BERT-large",
|
| 16 |
+
"roberta-base": "RoBERTa-base",
|
| 17 |
+
"bert-base-uncased": "BERT-base",
|
| 18 |
+
"olm/olm-roberta-base-oct-2022": "OLM_RoBERTa-base",
|
| 19 |
+
OWN_MODEL_NAME: "Your model's"
|
| 20 |
+
}
|
| 21 |
+
MODEL_NAMES = list(MODEL_NAME_DICT.keys())
|
| 22 |
+
|
| 23 |
+
# MODEL_NAMES = ["bert-base-uncased", "roberta-base", "bert-large-uncased", "roberta-large"]
|
| 24 |
+
# OWN_MODEL_NAME = 'add-a-model'
|
| 25 |
+
|
| 26 |
DECIMAL_PLACES = 1
|
| 27 |
EPS = 1e-5 # to avoid /0 errors
|
| 28 |
|
|
|
|
| 148 |
|
| 149 |
# %%
|
| 150 |
# Fire up the models
|
| 151 |
+
models = {m : pipeline("fill-mask", model=m) for m in MODEL_NAMES if m != OWN_MODEL_NAME}
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
# %%
|
| 154 |
|
|
|
|
| 400 |
|
| 401 |
|
| 402 |
gr.Markdown("B) Pick a pre-loaded BERT-family model of interest on the right.")
|
| 403 |
+
gr.Markdown(f"Or C) select `{OWN_MODEL_NAME}`, then add the name of any other Hugging Face model that supports the [fill-mask](https://huggingface.co/models?pipeline_tag=fill-mask) task on the right (note: this may take some time to load).")
|
| 404 |
|
| 405 |
with gr.Row():
|
| 406 |
model_name = gr.Radio(
|
| 407 |
+
MODEL_NAMES,
|
|
|
|
| 408 |
label="B) BERT-like model.",
|
| 409 |
)
|
| 410 |
own_model_name = gr.Textbox(
|
|
|
|
| 420 |
to_normalize = gr.Dropdown(
|
| 421 |
["False", "True"],
|
| 422 |
label="D) Normalize model's predictions to only the gendered ones?",
|
|
|
|
| 423 |
)
|
| 424 |
place_holder = gr.Textbox(
|
| 425 |
label="E) Special token place-holder",
|
|
|
|
| 427 |
n_fit = gr.Dropdown(
|
| 428 |
list(range(1, 5)),
|
| 429 |
label="F) Degree of polynomial fit",
|
|
|
|
| 430 |
)
|
| 431 |
|
| 432 |
gr.Markdown(
|
|
|
|
| 439 |
)
|
| 440 |
|
| 441 |
gr.Markdown("## Outputs!")
|
|
|
|
| 442 |
with gr.Row():
|
| 443 |
btn = gr.Button("Hit submit to generate predictions!")
|
| 444 |
|
| 445 |
with gr.Row():
|
| 446 |
sample_text = gr.Textbox(
|
| 447 |
+
label="Output text: Sample of text fed to model")
|
| 448 |
with gr.Row():
|
| 449 |
+
female_fig = gr.Plot()
|
| 450 |
+
male_fig = gr.Plot()
|
| 451 |
with gr.Row():
|
| 452 |
df = gr.Dataframe(
|
| 453 |
show_label=True,
|