dancessa commited on
Commit
06bb51e
·
verified ·
1 Parent(s): 704bd81

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -15
app.py CHANGED
@@ -6,40 +6,59 @@ import gradio as gr
6
  from sklearn.cluster import AgglomerativeClustering
7
  import re
8
  import pandas as pd
 
9
 
10
 
11
  def load_models():
12
  device = "cuda" if torch.cuda.is_available() else "cpu"
13
- pubmed_model = AutoModel.from_pretrained("microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract",
14
- use_safetensors=True).to(device)
 
 
 
 
 
 
 
15
  try:
16
  nlp = spacy.load("en_core_sci_sm")
17
  except OSError:
18
- import os
19
- os.system("python -m spacy download en_core_sci_sm")
 
20
  nlp = spacy.load("en_core_sci_sm")
21
 
 
 
 
 
 
 
 
 
 
22
  return {
23
  "led": {
24
- "tokenizer": LEDTokenizer.from_pretrained("dancessa/led_pubmed_summarization"),
25
- "model": LEDForConditionalGeneration.from_pretrained("dancessa/led_pubmed_summarization",
26
- use_safetensors=True).to(device)
27
  },
28
  "pubmed": {
29
- "tokenizer": AutoTokenizer.from_pretrained("microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract"),
30
  "model": pubmed_model
31
  },
32
- "keybert": KeyBERT(model=pubmed_model),
33
  "spacy": nlp
34
  }
35
-
36
 
37
  models = load_models()
38
- nlp = models["spacy"]
39
- kw_model = models["keybert"]
40
- pubmed_tokenizer = models["pubmed"]["tokenizer"]
41
- led_model = models["led"]["model"]
42
- led_tokenizer = models["led"]["tokenizer"]
 
 
43
 
44
 
45
  def generate_summary(medical_text):
 
6
  from sklearn.cluster import AgglomerativeClustering
7
  import re
8
  import pandas as pd
9
+ from keybert.backend import TransformerBackend
10
 
11
 
12
  def load_models():
13
  device = "cuda" if torch.cuda.is_available() else "cpu"
14
+
15
+ pubmed_tok = AutoTokenizer.from_pretrained(
16
+ "microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract"
17
+ )
18
+ pubmed_model = AutoModel.from_pretrained(
19
+ "microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract",
20
+ use_safetensors=True
21
+ ).to(device)
22
+
23
  try:
24
  nlp = spacy.load("en_core_sci_sm")
25
  except OSError:
26
+ url = ("https://huggingface.co/allenai/scispacy_models/resolve/main/"
27
+ "en_core_sci_sm-0.5.5.tar.gz")
28
+ os.system(f"{sys.executable} -m pip install {url}")
29
  nlp = spacy.load("en_core_sci_sm")
30
 
31
+ led_tok = LEDTokenizer.from_pretrained("dancessa/led_pubmed_summarization")
32
+ led_mod = LEDForConditionalGeneration.from_pretrained(
33
+ "dancessa/led_pubmed_summarization",
34
+ use_safetensors=True
35
+ ).to(device)
36
+
37
+ kb_backend = TransformerBackend(pubmed_model, pubmed_tok)
38
+ kb_model = KeyBERT(model=kb_backend)
39
+
40
  return {
41
  "led": {
42
+ "tokenizer": led_tok,
43
+ "model": led_mod
 
44
  },
45
  "pubmed": {
46
+ "tokenizer": pubmed_tok,
47
  "model": pubmed_model
48
  },
49
+ "keybert": kb_model,
50
  "spacy": nlp
51
  }
52
+
53
 
54
  models = load_models()
55
+ nlp = models["spacy"]
56
+ kw_model = models["keybert"]
57
+ pubmed_tokenizer= models["pubmed"]["tokenizer"]
58
+ pubmed_model = models["pubmed"]["model"]
59
+ led_tokenizer = models["led"]["tokenizer"]
60
+ led_model = models["led"]["model"]
61
+
62
 
63
 
64
  def generate_summary(medical_text):