Spaces:
Building on Zero
Building on Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -65,6 +65,7 @@ from collections import deque # add this at the top of app.py if not already
|
|
| 65 |
seen = set()
|
| 66 |
|
| 67 |
import io
|
|
|
|
| 68 |
|
| 69 |
# Fix for Windows Unicode printing issues
|
| 70 |
if sys.platform == "win32":
|
|
@@ -78,48 +79,58 @@ nlp = spacy.load("en_core_web_sm") # Assuming this is used; load once
|
|
| 78 |
|
| 79 |
# Load Hugging Face models and tokenizers (done globally to avoid reloading)
|
| 80 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
|
|
| 81 |
|
| 82 |
sign_tagging_model_name = "RJ3vans/SignTagger"
|
| 83 |
-
SignTaggingTokenizer = AutoTokenizer.from_pretrained(sign_tagging_model_name)
|
| 84 |
SignTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 85 |
-
sign_tagging_model_name
|
| 86 |
).to(device)
|
|
|
|
| 87 |
|
| 88 |
ssccv_span_tagging_model_name = "RJ3vans/SSCCVspanTagger"
|
| 89 |
-
SSCCVspanTaggingTokenizer = AutoTokenizer.from_pretrained(ssccv_span_tagging_model_name)
|
| 90 |
SSCCVspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 91 |
-
ssccv_span_tagging_model_name
|
| 92 |
).to(device)
|
|
|
|
| 93 |
|
| 94 |
ssmn_span_tagging_model_name = "RJ3vans/SSMNspanTagger"
|
| 95 |
-
SSMNspanTaggingTokenizer = AutoTokenizer.from_pretrained(ssmn_span_tagging_model_name)
|
| 96 |
SSMNspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 97 |
-
ssmn_span_tagging_model_name
|
| 98 |
).to(device)
|
|
|
|
| 99 |
|
| 100 |
ccv_span_tagging_model_name = "RJ3vans/CCVspanTagger"
|
| 101 |
-
CCVspanTaggingTokenizer = AutoTokenizer.from_pretrained(ccv_span_tagging_model_name)
|
| 102 |
CCVspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 103 |
-
ccv_span_tagging_model_name
|
| 104 |
).to(device)
|
|
|
|
| 105 |
|
| 106 |
cmv1_span_tagging_model_name = "RJ3vans/CMV1spanTagger"
|
| 107 |
-
CMV1spanTaggingTokenizer = AutoTokenizer.from_pretrained(cmv1_span_tagging_model_name)
|
| 108 |
CMV1spanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 109 |
-
cmv1_span_tagging_model_name
|
| 110 |
).to(device)
|
|
|
|
| 111 |
|
| 112 |
cmn1_span_tagging_model_name = "RJ3vans/CMN1spanTagger"
|
| 113 |
-
CMN1spanTaggingTokenizer = AutoTokenizer.from_pretrained(cmn1_span_tagging_model_name)
|
| 114 |
CMN1spanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 115 |
-
cmn1_span_tagging_model_name
|
| 116 |
).to(device)
|
|
|
|
| 117 |
|
| 118 |
cln_span_tagging_model_name = "RJ3vans/CLNspanTagger"
|
| 119 |
-
CLNspanTaggingTokenizer = AutoTokenizer.from_pretrained(
|
| 120 |
CLNspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 121 |
-
cln_span_tagging_model_name
|
| 122 |
).to(device)
|
|
|
|
|
|
|
|
|
|
| 123 |
|
| 124 |
# Define label lists (extracted from notebook summary; expand with full 70+ if needed)
|
| 125 |
sign_label_list = [
|
|
|
|
| 65 |
seen = set()
|
| 66 |
|
| 67 |
import io
|
| 68 |
+
hf_token = os.environ.get("HF_TOKEN") or os.environ.get("HUGGING_FACE_HUB_TOKEN")
|
| 69 |
|
| 70 |
# Fix for Windows Unicode printing issues
|
| 71 |
if sys.platform == "win32":
|
|
|
|
| 79 |
|
| 80 |
# Load Hugging Face models and tokenizers (done globally to avoid reloading)
|
| 81 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 82 |
+
print("Device:", device)
|
| 83 |
|
| 84 |
sign_tagging_model_name = "RJ3vans/SignTagger"
|
| 85 |
+
SignTaggingTokenizer = AutoTokenizer.from_pretrained(sign_tagging_model_name, token=hf_token)
|
| 86 |
SignTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 87 |
+
sign_tagging_model_name, token=hf_token
|
| 88 |
).to(device)
|
| 89 |
+
SignTaggingModel.eval()
|
| 90 |
|
| 91 |
ssccv_span_tagging_model_name = "RJ3vans/SSCCVspanTagger"
|
| 92 |
+
SSCCVspanTaggingTokenizer = AutoTokenizer.from_pretrained(ssccv_span_tagging_model_name, token=hf_token)
|
| 93 |
SSCCVspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 94 |
+
ssccv_span_tagging_model_name, token=hf_token
|
| 95 |
).to(device)
|
| 96 |
+
SSCCVspanTaggingModel.eval()
|
| 97 |
|
| 98 |
ssmn_span_tagging_model_name = "RJ3vans/SSMNspanTagger"
|
| 99 |
+
SSMNspanTaggingTokenizer = AutoTokenizer.from_pretrained(ssmn_span_tagging_model_name, token=hf_token)
|
| 100 |
SSMNspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 101 |
+
ssmn_span_tagging_model_name, token=hf_token
|
| 102 |
).to(device)
|
| 103 |
+
SSMNspanTaggingModel.eval()
|
| 104 |
|
| 105 |
ccv_span_tagging_model_name = "RJ3vans/CCVspanTagger"
|
| 106 |
+
CCVspanTaggingTokenizer = AutoTokenizer.from_pretrained(ccv_span_tagging_model_name, token=hf_token)
|
| 107 |
CCVspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 108 |
+
ccv_span_tagging_model_name, token=hf_token
|
| 109 |
).to(device)
|
| 110 |
+
CCVspanTaggingModel.eval()
|
| 111 |
|
| 112 |
cmv1_span_tagging_model_name = "RJ3vans/CMV1spanTagger"
|
| 113 |
+
CMV1spanTaggingTokenizer = AutoTokenizer.from_pretrained(cmv1_span_tagging_model_name, token=hf_token)
|
| 114 |
CMV1spanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 115 |
+
cmv1_span_tagging_model_name, token=hf_token
|
| 116 |
).to(device)
|
| 117 |
+
CMV1spanTaggingModel.eval()
|
| 118 |
|
| 119 |
cmn1_span_tagging_model_name = "RJ3vans/CMN1spanTagger"
|
| 120 |
+
CMN1spanTaggingTokenizer = AutoTokenizer.from_pretrained(cmn1_span_tagging_model_name, token=hf_token)
|
| 121 |
CMN1spanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 122 |
+
cmn1_span_tagging_model_name, token=hf_token
|
| 123 |
).to(device)
|
| 124 |
+
CMN1spanTaggingModel.eval()
|
| 125 |
|
| 126 |
cln_span_tagging_model_name = "RJ3vans/CLNspanTagger"
|
| 127 |
+
CLNspanTaggingTokenizer = AutoTokenizer.from_pretrained(cln_span_tagging_model_name, token=hf_token)
|
| 128 |
CLNspanTaggingModel = AutoModelForTokenClassification.from_pretrained(
|
| 129 |
+
cln_span_tagging_model_name, token=hf_token
|
| 130 |
).to(device)
|
| 131 |
+
CLNspanTaggingModel.eval()
|
| 132 |
+
|
| 133 |
+
|
| 134 |
|
| 135 |
# Define label lists (extracted from notebook summary; expand with full 70+ if needed)
|
| 136 |
sign_label_list = [
|