Spaces:
Sleeping
Sleeping
use optimus pkl
Browse files- app.py +5 -1
- data/paladin_model_map.csv +0 -133
app.py
CHANGED
|
@@ -6,6 +6,7 @@ import pandas as pd
|
|
| 6 |
from PIL import Image
|
| 7 |
import torch
|
| 8 |
import spaces
|
|
|
|
| 9 |
|
| 10 |
from mussel.utils import get_features, segment_tissue
|
| 11 |
from mussel.models import ModelType
|
|
@@ -14,14 +15,17 @@ from paladin_inference import run_paladin
|
|
| 14 |
|
| 15 |
NUM_WORKERS = 0
|
| 16 |
|
|
|
|
| 17 |
GIT_TOKEN = os.environ.get("GH_TOKEN")
|
| 18 |
subprocess.run(f"pip install git+https://{GIT_TOKEN}@github.com/pathology-data-mining/paladin.git@dev", shell=True)
|
| 19 |
|
|
|
|
|
|
|
| 20 |
|
| 21 |
@spaces.GPU(duration=300)
|
| 22 |
def get_features_and_infer(coords, slide_path, attrs, site_type):
|
| 23 |
use_gpu = torch.cuda.is_available()
|
| 24 |
-
features, _ = get_features(coords, slide_path, attrs, model_type=ModelType.OPTIMUS, use_gpu=use_gpu, batch_size=256, num_workers=NUM_WORKERS)
|
| 25 |
|
| 26 |
# Step 3: Run Aeon to predict histology
|
| 27 |
aeon_results, _ = run_aeon(
|
|
|
|
| 6 |
from PIL import Image
|
| 7 |
import torch
|
| 8 |
import spaces
|
| 9 |
+
from huggingface_hub import snapshot_download
|
| 10 |
|
| 11 |
from mussel.utils import get_features, segment_tissue
|
| 12 |
from mussel.models import ModelType
|
|
|
|
| 15 |
|
| 16 |
NUM_WORKERS = 0
|
| 17 |
|
| 18 |
+
# Install Paladin from GitHub
|
| 19 |
GIT_TOKEN = os.environ.get("GH_TOKEN")
|
| 20 |
subprocess.run(f"pip install git+https://{GIT_TOKEN}@github.com/pathology-data-mining/paladin.git@dev", shell=True)
|
| 21 |
|
| 22 |
+
# Download pre-trained models if not present
|
| 23 |
+
local_repo_path = snapshot_download(repo_id="PDM-Group/paladin-aeon-models", local_dir="data")
|
| 24 |
|
| 25 |
@spaces.GPU(duration=300)
|
| 26 |
def get_features_and_infer(coords, slide_path, attrs, site_type):
|
| 27 |
use_gpu = torch.cuda.is_available()
|
| 28 |
+
features, _ = get_features(coords, slide_path, attrs, model_type=ModelType.OPTIMUS, model_path="data/optimus.pkl", use_gpu=use_gpu, batch_size=256, num_workers=NUM_WORKERS)
|
| 29 |
|
| 30 |
# Step 3: Run Aeon to predict histology
|
| 31 |
aeon_results, _ = run_aeon(
|
data/paladin_model_map.csv
DELETED
|
@@ -1,133 +0,0 @@
|
|
| 1 |
-
histology,target_name,model_path
|
| 2 |
-
AASTR,IDH1.R132H,data/paladin/xf9lhkpd.epoch=12-step=13.model.pkl
|
| 3 |
-
AASTR,ATRX_TRUNC,data/paladin/nghmtwqq.epoch=12-step=13.model.pkl
|
| 4 |
-
AASTR,ATRX_ONCOGENIC,data/paladin/j3pgp96i.epoch=14-step=15.model.pkl
|
| 5 |
-
ADNOS,Del_17p,data/paladin/x474gdo3.epoch=16-step=51.model.pkl
|
| 6 |
-
ASTR,TP53_hotspot,data/paladin/ed73u1uo.epoch=7-step=16.model.pkl
|
| 7 |
-
ASTR,IDH1.R132H,data/paladin/7cxzdxfb.epoch=10-step=22.model.pkl
|
| 8 |
-
ASTR,ATRX_ONCOGENIC,data/paladin/gq60pnxn.epoch=9-step=20.model.pkl
|
| 9 |
-
ASTR,ATRX_TRUNC,data/paladin/0frn4tny.epoch=9-step=20.model.pkl
|
| 10 |
-
ASTR,TP53_ONCOGENIC,data/paladin/ww18g380.epoch=17-step=36.model.pkl
|
| 11 |
-
ASTR,IDH1_hotspot,data/paladin/uhfe7p8r.epoch=16-step=34.model.pkl
|
| 12 |
-
ASTR,IDH1_ONCOGENIC,data/paladin/3ar8pu9i.epoch=16-step=34.model.pkl
|
| 13 |
-
ASTR,RTK_RAS_PATHWAY,data/paladin/u91fy5r0.epoch=7-step=16.model.pkl
|
| 14 |
-
BLCA,Del_6q,data/paladin/eqtpu2m2.epoch=6-step=91.model.pkl
|
| 15 |
-
BLCA,TP53_PATHWAY,data/paladin/jaoqa2w3.epoch=7-step=104.model.pkl
|
| 16 |
-
BLCA,RB1_TRUNC,data/paladin/v5yz6ndf.epoch=7-step=104.model.pkl
|
| 17 |
-
BLCA,RB1_ONCOGENIC,data/paladin/54uvrvff.epoch=6-step=91.model.pkl
|
| 18 |
-
BLCA,FGFR3_ONCOGENIC,data/paladin/jchzcaq5.epoch=4-step=65.model.pkl
|
| 19 |
-
CCRCC,Del_14q,data/paladin/kr2wtldy.epoch=13-step=56.model.pkl
|
| 20 |
-
COAD,NKX3-1_HomDel,data/paladin/cwh3r34l.epoch=12-step=104.model.pkl
|
| 21 |
-
COAD,NKX3-1_ONCOGENIC,data/paladin/ji4ankxk.epoch=12-step=104.model.pkl
|
| 22 |
-
COAD,Amp_10p,data/paladin/9lt8fu1i.epoch=17-step=144.model.pkl
|
| 23 |
-
COAD,Del_5q,data/paladin/e3owivcb.epoch=11-step=96.model.pkl
|
| 24 |
-
COAD,BRAF_hotspot,data/paladin/gi1mikgg.epoch=19-step=300.model.pkl
|
| 25 |
-
COAD,Amp_13q,data/paladin/5fr6k4aq.epoch=2-step=45.model.pkl
|
| 26 |
-
COAD,Amp_17q,data/paladin/gs0nknp6.epoch=17-step=270.model.pkl
|
| 27 |
-
COAD,Del_18p,data/paladin/i9f8ace7.epoch=6-step=105.model.pkl
|
| 28 |
-
COAD,SRC_Amp,data/paladin/nz6n2i3j.epoch=13-step=210.model.pkl
|
| 29 |
-
COAD,Del_18q,data/paladin/46zyn9jd.epoch=5-step=48.model.pkl
|
| 30 |
-
COAD,ASXL1_Amp,data/paladin/jtjvnzv8.epoch=13-step=210.model.pkl
|
| 31 |
-
COAD,Del_21p,data/paladin/6m0qjb6j.epoch=16-step=255.model.pkl
|
| 32 |
-
COAD,KRAS_hotspot,data/paladin/9y9vj6vn.epoch=5-step=90.model.pkl
|
| 33 |
-
COAD,Del_21p,data/paladin/qih446gc.epoch=16-step=136.model.pkl
|
| 34 |
-
COAD,DNMT3B_Amp,data/paladin/3cb7sra7.epoch=14-step=225.model.pkl
|
| 35 |
-
COAD,SRC_ONCOGENIC,data/paladin/l4v77tuf.epoch=13-step=210.model.pkl
|
| 36 |
-
COAD,Del_18q,data/paladin/5x3oo7bu.epoch=6-step=105.model.pkl
|
| 37 |
-
COAD,Del_5q,data/paladin/aupfdkmm.epoch=8-step=135.model.pkl
|
| 38 |
-
COAD,TOP1_Amp,data/paladin/llb4wrf5.epoch=17-step=270.model.pkl
|
| 39 |
-
COAD,DNMT3B_ONCOGENIC,data/paladin/84q4qtj2.epoch=16-step=238.model.pkl
|
| 40 |
-
COAD,Amp_20q,data/paladin/lvgc5hf4.epoch=9-step=80.model.pkl
|
| 41 |
-
COAD,Amp_20q,data/paladin/3z7m1yvu.epoch=3-step=60.model.pkl
|
| 42 |
-
COAD,BRAF.V600E,data/paladin/hszhjtww.epoch=19-step=300.model.pkl
|
| 43 |
-
COAD,MSI_TYPE,data/paladin/7zkj9sa3.epoch=10-step=187.model.pkl
|
| 44 |
-
COADREAD,MSI_TYPE,data/paladin/ef9g2g05.epoch=19-step=80.model.pkl
|
| 45 |
-
GBM,TERT_ONCOGENIC,data/paladin/d2nctcc7.epoch=3-step=24.model.pkl
|
| 46 |
-
GBM,EGFR_Amp,data/paladin/3ym64o1g.epoch=12-step=78.model.pkl
|
| 47 |
-
GBM,EGFR_SV,data/paladin/c0piw4ym.epoch=14-step=90.model.pkl
|
| 48 |
-
GIST,EPIGENETIC_PATHWAY,data/paladin/imjphv1j.epoch=17-step=72.model.pkl
|
| 49 |
-
GIST,Del_10q,data/paladin/9c1quhjf.epoch=14-step=30.model.pkl
|
| 50 |
-
GIST,Del_1p,data/paladin/711sspdl.epoch=7-step=32.model.pkl
|
| 51 |
-
GIST,CELL_CYCLE_PATHWAY,data/paladin/tbty48me.epoch=13-step=56.model.pkl
|
| 52 |
-
GIST,CDKN2B_HomDel,data/paladin/bvo5yd3x.epoch=19-step=80.model.pkl
|
| 53 |
-
GIST,CDKN2B_ONCOGENIC,data/paladin/hchh1kxy.epoch=19-step=80.model.pkl
|
| 54 |
-
GIST,KIT_ONCOGENIC,data/paladin/5qv1l577.epoch=16-step=68.model.pkl
|
| 55 |
-
GIST,Del_9q,data/paladin/js5kwd8h.epoch=14-step=60.model.pkl
|
| 56 |
-
HCC,Del_8p,data/paladin/414aigjv.epoch=13-step=28.model.pkl
|
| 57 |
-
HGSOC,ZRSR2_HomDel,data/paladin/f49bti0v.epoch=18-step=152.model.pkl
|
| 58 |
-
HGSOC,ZRSR2_ONCOGENIC,data/paladin/w65puu1d.epoch=18-step=152.model.pkl
|
| 59 |
-
IDC,Del_14q,data/paladin/0332pa6g.epoch=4-step=80.model.pkl
|
| 60 |
-
IDC,NBN_Amp,data/paladin/3dckgf7z.epoch=19-step=320.model.pkl
|
| 61 |
-
IDC,Amp_10p,data/paladin/86dw519k.epoch=8-step=144.model.pkl
|
| 62 |
-
IDC,TP53_PATHWAY,data/paladin/nnpm1j02.epoch=5-step=96.model.pkl
|
| 63 |
-
IDC,Del_5q,data/paladin/qmd3pzkq.epoch=5-step=96.model.pkl
|
| 64 |
-
IDC,TP53_ONCOGENIC,data/paladin/vreyb1om.epoch=6-step=112.model.pkl
|
| 65 |
-
IDC,Amp_9p,data/paladin/03ag726b.epoch=18-step=304.model.pkl
|
| 66 |
-
LUAD,ALK_ONCOGENIC,data/paladin/ovyxd2ob.epoch=19-step=520.model.pkl
|
| 67 |
-
LUAD,CDKN2A_HomDel,data/paladin/jjzra532.epoch=8-step=243.model.pkl
|
| 68 |
-
LUAD,Del_8p,data/paladin/50r2qwax.epoch=4-step=135.model.pkl
|
| 69 |
-
LUAD,ALK_fusion,data/paladin/9yhryzl3.epoch=19-step=540.model.pkl
|
| 70 |
-
LUAD,EGFR.L858R,data/paladin/m5ryhg9a.epoch=10-step=297.model.pkl
|
| 71 |
-
LUAD,Amp_14q,data/paladin/ngn9k9im.epoch=10-step=297.model.pkl
|
| 72 |
-
LUAD,Del_10q,data/paladin/zb1foppw.epoch=15-step=432.model.pkl
|
| 73 |
-
LUAD,TP53_PATHWAY,data/paladin/1h5j6lcv.epoch=3-step=108.model.pkl
|
| 74 |
-
LUAD,Del_19p,data/paladin/eqkh5ixz.epoch=7-step=216.model.pkl
|
| 75 |
-
LUAD,STK11_TRUNC,data/paladin/k60w4up0.epoch=12-step=208.model.pkl
|
| 76 |
-
LUAD,EGFR_hotspot,data/paladin/8chbkvr2.epoch=3-step=108.model.pkl
|
| 77 |
-
LUAD,STK11_ONCOGENIC,data/paladin/0g4nz14y.epoch=6-step=112.model.pkl
|
| 78 |
-
LUAD,Del_21q,data/paladin/f1vh8j1d.epoch=11-step=324.model.pkl
|
| 79 |
-
LUAD,Amp_1q,data/paladin/nkik9rcn.epoch=6-step=189.model.pkl
|
| 80 |
-
LUAD,NRF2_PATHWAY,data/paladin/yqlfdrvs.epoch=8-step=243.model.pkl
|
| 81 |
-
LUAD,Del_21p,data/paladin/3szdaukp.epoch=16-step=459.model.pkl
|
| 82 |
-
LUAD,STK11_ONCOGENIC,data/paladin/uanm5qpb.epoch=6-step=189.model.pkl
|
| 83 |
-
LUSC,Del_10q,data/paladin/gbsuatlf.epoch=12-step=65.model.pkl
|
| 84 |
-
LUSC,Del_5q,data/paladin/otxp4y9q.epoch=15-step=80.model.pkl
|
| 85 |
-
LUSC,Del_3p,data/paladin/1gkyhld8.epoch=8-step=45.model.pkl
|
| 86 |
-
NBL,Del_Xp,data/paladin/7y3lp7vw.epoch=14-step=45.model.pkl
|
| 87 |
-
NBL,Del_Xq,data/paladin/ludvrs24.epoch=19-step=60.model.pkl
|
| 88 |
-
NBL,Amp_17q,data/paladin/qia84b7i.epoch=11-step=36.model.pkl
|
| 89 |
-
NBL,RTK_RAS_PATHWAY,data/paladin/wyd7ada7.epoch=0-step=2.model.pkl
|
| 90 |
-
NBL,MYCN_Amp,data/paladin/k88gw2io.epoch=14-step=45.model.pkl
|
| 91 |
-
NBL,MYCN_ONCOGENIC,data/paladin/sp7lpt88.epoch=14-step=45.model.pkl
|
| 92 |
-
NBL,MYC_PATHWAY,data/paladin/1onmwcqf.epoch=11-step=36.model.pkl
|
| 93 |
-
PAAD,Del_12p,data/paladin/cofs6tb2.epoch=14-step=210.model.pkl
|
| 94 |
-
PAAD,Del_15q,data/paladin/4366o7so.epoch=19-step=280.model.pkl
|
| 95 |
-
PAAD,MTAP_ONCOGENIC,data/paladin/h14fuggs.epoch=13-step=70.model.pkl
|
| 96 |
-
PAAD,CDKN2B_ONCOGENIC,data/paladin/c9onh7cc.epoch=5-step=54.model.pkl
|
| 97 |
-
PAAD,CDKN2B_HomDel,data/paladin/e6y1suye.epoch=5-step=54.model.pkl
|
| 98 |
-
PAAD,CDKN2A_HomDel,data/paladin/yci9dso2.epoch=5-step=54.model.pkl
|
| 99 |
-
PAAD,Del_21p,data/paladin/p3sgty9x.epoch=17-step=162.model.pkl
|
| 100 |
-
PANET,Amp_7q,data/paladin/8w0pcfqg.epoch=3-step=8.model.pkl
|
| 101 |
-
PANET,Amp_14q,data/paladin/kvqfszzv.epoch=11-step=24.model.pkl
|
| 102 |
-
PANET,Amp_17q,data/paladin/n05xwpfv.epoch=1-step=4.model.pkl
|
| 103 |
-
PANET,Del_2q,data/paladin/iway7gvk.epoch=19-step=40.model.pkl
|
| 104 |
-
PANET,Del_1q,data/paladin/nnv3biwl.epoch=14-step=30.model.pkl
|
| 105 |
-
PANET,Del_10p,data/paladin/ivcnueik.epoch=15-step=32.model.pkl
|
| 106 |
-
PANET,Del_3p,data/paladin/i18cwtml.epoch=10-step=22.model.pkl
|
| 107 |
-
PANET,Del_10q,data/paladin/lhdb8n6t.epoch=15-step=32.model.pkl
|
| 108 |
-
PANET,Del_2p,data/paladin/simlsmym.epoch=18-step=38.model.pkl
|
| 109 |
-
PANET,Del_3q,data/paladin/z9pxdil3.epoch=10-step=22.model.pkl
|
| 110 |
-
PRAD,Amp_11q,data/paladin/rlppqzob.epoch=19-step=300.model.pkl
|
| 111 |
-
PRAD,Del_15q,data/paladin/8y9cu8ti.epoch=5-step=90.model.pkl
|
| 112 |
-
PRAD,Amp_7q,data/paladin/4z9wd7oh.epoch=15-step=240.model.pkl
|
| 113 |
-
PRAD,SPOP_hotspot,data/paladin/tyqig7ov.epoch=14-step=225.model.pkl
|
| 114 |
-
SARCNOS,TP53_ONCOGENIC,data/paladin/xvpxs12a.epoch=12-step=39.model.pkl
|
| 115 |
-
SKCM,Del_10p,data/paladin/9dadxrr4.epoch=11-step=60.model.pkl
|
| 116 |
-
SKCM,Del_10q,data/paladin/f6l6c2v8.epoch=9-step=50.model.pkl
|
| 117 |
-
STAD,MSI_TYPE,data/paladin/kmi9hl2z.epoch=19-step=80.model.pkl
|
| 118 |
-
THPA,BRAF_hotspot,data/paladin/u0ec035p.epoch=13-step=28.model.pkl
|
| 119 |
-
UEC,ARID1A_ONCOGENIC,data/paladin/hrn4ehsm.epoch=11-step=108.model.pkl
|
| 120 |
-
UEC,Amp_10q,data/paladin/0kh0uesc.epoch=10-step=99.model.pkl
|
| 121 |
-
UEC,CTNNB1_ONCOGENIC,data/paladin/rmg2u8mw.epoch=12-step=26.model.pkl
|
| 122 |
-
UEC,CTNNB1_hotspot,data/paladin/0y5oa83k.epoch=13-step=28.model.pkl
|
| 123 |
-
UEC,KRAS_ONCOGENIC,data/paladin/wc3cv24o.epoch=12-step=117.model.pkl
|
| 124 |
-
UEC,Amp_10p,data/paladin/cpq494o0.epoch=18-step=171.model.pkl
|
| 125 |
-
UEC,TP53_hotspot,data/paladin/52dr57pb.epoch=14-step=135.model.pkl
|
| 126 |
-
UEC,TGF_BETA_PATHWAY,data/paladin/8uxv3vc8.epoch=17-step=162.model.pkl
|
| 127 |
-
UEC,Amp_8q,data/paladin/uzp4fgfa.epoch=14-step=135.model.pkl
|
| 128 |
-
UEC,Amp_1q,data/paladin/ce6wob99.epoch=14-step=135.model.pkl
|
| 129 |
-
UEC,MSI_TYPE,data/paladin/zrsfn6kz.epoch=13-step=126.model.pkl
|
| 130 |
-
UEC,CTNNB1_ONCOGENIC,data/paladin/lrfqme6d.epoch=11-step=108.model.pkl
|
| 131 |
-
UEC,CTNNB1_hotspot,data/paladin/hf3samzm.epoch=13-step=126.model.pkl
|
| 132 |
-
USC,Del_16q,data/paladin/eq6jer0f.epoch=9-step=30.model.pkl
|
| 133 |
-
UTUC,FGFR3_hotspot,data/paladin/qgajjknw.epoch=10-step=33.model.pkl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|