aliabd commited on
Commit
d820bd0
·
1 Parent(s): 9fe754f

Upload with huggingface_hub

Browse files
Files changed (4) hide show
  1. README.md +6 -7
  2. requirements.txt +4 -0
  3. run.ipynb +1 -0
  4. run.py +28 -0
README.md CHANGED
@@ -1,12 +1,11 @@
 
1
  ---
2
- title: Interpretation Component Main
3
- emoji: 😻
4
- colorFrom: yellow
5
- colorTo: gray
6
  sdk: gradio
7
  sdk_version: 3.16.2
8
- app_file: app.py
9
  pinned: false
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+
2
  ---
3
+ title: interpretation_component_main
4
+ emoji: 🔥
5
+ colorFrom: indigo
6
+ colorTo: indigo
7
  sdk: gradio
8
  sdk_version: 3.16.2
9
+ app_file: run.py
10
  pinned: false
11
  ---
 
 
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ shap
2
+ transformers
3
+ torch
4
+ https://gradio-main-build.s3.amazonaws.com/9a259cb8d0d002b445c4a36e0b60821d8b1ca052/gradio-3.16.2-py3-none-any.whl
run.ipynb ADDED
@@ -0,0 +1 @@
 
 
1
+ {"cells": [{"cell_type": "markdown", "id": 302934307671667531413257853548643485645, "metadata": {}, "source": ["# Gradio Demo: interpretation_component"]}, {"cell_type": "code", "execution_count": null, "id": 272996653310673477252411125948039410165, "metadata": {}, "outputs": [], "source": ["!pip install -q gradio shap transformers torch"]}, {"cell_type": "code", "execution_count": null, "id": 288918539441861185822528903084949547379, "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "import shap\n", "from transformers import pipeline\n", "\n", "\n", "sentiment_classifier = pipeline(\"text-classification\", return_all_scores=True)\n", "\n", "def interpretation_function(text):\n", " explainer = shap.Explainer(sentiment_classifier)\n", " shap_values = explainer([text])\n", " scores = list(zip(shap_values.data[0], shap_values.values[0, :, 1]))\n", " return {\"original\": text, \"interpretation\": scores}\n", "\n", "css = \"footer {display: none !important;} .gradio-container {min-height: 0px !important;}\"\n", "\n", "with gr.Blocks(css=css) as demo:\n", " with gr.Row():\n", " with gr.Column():\n", " input_text = gr.Textbox(label=\"Sentiment Analysis\", value=\"Wonderfully terrible\")\n", " with gr.Row():\n", " interpret = gr.Button(\"Interpret\")\n", " with gr.Column():\n", " interpretation = gr.components.Interpretation(input_text)\n", "\n", " interpret.click(interpretation_function, input_text, interpretation)\n", "\n", "if __name__ == \"__main__\":\n", " demo.launch()"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}
run.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import shap
3
+ from transformers import pipeline
4
+
5
+
6
+ sentiment_classifier = pipeline("text-classification", return_all_scores=True)
7
+
8
+ def interpretation_function(text):
9
+ explainer = shap.Explainer(sentiment_classifier)
10
+ shap_values = explainer([text])
11
+ scores = list(zip(shap_values.data[0], shap_values.values[0, :, 1]))
12
+ return {"original": text, "interpretation": scores}
13
+
14
+ css = "footer {display: none !important;} .gradio-container {min-height: 0px !important;}"
15
+
16
+ with gr.Blocks(css=css) as demo:
17
+ with gr.Row():
18
+ with gr.Column():
19
+ input_text = gr.Textbox(label="Sentiment Analysis", value="Wonderfully terrible")
20
+ with gr.Row():
21
+ interpret = gr.Button("Interpret")
22
+ with gr.Column():
23
+ interpretation = gr.components.Interpretation(input_text)
24
+
25
+ interpret.click(interpretation_function, input_text, interpretation)
26
+
27
+ if __name__ == "__main__":
28
+ demo.launch()