DrugGEN / app.py
osbm's picture
update
26b55ee
raw
history blame
2.62 kB
import streamlit as st
from trainer import Trainer
class DrugGENConfig:
submodel='CrossLoss'
act='relu'
z_dim=16
max_atom=45
lambda_gp=1
dim=128
depth=1
heads=8
dec_depth=1
dec_heads=8
dec_dim=128
mlp_ratio=3
warm_up_steps=0
dis_select='mlp'
init_type='normal'
batch_size=128
epoch=50
g_lr=0.00001
d_lr=0.00001
g2_lr=0.00001
d2_lr=0.00001
dropout=0.
dec_dropout=0.
n_critic=1
beta1=0.9
beta2=0.999
resume_iters=None
clipping_value=2
features=False
test_iters=10_000
num_test_epoch=30_000
inference_sample_num=1000
num_workers=1
mode="inference"
inference_iterations=100
inf_batch_size=1
protein_data_dir='data/akt'
drug_index='data/drug_smiles.index'
drug_data_dir='data/akt'
mol_data_dir='data'
log_dir='experiments/logs'
model_save_dir='experiments/models'
# inference_model=""
sample_dir='experiments/samples'
result_dir="experiments/tboard_output"
dataset_file="chembl45_train.pt"
drug_dataset_file="akt_train.pt"
raw_file='data/chembl_train.smi'
drug_raw_file="data/akt_train.smi"
inf_dataset_file="chembl45_test.pt"
inf_drug_dataset_file='akt_test.pt'
inf_raw_file='data/chembl_test.smi'
inf_drug_raw_file="data/akt_test.smi"
log_sample_step=1000
set_seed=False
seed=1
resume=False
resume_epoch=None
resume_iter=None
resume_directory=None
class ProtConfig(DrugGENConfig):
submodel="Prot"
inference_model="experiments/models/Prot"
class CrossLossConfig(DrugGENConfig):
submodel="CrossLoss"
inference_model="experiments/models/CrossLoss"
class NoTargetConfig(DrugGENConfig):
submodel="NoTarget"
inference_model="experiments/models/NoTarget"
model_configs = {
"Prot": ProtConfig(),
"CrossLoss": CrossLossConfig(),
"NoTarget": NoTargetConfig(),
}
with st.sidebar:
st.title("DrugGEN")
with st.form("model_selection_from"):
model_name = st.radio(
"Select a model to make inference",
('Prot', 'CrossLoss', 'NoTarget'))
submitted = st.form_submit_button("Start Computing")
if submitted:
st.write(model_name)
if submitted:
with st.spinner('Creating the trainer class instance...'):
trainer = Trainer(model_configs[model_name])
with st.spinner('Running inference function (this may take a while) ...'):
trainer.inference()
st.success(f"Success with the inference of {model_name}")
else:
st.warning("Please select a model to make inference")