Geonomic commited on
Commit
960a2d6
Β·
verified Β·
1 Parent(s): ed9b964

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -7
app.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import gradio as gr
2
  import os
3
  import re
@@ -11,25 +12,24 @@ from Bio.Blast import NCBIWWW, NCBIXML
11
  # 🚨 Colab Native Imports for the Phenotype model
12
  from transformers import AutoTokenizer, AutoModelForSequenceClassification, AutoModel, BertTokenizer, BertForSequenceClassification, AutoConfig
13
  from huggingface_hub import hf_hub_download
14
- import spaces
15
 
16
  # ===================================
17
- # 1. LOAD AI MODELS (GLOBALLY CACHED ON CPU)
18
  # ===================================
19
- print("Waking up the Genomic Oracle... Loading models safely into CPU RAM.\n")
20
 
21
  # A. Kadir's Gatekeeper
22
  clf_coding = joblib.load("coding_classifier_universal.joblib")
23
 
24
  # B. Base DNABERT
25
  tokenizer_base = AutoTokenizer.from_pretrained("DNABERT_Local", trust_remote_code=True)
26
- # 🚨 _fast_init=False prevents the Meta Device crash during UI Build
27
- model_base = AutoModel.from_pretrained("DNABERT_Local", trust_remote_code=True, _fast_init=False)
28
  model_base.eval()
29
 
30
  # C. DNABERT-2 Promoter Model
31
  tokenizer_promoter = AutoTokenizer.from_pretrained("llm_promoter_classifier_v2", trust_remote_code=True)
32
- model_promoter = AutoModelForSequenceClassification.from_pretrained("llm_promoter_classifier_v2", trust_remote_code=True, _fast_init=False)
33
  model_promoter.eval()
34
 
35
  # D. Multi-Feature LightGBM
@@ -39,7 +39,7 @@ lightgbm_model = joblib.load(lgbm_path)
39
  # E. Custom Lean/Obese Phenotype BERT (🚨 Forced Native Architecture via Colab Fix!)
40
  tokenizer_pheno = BertTokenizer.from_pretrained("Geonomic/Genomic-Oracle-Weights", do_lower_case=False)
41
  config_pheno = AutoConfig.from_pretrained("Geonomic/Genomic-Oracle-Weights", trust_remote_code=True)
42
- model_pheno = BertForSequenceClassification.from_pretrained("Geonomic/Genomic-Oracle-Weights", config=config_pheno, _fast_init=False)
43
  model_pheno.eval()
44
 
45
  FEATURE_DICT = {
 
1
+ import spaces # 🚨 MUST BE LINE 1. Fixes the "CUDA Initialized" error!
2
  import gradio as gr
3
  import os
4
  import re
 
12
  # 🚨 Colab Native Imports for the Phenotype model
13
  from transformers import AutoTokenizer, AutoModelForSequenceClassification, AutoModel, BertTokenizer, BertForSequenceClassification, AutoConfig
14
  from huggingface_hub import hf_hub_download
 
15
 
16
  # ===================================
17
+ # 1. LOAD AI MODELS (STREAMLIT RAW METHOD)
18
  # ===================================
19
+ print("Waking up the Genomic Oracle... Loading raw models to CPU (Streamlit Style).\n")
20
 
21
  # A. Kadir's Gatekeeper
22
  clf_coding = joblib.load("coding_classifier_universal.joblib")
23
 
24
  # B. Base DNABERT
25
  tokenizer_base = AutoTokenizer.from_pretrained("DNABERT_Local", trust_remote_code=True)
26
+ # 🚨 device_map="cpu" blocks the meta device and perfectly mimics Streamlit's raw loading!
27
+ model_base = AutoModel.from_pretrained("DNABERT_Local", trust_remote_code=True, device_map="cpu")
28
  model_base.eval()
29
 
30
  # C. DNABERT-2 Promoter Model
31
  tokenizer_promoter = AutoTokenizer.from_pretrained("llm_promoter_classifier_v2", trust_remote_code=True)
32
+ model_promoter = AutoModelForSequenceClassification.from_pretrained("llm_promoter_classifier_v2", trust_remote_code=True, device_map="cpu")
33
  model_promoter.eval()
34
 
35
  # D. Multi-Feature LightGBM
 
39
  # E. Custom Lean/Obese Phenotype BERT (🚨 Forced Native Architecture via Colab Fix!)
40
  tokenizer_pheno = BertTokenizer.from_pretrained("Geonomic/Genomic-Oracle-Weights", do_lower_case=False)
41
  config_pheno = AutoConfig.from_pretrained("Geonomic/Genomic-Oracle-Weights", trust_remote_code=True)
42
+ model_pheno = BertForSequenceClassification.from_pretrained("Geonomic/Genomic-Oracle-Weights", config=config_pheno, device_map="cpu")
43
  model_pheno.eval()
44
 
45
  FEATURE_DICT = {