diff --git a/examples/mortality_prediction/unified_embedding_e2e_mimic4.py b/examples/mortality_prediction/unified_embedding_e2e_mimic4.py index 2b4a0dc30..c23c71977 100644 --- a/examples/mortality_prediction/unified_embedding_e2e_mimic4.py +++ b/examples/mortality_prediction/unified_embedding_e2e_mimic4.py @@ -22,6 +22,8 @@ NotesLabsMIMIC4: admission-context note sections + labs, no ICD codes. Extracts Chief Complaint, HPI, PMH, Medications on Admission from the discharge note — text available at admission time, ~90%+ coverage. + Also includes in-window radiology reports (Indication, Impression + sections), bounded to the observation window rather than timestamp 0.0. Requires --note-root. Add --freeze-encoder to freeze Bio_ClinicalBERT and train only the backbone; cuts BERT VRAM by ~50%, useful on smaller GPUs (≤24 GB). @@ -65,8 +67,6 @@ MIMIC4Dataset, get_dataloader, sample_balanced, - sample_oversample, - sample_weighted, split_by_patient, split_by_sample, ) @@ -78,6 +78,7 @@ from pyhealth.tasks.multimodal_mimic4 import ( ClinicalNotesICDLabsMIMIC4, ICDLabsMIMIC4, + LabsMIMIC4, NotesLabsMIMIC4, ) from pyhealth.trainer import Trainer @@ -93,9 +94,18 @@ def _build_base_dataset(args: argparse.Namespace) -> MIMIC4Dataset: raise ValueError("--task clinical_notes_icd_labs requires --note-root.") note_tables = ["discharge", "radiology"] + if args.task == "notes_labs": + if not args.note_root: + raise ValueError("--task notes_labs requires --note-root.") + note_tables = ["discharge", "radiology"] + ehr_tables = ["diagnoses_icd", "procedures_icd", "labevents"] if args.icd_codes else ["labevents"] + if args.task == "icd_labs": ehr_tables = ["diagnoses_icd", "procedures_icd", "labevents"] + if args.task == "labs": + ehr_tables = ["labevents"] + return MIMIC4Dataset( ehr_root=args.ehr_root, ehr_tables=ehr_tables, @@ -120,6 +130,8 @@ def _build_task(args: argparse.Namespace): include_icd=args.icd_codes, include_vitals=args.include_vitals, ) + if args.task == "labs": + return LabsMIMIC4(window_hours=args.observation_window_hours) raise ValueError(f"Unknown task: {args.task}") @@ -276,17 +288,6 @@ def run(args: argparse.Namespace) -> Path: train_ds = sample_balanced(train_ds, ratio=ratio, seed=args.seed, label_key=label_key) print(f"[sampling] Training size after undersample: {len(train_ds)}") - elif strategy == "oversample": - ratio = args.balanced_ratio - print(f"[sampling] Oversampling positives -> pos:neg 1:{ratio}") - train_ds = sample_oversample(train_ds, ratio=ratio, seed=args.seed, label_key=label_key) - print(f"[sampling] Training size after oversample: {len(train_ds)}") - - elif strategy == "weighted": - print("[sampling] Weighted resampling (class-proportional, with replacement)") - train_ds = sample_weighted(train_ds, seed=args.seed, label_key=label_key) - print(f"[sampling] Training size after weighted resample: {len(train_ds)}") - model = _build_model(args, sample_dataset) # Apply class-imbalance correction via BCE pos_weight. @@ -316,9 +317,22 @@ def run(args: argparse.Namespace) -> Path: exp_name = f"{args.model}_seed{args.seed}" output_dir = Path(args.output_dir) + wandb_run = None + if args.wandb: + import wandb + + tags = args.wandb_tags.split(",") if args.wandb_tags else [args.task, args.model] + wandb_run = wandb.init( + project=args.wandb_project, + entity=args.wandb_entity, + name=args.wandb_run_name or exp_name, + tags=tags, + config=vars(args), + ) + trainer = Trainer( model=model, - metrics=["pr_auc", "roc_auc", "f1", "f1_opt", "accuracy"], + metrics=["pr_auc", "roc_auc", "f1", "accuracy"], device=args.device, enable_logging=True, output_path=str(output_dir), @@ -353,7 +367,7 @@ def run(args: argparse.Namespace) -> Path: optimizer_params["lr"] = effective_lr if args.epochs > 0 and len(train_ds) > 0: - trainer.train( + metrics_history = trainer.train( train_dataloader=train_loader, val_dataloader=val_loader, epochs=args.epochs, @@ -363,7 +377,16 @@ def run(args: argparse.Namespace) -> Path: monitor="pr_auc", load_best_model_at_last=True, patience=args.patience, + use_amp=args.use_amp, + amp_dtype=args.amp_dtype, ) + if wandb_run is not None: + for epoch_record in metrics_history: + wandb_run.log(epoch_record, step=epoch_record["epoch"]) + + if wandb_run is not None and test_loader is not None: + test_scores = trainer.evaluate(test_loader) + wandb_run.log({f"test_{k}": v for k, v in test_scores.items()}) inference_loader = test_loader or val_loader or train_loader y_true, y_prob, _, patient_ids = trainer.inference( @@ -372,6 +395,11 @@ def run(args: argparse.Namespace) -> Path: output_csv = output_dir / exp_name / f"predictions_{args.model}.csv" _write_predictions(output_csv, patient_ids, y_true, y_prob) + + if wandb_run is not None: + wandb_run.log({"pos_weight": pw_value}) + wandb_run.finish() + return output_csv @@ -387,7 +415,7 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--task", type=str, - choices=["icd_labs", "clinical_notes_icd_labs"], + choices=["stagenet", "icd_labs", "clinical_notes_icd_labs", "labs", "notes_labs"], default="stagenet", help=( "notes_labs: admission-context text (CC/HPI/PMH/MedsOnAdm) + labs. " @@ -429,6 +457,18 @@ def parse_args() -> argparse.Namespace: ) parser.add_argument("--weight-decay", type=float, default=0.0) parser.add_argument("--device", type=str, default=None) + parser.add_argument( + "--use-amp", + action="store_true", + help="Enable automatic mixed precision training to reduce GPU memory usage.", + ) + parser.add_argument( + "--amp-dtype", + type=str, + default="bf16", + choices=["bf16", "fp16"], + help="AMP dtype when --use-amp is set. bf16 is more stable (default).", + ) parser.add_argument("--num-workers", type=int, default=1) parser.add_argument("--seed", type=int, default=42) parser.add_argument("--patience", type=int, default=None) @@ -475,7 +515,7 @@ def parse_args() -> argparse.Namespace: help=( "Freeze pretrained BERT text encoder weights and train only the " "downstream backbone (MLP/RNN/Transformer head + projection layer). " - "Reduces VRAM by ~50% for the text branch; useful when GPU memory " + "Reduces VRAM by ~50%% for the text branch; useful when GPU memory " "is limited or for faster iteration on backbone architectures." ), ) @@ -505,20 +545,18 @@ def parse_args() -> argparse.Namespace: default=1.0, help=( "Negatives per positive in the balanced training set. " - "Default: 1.0 (equal pos/neg). Used with undersample and oversample strategies." + "Default: 1.0 (equal pos/neg). Only used with --balanced-sampling." ), ) parser.add_argument( "--sampling-strategy", type=str, default="none", - choices=["none", "undersample", "oversample", "weighted"], + choices=["none", "undersample"], help=( "Training-set class balance strategy. " "'none': no resampling (default). " "'undersample': drop majority-class (neg) samples via sample_balanced(). " - "'oversample': duplicate minority-class (pos) samples via sample_oversample(). " - "'weighted': class-proportional resampling w/ replacement via sample_weighted(). " "--balanced-sampling is a legacy alias for 'undersample'." ), ) @@ -547,6 +585,28 @@ def parse_args() -> argparse.Namespace: ), ) + # W&B logging + parser.add_argument( + "--wandb", + action="store_true", + default=False, + help="Log training/eval metrics to Weights & Biases.", + ) + parser.add_argument("--wandb-project", type=str, default="pyhealth-mortality") + parser.add_argument("--wandb-entity", type=str, default=None) + parser.add_argument( + "--wandb-run-name", + type=str, + default=None, + help="Defaults to '{model}_seed{seed}' if unset.", + ) + parser.add_argument( + "--wandb-tags", + type=str, + default=None, + help="Comma-separated wandb tags, e.g. 'labs,rnn'. Defaults to '{task},{model}' if unset.", + ) + # Mamba / JambaEHR-specific parser.add_argument("--mamba-state-size", type=int, default=16, help="SSM state size for EHRMamba and JambaEHR blocks.") diff --git a/examples/multimodal_mimic4_task_tutorial.ipynb b/examples/multimodal_mimic4_task_tutorial.ipynb index 87b12d4db..dece75a07 100644 --- a/examples/multimodal_mimic4_task_tutorial.ipynb +++ b/examples/multimodal_mimic4_task_tutorial.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "8477e2ac-322f-49e9-819f-ce7621b214c6", "metadata": {}, "outputs": [], @@ -33,11 +33,12 @@ "from datetime import datetime\n", "from typing import Any, Dict, List, Optional\n", "import os\n", + "from pathlib import Path\n", + "import tempfile\n", "import shutil \n", "import random\n", "import numpy as np\n", - "import torch\n", - "import logging" + "import torch" ] }, { @@ -50,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "201c3a62-2a2e-47ab-9ab8-eea77812f349", "metadata": {}, "outputs": [], @@ -59,24 +60,6 @@ "from pyhealth.tasks.multimodal_mimic4 import ICDLabsMIMIC4, ClinicalNotesMIMIC4, ClinicalNotesICDLabsMIMIC4, BaseMultimodalMIMIC4Task" ] }, - { - "cell_type": "markdown", - "id": "8f92ea87-c73d-4fbe-bae1-649f18922c5f", - "metadata": {}, - "source": [ - "*Disable Logging*" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f9240e90-af5e-4bf3-96e6-821865967db8", - "metadata": {}, - "outputs": [], - "source": [ - "logging.disable(logging.CRITICAL)" - ] - }, { "cell_type": "markdown", "id": "12508b1e-b554-41fb-bb21-1ec0a7b435ed", @@ -87,10 +70,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "9a466c4b-2283-443f-94a3-5768babddf50", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "SEED = 22\n", "random.seed(SEED)\n", @@ -108,7 +102,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "518d0bd0-d320-4173-8f92-b4e1abbd9a33", "metadata": {}, "outputs": [], @@ -126,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "05ec2dc9-1a0c-4360-a028-d93173dcba65", "metadata": {}, "outputs": [], @@ -166,12 +160,26 @@ " end=sample['window_end'],\n", " )\n", " print(f\"\\n{note_type} notes: {len(notes)}\")\n", + " section_headers = (\n", + " BaseMultimodalMIMIC4Task.DISCHARGE_CLINICAL_HEADERS\n", + " if note_type == \"discharge\"\n", + " else BaseMultimodalMIMIC4Task.RADIOLOGY_CLINICAL_HEADERS\n", + " )\n", " for note in notes:\n", " print(f\" note_id: {note.note_id}\")\n", " print(f\" hadm_id: {note.hadm_id}\")\n", " print(f\" charttime: {note.timestamp}\")\n", " print(f\" storetime: {note.storetime}\")\n", - " print(f\" text: {note.text[:char_limit]}..(Limited to {char_limit} Characters).\")\n", + " print(f\" raw text: {note.text[:char_limit]}..(Limited to {char_limit} Characters).\")\n", + "\n", + " # Show what the task pipeline actually keeps after _parse_note_sections\n", + " parsed = BaseMultimodalMIMIC4Task._parse_note_sections(note.text, note_type=note_type)\n", + " extracted = [f\"{k}: {v}\" for k, v in parsed.items() if k in section_headers and v]\n", + " if extracted:\n", + " filtered_text = \" [SEP] \".join(extracted)\n", + " print(f\" filtered text: {filtered_text[:char_limit]}..(Limited to {char_limit} Characters).\")\n", + " else:\n", + " print(f\" filtered text: \")\n", "\n", "\n", "LABCATEGORIES = {\n", @@ -220,6 +228,12 @@ " print(f\" seq_num: {px.seq_num}\")\n", " print(f\" icd_code: {px.icd_code} (ICD-{px.icd_version})\\n\")\n", "\n", + "def get_project_root(marker=\"PyHealth\"):\n", + " path = Path(os.getcwd())\n", + " for parent in [path, *path.parents]:\n", + " if parent.name == marker:\n", + " return str(parent)\n", + " raise ValueError(f\"'{marker}' not found in path\")\n", "\n", "def clear_cache_directory(path):\n", " for item in os.listdir(path):\n", @@ -246,16 +260,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "tv8ir9mp9t", "metadata": {}, "outputs": [], "source": [ - "PYHEALTH_REPO_ROOT = '/Users/williampang/Desktop/PyHealth'\n", + "PYHEALTH_REPO_ROOT = get_project_root()\n", "\n", "EHR_ROOT = os.path.join(PYHEALTH_REPO_ROOT, \"test-resources/core/mimic4demo\")\n", "NOTE_ROOT = os.path.join(PYHEALTH_REPO_ROOT, \"test-resources/core/mimic4demo\")\n", - "CACHE_DIR = os.path.join(PYHEALTH_REPO_ROOT, \"local_data/local/data/wp/demo_pyhealth_cache\")" + "CACHE_DIR = tempfile.mkdtemp()" ] }, { @@ -276,10 +290,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "7ebcce82-abdc-4b17-b3e5-d536fbb97859", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Memory usage Starting MIMIC4Dataset init: 861.3 MB\n", + "Initializing mimic4 dataset from /home/wp14/PyHealth/test-resources/core/mimic4demo|None|None (dev mode: False)\n", + "Using provided cache_dir: /tmp/tmprh33qezu/c48404f3-04a5-52b8-982a-fb9695894193\n", + "Initializing MIMIC4EHRDataset with tables: ['diagnoses_icd', 'procedures_icd', 'labevents', 'prescriptions'] (dev mode: False)\n", + "Using default EHR config: /home/wp14/PyHealth/pyhealth/datasets/configs/mimic4_ehr.yaml\n", + "Memory usage Before initializing mimic4_ehr: 861.3 MB\n", + "Initializing mimic4_ehr dataset from /home/wp14/PyHealth/test-resources/core/mimic4demo (dev mode: False)\n", + "Using provided cache_dir: /tmp/tmprh33qezu/c48404f3-04a5-52b8-982a-fb9695894193/c413fc97-f484-5207-8224-296a85506414\n", + "Memory usage After initializing mimic4_ehr: 861.3 MB\n", + "Memory usage After EHR dataset initialization: 861.3 MB\n", + "Memory usage Completed MIMIC4Dataset init: 861.3 MB\n", + "Setting task ICDLabsMIMIC4 for mimic4 base dataset...\n", + "Task cache paths: task_df=/tmp/tmprh33qezu/c48404f3-04a5-52b8-982a-fb9695894193/tasks/ICDLabsMIMIC4_8f1cf75c-b29c-5bf6-a57e-447d6791544c/task_df.ld, samples=/tmp/tmprh33qezu/c48404f3-04a5-52b8-982a-fb9695894193/tasks/ICDLabsMIMIC4_8f1cf75c-b29c-5bf6-a57e-447d6791544c/samples_cdbbc602-34e2-5a41-8643-4c76b08829f6.ld\n", + "Applying task transformations on data with 1 workers...\n", + "No cached event dataframe found. Creating: /tmp/tmprh33qezu/c48404f3-04a5-52b8-982a-fb9695894193/global_event_df.parquet\n", + "Combining data from ehr dataset\n", + "Scanning table: diagnoses_icd from /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/diagnoses_icd.csv.gz\n", + "Joining with table: /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/admissions.csv.gz\n", + "Scanning table: procedures_icd from /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/procedures_icd.csv.gz\n", + "Joining with table: /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/admissions.csv.gz\n", + "Scanning table: labevents from /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/labevents.csv.gz\n", + "Joining with table: /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/d_labitems.csv.gz\n", + "Scanning table: prescriptions from /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/prescriptions.csv.gz\n", + "Scanning table: patients from /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/patients.csv.gz\n", + "Scanning table: admissions from /home/wp14/PyHealth/test-resources/core/mimic4demo/hosp/admissions.csv.gz\n", + "Scanning table: icustays from /home/wp14/PyHealth/test-resources/core/mimic4demo/icu/icustays.csv.gz\n", + "Creating combined dataframe\n", + "Caching event dataframe to /tmp/tmprh33qezu/c48404f3-04a5-52b8-982a-fb9695894193/global_event_df.parquet...\n", + "Detected Jupyter notebook environment, setting num_workers to 1\n", + "Single worker mode, processing sequentially\n", + "Worker 0 started processing 13 patients. (Polars threads: 128)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/13 [00:00 0 - print(((torch.sum(a, dim=2) != 0) != (torch.any(a != 0, dim=2))).any()) diff --git a/pyhealth/datasets/base_dataset.py b/pyhealth/datasets/base_dataset.py index fd80f958a..0acae3f39 100644 --- a/pyhealth/datasets/base_dataset.py +++ b/pyhealth/datasets/base_dataset.py @@ -84,7 +84,13 @@ def path_exists(path: str) -> bool: except requests.RequestException: return False else: - return Path(path).exists() + try: + return Path(path).exists() + except OSError: + # Treat unreadable paths (e.g. stale/corrupted filesystem + # entries that raise I/O errors on stat) as non-existent so + # callers can fall back to an alternate extension. + return False def _csv_tsv_gz_path(path: str) -> str: diff --git a/pyhealth/tasks/__init__.py b/pyhealth/tasks/__init__.py index cadb479ce..e98d98db6 100644 --- a/pyhealth/tasks/__init__.py +++ b/pyhealth/tasks/__init__.py @@ -47,6 +47,9 @@ from .multimodal_mimic4 import ( ClinicalNotesMIMIC4, ClinicalNotesICDLabsMIMIC4, + ClinicalNotesICDLabsCXRMIMIC4, + ICDLabsMIMIC4, + LabsMIMIC4, NotesLabsMIMIC4, ) from .patient_linkage import patient_linkage_mimic3_fn @@ -70,9 +73,4 @@ MutationPathogenicityPrediction, VariantClassificationClinVar, ) -from .multimodal_mimic4 import ( - ClinicalNotesMIMIC4, - ClinicalNotesICDLabsMIMIC4, - ClinicalNotesICDLabsCXRMIMIC4, -) from .patient_linkage_mimic3 import PatientLinkageMIMIC3Task diff --git a/pyhealth/tasks/multimodal_mimic4.py b/pyhealth/tasks/multimodal_mimic4.py index 21147303c..33dd257a6 100644 --- a/pyhealth/tasks/multimodal_mimic4.py +++ b/pyhealth/tasks/multimodal_mimic4.py @@ -1,9 +1,12 @@ +import logging import re from datetime import datetime, timedelta from typing import Any, Dict, List, Optional, Union, Tuple, ClassVar from pyhealth.tasks.base_task import BaseTask +logger = logging.getLogger(__name__) + class BaseMultimodalMIMIC4Task(BaseTask): """Base class for multimodal MIMIC-IV tasks. @@ -800,122 +803,6 @@ def __call__(self, patient: Any) -> List[Dict[str, Any]]: return [single_patient_longitudinal_record] -class ICDLabsMIMIC4(BaseMultimodalMIMIC4Task): - """Task for ICD codes + lab values mortality prediction using MIMIC-IV. - - A notes-free variant of ``ClinicalNotesICDLabsMIMIC4`` that uses only: - - - **ICD codes**: diagnosis and procedure codes per admission, processed by - ``StageNetProcessor`` with inter-admission time offsets. - - **Lab values**: 10-dimensional lab vectors (one per lab category) at each - measurement timestamp, processed by ``StageNetTensorProcessor``. - - Examples: - >>> from pyhealth.datasets import MIMIC4Dataset - >>> from pyhealth.tasks.multimodal_mimic4 import ICDLabsMIMIC4 - >>> dataset = MIMIC4Dataset( - ... ehr_root="/path/to/mimic-iv/2.2", - ... ehr_tables=["diagnoses_icd", "procedures_icd", "labevents"], - ... ) - >>> task = ICDLabsMIMIC4() - >>> samples = dataset.set_task(task) - """ - - PADDING: int = 0 - - task_name: str = "ICDLabsMIMIC4" - input_schema: Dict[str, Union[str, Tuple[str, Dict]]] = { - "icd_codes": ("stagenet", {"padding": PADDING}), - "labs": ("stagenet_tensor", {}), - "labs_mask": ("stagenet_tensor", {}), - } - output_schema: Dict[str, str] = {"mortality": "binary"} - - def __call__(self, patient: Any) -> List[Dict[str, Any]]: - demographics = patient.get_events(event_type="patients") - if not demographics: - return [] - - admissions_to_process, mortality_label = self._build_admissions_to_process( - patient - ) - - if len(admissions_to_process) == 0: - return [] - - effective_start, effective_end = self._compute_effective_window( - admissions_to_process - ) - - all_icd_codes: List[List[str]] = [] - all_icd_times: List[float] = [] - all_lab_values: List[List[float]] = [] - all_lab_masks: List[List[bool]] = [] - all_lab_times: List[float] = [] - previous_admission_time = None - - for admission in admissions_to_process: - admission_time = admission.timestamp - - try: - admission_dischtime = datetime.strptime( - admission.dischtime, "%Y-%m-%d %H:%M:%S" - ) - except (ValueError, AttributeError): - continue - - if admission_dischtime < admission_time: - continue - - visit_icd_codes = self._collect_icd_codes(patient, admission.hadm_id) - if visit_icd_codes: - if previous_admission_time is None: - time_from_previous = 0.0 - else: - time_from_previous = self._to_hours( - (admission_time - previous_admission_time).total_seconds() - ) - all_icd_codes.append(visit_icd_codes) - all_icd_times.append(time_from_previous) - else: - all_icd_codes.append([self.MISSING_CODE_TOKEN]) - all_icd_times.append(self.MISSING_FLOAT_TOKEN) - - previous_admission_time = admission_time - - lab_times, lab_values, lab_masks = self._collect_labs( - patient=patient, - admission_time=admission_time, - end_time=admission_dischtime, - ) - all_lab_times.extend(lab_times) - all_lab_values.extend(lab_values) - all_lab_masks.extend(lab_masks) - - if len(all_lab_values) == 0: - all_lab_values.append( - [self.MISSING_FLOAT_TOKEN] * len(self.LAB_CATEGORY_NAMES) - ) - all_lab_masks.append([False] * len(self.LAB_CATEGORY_NAMES)) - all_lab_times.append(self.MISSING_FLOAT_TOKEN) - - if len(all_icd_codes) == 0: - all_icd_codes.append([self.MISSING_CODE_TOKEN]) - all_icd_times.append(self.MISSING_FLOAT_TOKEN) - - single_patient_longitudinal_record = { - "patient_id": patient.patient_id, - "icd_codes": (all_icd_times, all_icd_codes), - "labs": (all_lab_times, all_lab_values), - "labs_mask": (all_lab_times, all_lab_masks), - "mortality": mortality_label, - "window_start": effective_start, - "window_end": effective_end, - } - - return [single_patient_longitudinal_record] - - class ClinicalNotesICDLabsCXRMIMIC4(BaseMultimodalMIMIC4Task): """Task combining notes, ICD, labs, and CXR for MIMIC-IV mortality. @@ -1260,8 +1147,15 @@ class NotesLabsMIMIC4(BaseMultimodalMIMIC4Task): on Admission sections — all of which describe the patient's state at the start of the stay. The extracted text is assigned timestamp 0.0. + Radiology reports are also included, parsed for their Indication and + Impression sections and bounded to the same observation window as labs + (rather than timestamp 0.0), since — unlike the discharge summary — they + are written at exam time and describe findings from later in the stay. + Fields: - admission_note_times: Admission-context note text at time 0.0. + admission_note_times: Admission-context discharge-note text at time + 0.0, plus in-window radiology note text at its exam-relative + timestamp. labs: 10-dim lab vectors at each measurement timestamp. labs_mask: Boolean observation mask parallel to ``labs``. vitals: (only when ``include_vitals=True``) 7-dim vital-sign vectors at @@ -1316,6 +1210,12 @@ def __init__( if include_icd: schema["icd_codes"] = ("stagenet", {"padding": self.PADDING}) self.input_schema = schema + logger.info( + "NotesLabsMIMIC4: filtering discharge notes to sections: %s; " + "radiology notes to sections: %s", + self.DISCHARGE_CLINICAL_HEADERS, + self.RADIOLOGY_CLINICAL_HEADERS, + ) def __call__(self, patient: Any) -> List[Dict[str, Any]]: if not patient.get_events(event_type="patients"): @@ -1380,6 +1280,23 @@ def __call__(self, patient: Any) -> List[Dict[str, Any]]: all_lab_values.extend(lab_values) all_lab_masks.extend(lab_masks) + # Radiology notes within the observation window. Unlike the + # discharge note (a retrospective summary parsed for its + # admission-context sections), radiology reports are written at + # exam time, so they're bounded to the same window as labs/vitals + # to avoid pulling in findings from later in the stay. + radiology_texts, radiology_times = self._collect_notes( + patient, + "radiology", + admission.hadm_id, + admission_time, + start_time=admission_time, + end_time=lab_end, + section_headers=self.RADIOLOGY_CLINICAL_HEADERS, + ) + all_note_texts.extend(radiology_texts) + all_note_times.extend(radiology_times) + # Vitals within the observation window if self.include_vitals: vital_times, vital_values, vital_masks = self._collect_vitals( @@ -1447,3 +1364,87 @@ def __call__(self, patient: Any) -> List[Dict[str, Any]]: record["icd_codes"] = (all_icd_times, all_icd_codes) return [record] + + +class LabsMIMIC4(BaseMultimodalMIMIC4Task): + """EHR-only mortality prediction using lab values — no notes, no ICD codes. + + Serves as the structured-EHR reference baseline for multimodal ablations. + Collecting only ``labevents`` keeps the dataset loader fast and avoids any + leakage from discharge-coded ICD tables. + + Schema mirrors the ``labs`` / ``labs_mask`` fields from ``NotesLabsMIMIC4`` + so the same backbone models (MLP, RNN, Transformer, etc.) work unchanged. + + Args: + window_hours: Hours from admission to collect lab measurements. + ``None`` collects for the full admission span. Default: 24. + """ + + PADDING: int = 0 + + task_name: str = "LabsMIMIC4" + + input_schema: ClassVar[Dict] = { + "labs": ("stagenet_tensor", {}), + "labs_mask": ("stagenet_tensor", {}), + } + output_schema: ClassVar[Dict] = {"mortality": "binary"} + + def __init__(self, window_hours: Optional[float] = 24) -> None: + super().__init__() + self.window_hours = window_hours + + def __call__(self, patient: Any) -> List[Dict[str, Any]]: # type: ignore[override] + admissions_to_process, mortality_label = self._build_admissions_to_process( + patient + ) + if not admissions_to_process: + return [] + + effective_start, effective_end = self._compute_effective_window( + admissions_to_process + ) + + all_lab_times: List[float] = [] + all_lab_values: List[List[float]] = [] + all_lab_masks: List[List[bool]] = [] + + for admission in admissions_to_process: + admission_time = admission.timestamp + + try: + admission_dischtime = datetime.strptime( + admission.dischtime, "%Y-%m-%d %H:%M:%S" + ) + except (ValueError, AttributeError): + admission_dischtime = admission_time + if admission_dischtime < admission_time: + admission_dischtime = admission_time + + lab_times, lab_values, lab_masks = self._collect_labs( + patient=patient, + admission_time=admission_time, + end_time=admission_dischtime, + ) + all_lab_times.extend(lab_times) + all_lab_values.extend(lab_values) + all_lab_masks.extend(lab_masks) + + if len(all_lab_values) == 0: + all_lab_values.append( + [self.MISSING_FLOAT_TOKEN] * len(self.LAB_CATEGORY_NAMES) + ) + all_lab_masks.append([False] * len(self.LAB_CATEGORY_NAMES)) + all_lab_times.append(self.MISSING_FLOAT_TOKEN) + + single_patient_longitudinal_record = { + "patient_id": patient.patient_id, + "labs": (all_lab_times, all_lab_values), + "labs_mask": (all_lab_times, all_lab_masks), + "mortality": mortality_label, + "window_start": effective_start, + "window_end": effective_end, + } + + return [single_patient_longitudinal_record] diff --git a/pyhealth2_environment.yml b/pyhealth2_environment.yml new file mode 100644 index 000000000..b9920a0c9 --- /dev/null +++ b/pyhealth2_environment.yml @@ -0,0 +1,290 @@ +name: pyhealth2 +channels: + - defaults + - conda-forge +dependencies: + - _libgcc_mutex=0.1=main + - _openmp_mutex=5.1=1_gnu + - _python_abi3_support=1.0=hd8ed1ab_2 + - annotated-types=0.7.0=pyhd8ed1ab_1 + - anyio=4.14.0=pyhcf101f3_0 + - argon2-cffi=25.1.0=pyhd8ed1ab_0 + - argon2-cffi-bindings=25.1.0=py312h4c3975b_2 + - arrow=1.4.0=pyhcf101f3_0 + - asttokens=3.0.1=pyhd8ed1ab_0 + - async-lru=2.3.0=pyhcf101f3_0 + - attrs=26.1.0=pyhcf101f3_0 + - babel=2.18.0=pyhcf101f3_1 + - backports.zstd=1.6.0=py312h90b7ffd_0 + - beautifulsoup4=4.15.0=pyha770c72_0 + - bleach=6.4.0=pyhcf101f3_0 + - bleach-with-css=6.4.0=hac0b51c_0 + - brotli-python=1.2.0=py312hdb49522_1 + - bzip2=1.0.8=h5eee18b_6 + - c-ares=1.34.8=hb03c661_0 + - ca-certificates=2026.6.17=hbd8a1cb_0 + - cached-property=1.5.2=hd8ed1ab_1 + - cached_property=1.5.2=pyha770c72_1 + - cffi=1.17.1=py312h06ac9bb_0 + - charset-normalizer=3.4.7=pyhd8ed1ab_0 + - comm=0.2.3=pyhe01879c_0 + - cpython=3.12.13=py312hd8ed1ab_0 + - debugpy=1.8.21=py312h8285ef7_0 + - defusedxml=0.7.1=pyhd8ed1ab_0 + - exceptiongroup=1.3.1=pyhd8ed1ab_0 + - executing=2.2.1=pyhd8ed1ab_0 + - fqdn=1.5.1=pyhd8ed1ab_1 + - gitdb=4.0.12=pyhd8ed1ab_0 + - gitpython=3.1.50=pyhd8ed1ab_0 + - h11=0.16.0=pyhcf101f3_1 + - h2=4.3.0=pyhcf101f3_0 + - hpack=4.1.0=pyhd8ed1ab_0 + - htcondor=25.11.0=py312h7900ff3_2 + - htcondor-classads=25.11.0=h793e66c_2 + - htcondor-cli=25.11.0=py312h7900ff3_2 + - htcondor-utils=25.11.0=h8d23d0f_2 + - httpcore=1.0.9=pyh29332c3_0 + - httpx=0.28.1=pyhd8ed1ab_0 + - hyperframe=6.1.0=pyhd8ed1ab_0 + - icu=78.3=h33c6efd_0 + - importlib-metadata=9.0.0=pyhcf101f3_0 + - ipykernel=7.3.0=pyha191276_0 + - ipython=9.14.1=pyh53cf698_0 + - ipython_pygments_lexers=1.1.1=pyhd8ed1ab_0 + - isoduration=20.11.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.6=pyhcf101f3_1 + - json5=0.15.0=pyhd8ed1ab_0 + - jsonpointer=3.1.1=pyhcf101f3_0 + - jsonschema=4.26.0=pyhcf101f3_0 + - jsonschema-specifications=2025.9.1=pyhcf101f3_0 + - jsonschema-with-format-nongpl=4.26.0=hcf101f3_0 + - jupyter-builder=1.0.2=pyhcf101f3_0 + - jupyter-lsp=2.3.1=pyhcf101f3_0 + - jupyter_client=8.9.1=pyhcf101f3_0 + - jupyter_core=5.9.1=pyhc90fa1f_0 + - jupyter_events=0.12.1=pyhcf101f3_0 + - jupyter_server=2.20.0=pyhcf101f3_0 + - jupyter_server_terminals=0.5.4=pyhcf101f3_0 + - jupyterlab=4.6.0=pyhd8ed1ab_0 + - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 + - jupyterlab_server=2.28.0=pyhcf101f3_0 + - keyutils=1.6.3=hb9d3cd8_0 + - krb5=1.22.2=hbde042b_1 + - lark=1.3.1=pyhd8ed1ab_0 + - ld_impl_linux-64=2.44=h9e0c5a2_3 + - libabseil=20260107.1=cxx17_h7b12aa8_0 + - libcap=2.77=hd0affe5_1 + - libcondor_utils=25.11.0=h4effbbe_2 + - libcurl=8.21.0=hae6b9f4_2 + - libdrm=2.4.125=hb03c661_1 + - libedit=3.1.20250104=pl5321h7949ede_0 + - libev=4.33=hd590300_2 + - libexpat=2.7.5=h7354ed3_0 + - libffi=3.4.4=h6a678d5_1 + - libgcc=15.2.0=h69a1729_7 + - libgcc-ng=15.2.0=h166f726_7 + - libgomp=15.2.0=h4751f2c_7 + - liblzma=5.8.2=hb03c661_0 + - libnghttp2=1.68.1=h877daf1_0 + - libnsl=2.0.1=hb9d3cd8_1 + - libpciaccess=0.18=hb9d3cd8_0 + - libpsl=0.22.0=h49b2146_1 + - libsodium=1.0.22=h280c20c_1 + - libsqlite=3.53.3=h0c1763c_0 + - libssh2=1.11.1=hcf80075_0 + - libstdcxx=15.2.0=h39759b7_7 + - libstdcxx-ng=15.2.0=hc03a8fd_7 + - libsystemd0=257.13=hd0affe5_0 + - libuuid=2.42.2=h5347b49_0 + - libxcb=1.17.0=h9b100fa_0 + - libxcrypt=4.4.36=hd590300_1 + - libzlib=1.3.2=h25fd6f3_2 + - markupsafe=3.0.3=py312h8a5da7c_1 + - matplotlib-inline=0.2.2=pyhd8ed1ab_0 + - mistune=3.3.2=pyhcf101f3_0 + - munge=0.5.16=h63a00c3_0 + - nbclient=0.11.0=pyhd8ed1ab_0 + - nbconvert-core=7.17.1=pyhcf101f3_0 + - nbformat=5.10.4=pyhd8ed1ab_1 + - ncurses=6.5=h7934f7d_0 + - nest-asyncio2=1.7.2=pyhcf101f3_0 + - notebook=7.6.0=pyhcf101f3_0 + - notebook-shim=0.2.4=pyhd8ed1ab_1 + - nvidia-ml-py=13.590.48=pyhd8ed1ab_0 + - nvitop=1.7.0=pyh707e725_0 + - nvtop=3.3.2=h5433ab2_0 + - openssl=3.6.3=h35e630c_0 + - overrides=7.7.0=pyhd8ed1ab_1 + - packaging=26.0=py312h06a4308_0 + - pandocfilters=1.5.0=pyhd8ed1ab_0 + - parso=0.8.7=pyhcf101f3_0 + - pcre2=10.47=haa7fec5_0 + - pexpect=4.9.0=pyhd8ed1ab_1 + - pip=26.0.1=pyhc872135_1 + - prometheus_client=0.25.0=pyhd8ed1ab_0 + - prompt-toolkit=3.0.52=pyha770c72_0 + - protobuf=6.33.5=py312ha7b3241_2 + - psutil=7.2.2=py312h5253ce2_0 + - pthread-stubs=0.3=h0ce48e5_1 + - ptyprocess=0.7.0=pyhd8ed1ab_1 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pycparser=3.0=pyhcf101f3_0 + - pygments=2.20.0=pyhd8ed1ab_0 + - pysocks=1.7.1=pyha55dd90_7 + - python=3.12.9=h9e4cc4f_1_cpython + - python-dateutil=2.9.0.post0=pyhe01879c_2 + - python-fastjsonschema=2.21.2=pyhe01879c_0 + - python-gil=3.12.13=hd8ed1ab_0 + - python-htcondor=25.11.0=py312h40fa4ac_2 + - python-json-logger=4.1.0=pyhd8ed1ab_0 + - python-tzdata=2026.2=pyhd8ed1ab_0 + - python_abi=3.12=3_cp312 + - pyyaml=6.0.3=py312h8a5da7c_1 + - pyzmq=27.1.0=py312hda471dd_3 + - readline=8.3=hc2a1206_0 + - referencing=0.37.0=pyhcf101f3_0 + - rfc3339-validator=0.1.4=pyhd8ed1ab_1 + - rfc3986-validator=0.1.1=pyh9f0ad1d_0 + - rfc3987-syntax=1.1.0=pyhe01879c_1 + - rpds-py=2026.5.1=py312h192e038_0 + - scitokens-cpp=1.4.0=h096d96b_0 + - send2trash=2.1.0=pyha191276_1 + - sentry-sdk=2.64.0=pyhd8ed1ab_0 + - setuptools=82.0.1=py312h06a4308_0 + - six=1.17.0=pyhe01879c_1 + - smmap=5.0.3=pyhcf101f3_1 + - sniffio=1.3.1=pyhd8ed1ab_2 + - soupsieve=2.8.4=pyhd8ed1ab_0 + - sqlite=3.51.2=h3e8d24a_0 + - stack_data=0.6.3=pyhd8ed1ab_1 + - terminado=0.18.1=pyhc90fa1f_1 + - tinycss2=1.4.0=pyhd8ed1ab_0 + - tk=8.6.15=h54e0aa7_0 + - tomli=2.4.1=pyhcf101f3_0 + - traitlets=5.15.1=pyhcf101f3_0 + - typing-extensions=4.15.0=h396c80c_0 + - typing-inspection=0.4.2=pyhcf101f3_2 + - typing_extensions=4.15.0=pyhcf101f3_0 + - typing_utils=0.1.0=pyhd8ed1ab_1 + - uri-template=1.3.0=pyhd8ed1ab_1 + - wandb=0.28.0=py312h868fb18_0 + - wcwidth=0.8.1=pyhd8ed1ab_0 + - webcolors=25.10.0=pyhd8ed1ab_0 + - webencodings=0.5.1=pyhd8ed1ab_3 + - websocket-client=1.9.0=pyhd8ed1ab_0 + - wheel=0.46.3=py312h06a4308_0 + - xorg-libx11=1.8.12=h9b100fa_1 + - xorg-libxau=1.0.12=h9b100fa_0 + - xorg-libxdmcp=1.1.5=h9b100fa_0 + - xorg-xorgproto=2024.1=h5eee18b_1 + - xz=5.8.2=h448239c_0 + - yaml=0.2.5=h280c20c_3 + - zeromq=4.3.5=h09e67af_11 + - zipp=4.1.0=pyhcf101f3_0 + - zlib=1.3.2=h25fd6f3_2 + - zstd=1.5.7=hb78ec9c_6 + - pip: + - accelerate==1.13.0 + - axial-positional-embedding==0.3.12 + - bokeh==3.9.0 + - boto3==1.42.88 + - botocore==1.42.88 + - certifi==2026.2.25 + - click==8.3.2 + - cloudpickle==3.1.2 + - colt5-attention==0.11.1 + - contourpy==1.3.3 + - cycler==0.12.1 + - dask==2025.11.0 + - decorator==5.2.1 + - distributed==2025.11.0 + - einops==0.8.2 + - filelock==3.25.2 + - fonttools==4.62.1 + - fsspec==2026.2.0 + - hf-xet==1.4.3 + - huggingface-hub==0.36.2 + - hyper-connections==0.4.9 + - idna==3.11 + - ipywidgets==8.1.8 + - jmespath==1.1.0 + - joblib==1.5.3 + - jupyterlab-widgets==3.0.16 + - kiwisolver==1.5.0 + - lazy-loader==0.5 + - lightning-utilities==0.15.3 + - linear-attention-transformer==0.19.1 + - linformer==0.2.3 + - litdata==0.2.61 + - littleutils==0.2.4 + - local-attention==1.11.2 + - locket==1.0.0 + - lz4==4.4.5 + - matplotlib==3.10.8 + - mne==1.10.2 + - more-itertools==10.8.0 + - mpmath==1.3.0 + - msgpack==1.1.2 + - narwhals==2.13.0 + - networkx==3.6.1 + - numpy==2.2.6 + - nvidia-cublas-cu12==12.6.4.1 + - nvidia-cuda-cupti-cu12==12.6.80 + - nvidia-cuda-nvrtc-cu12==12.6.77 + - nvidia-cuda-runtime-cu12==12.6.77 + - nvidia-cudnn-cu12==9.5.1.17 + - nvidia-cufft-cu12==11.3.0.4 + - nvidia-cufile-cu12==1.11.1.6 + - nvidia-curand-cu12==10.3.7.77 + - nvidia-cusolver-cu12==11.7.1.2 + - nvidia-cusparse-cu12==12.5.4.2 + - nvidia-cusparselt-cu12==0.6.3 + - nvidia-nccl-cu12==2.26.2 + - nvidia-nvjitlink-cu12==12.6.85 + - nvidia-nvtx-cu12==12.6.77 + - obstore==0.9.2 + - ogb==1.3.6 + - outdated==0.2.2 + - pandas==2.3.3 + - partd==1.4.2 + - peft==0.18.1 + - pillow==12.1.1 + - platformdirs==4.9.6 + - polars==1.35.2 + - polars-runtime-32==1.35.2 + - pooch==1.9.0 + - product-key-memory==0.3.0 + - pyarrow==22.0.0 + - pydantic==2.11.10 + - pydantic-core==2.33.2 + - pyhealth==2.0.0 + - pyparsing==3.3.2 + - pytz==2026.1.post1 + - rdkit==2026.3.1 + - regex==2026.4.4 + - requests==2.33.1 + - s3transfer==0.16.0 + - safetensors==0.7.0 + - scikit-learn==1.7.2 + - scipy==1.17.1 + - sortedcontainers==2.4.0 + - sympy==1.14.0 + - tblib==3.2.2 + - threadpoolctl==3.6.0 + - tifffile==2026.3.3 + - tokenizers==0.21.4 + - toolz==1.1.0 + - torch==2.7.1 + - torch-einops-utils==0.0.30 + - torchvision==0.22.1 + - tornado==6.5.5 + - tqdm==4.67.3 + - transformers==4.53.3 + - triton==3.3.1 + - tzdata==2026.1 + - urllib3==2.5.0 + - widgetsnbextension==4.0.15 + - xyzservices==2026.3.0 + - zict==3.0.0 +prefix: /home/wp14/miniconda3/envs/pyhealth2 diff --git a/scripts/will/compute_token_stats_labs_only.py b/scripts/will/compute_token_stats_labs_only.py new file mode 100644 index 000000000..956f44444 --- /dev/null +++ b/scripts/will/compute_token_stats_labs_only.py @@ -0,0 +1,235 @@ +#!/usr/bin/env python3 +"""Compute per-modality token-count distributions and availability for Table 2. + +For each patient sample, computes a per-sample "token count" for every +modality (notes: actual tokenizer token count; labs/ICD: number of real +timesteps / codes), then reports the median and max of that distribution +plus availability — the % of samples that have any real (non-placeholder) +data for that modality. + +Iterates patients directly via dataset.iter_patients() and calls the task +function on each one — never materializes all samples in memory, no litdata +write, no GPU needed. + +Usage (on CC): + python scripts/compute_token_stats_labs_only.py \ + --ehr-root /projects/illinois/eng/cs/jimeng/physionet.org/files/mimiciv/2.2 \ + --note-root /projects/illinois/eng/cs/jimeng/physionet.org/files/mimic-note \ + --cache-dir /u/rianatri/pyhealth_cache \ + --task notes_labs + + python /home/wp14/PyHealth/scripts/compute_token_stats_labs_only.py \ + --ehr-root /shared/rsaas/physionet.org/files/mimiciv/2.2 \ + --task labs + + # Add --log-file to also save the printed stats to a file: + python PyHealth/scripts/compute_token_stats_labs_only.py \ + --ehr-root /shared/rsaas/physionet.org/files/mimiciv/2.2 \ + --task labs \ + --log-file logs/token_stats_labs.log +""" +import argparse +import os +import sys + +import numpy as np +from tqdm import tqdm + + +class Tee: + """Duplicates writes to multiple streams (e.g. stdout + a log file).""" + + def __init__(self, *streams): + self.streams = streams + + def write(self, data): + for s in self.streams: + s.write(data) + + def flush(self): + for s in self.streams: + s.flush() + + +def parse_args(): + p = argparse.ArgumentParser() + p.add_argument("--ehr-root", required=True) + p.add_argument( + "--note-root", + default=None, + help="Required unless --task labs (labs-only task needs no notes).", + ) + p.add_argument("--cache-dir", default=None) + p.add_argument("--dev", action="store_true", help="Limit to 1000 patients") + p.add_argument( + "--task", + type=str, + choices=["notes_labs", "labs"], + default="notes_labs", + help=( + "Task to profile. 'notes_labs' (default) uses admission-context " + "text sections; 'labs' profiles the labs-only baseline (no notes, " + "no note-root needed)." + ), + ) + p.add_argument( + "--icd-codes", + action="store_true", + default=False, + help="Include discharge-coded ICD codes when using --task notes_labs.", + ) + p.add_argument( + "--log-file", + default=None, + help="Path to also write stdout output to. If omitted, only prints to console.", + ) + return p.parse_args() + + +def main(): + args = parse_args() + + if args.task != "labs" and not args.note_root: + raise SystemExit("--note-root is required unless --task labs") + + if args.log_file: + log_f = open(args.log_file, "w") + sys.stdout = Tee(sys.stdout, log_f) + sys.stderr = Tee(sys.stderr, log_f) + print(f"Logging output to {args.log_file}") + + os.environ.setdefault("PYHEALTH_DISABLE_DASK_DISTRIBUTED", "1") + + from pyhealth.datasets import MIMIC4Dataset + from pyhealth.tasks.multimodal_mimic4 import LabsMIMIC4, NotesLabsMIMIC4 + + print("Building dataset (uses cache if available)...") + + if args.task == "labs": + ehr_tables = ["labevents"] + note_tables = [] + task = LabsMIMIC4(window_hours=24) + else: # notes_labs + ehr_tables = ( + ["diagnoses_icd", "procedures_icd", "labevents"] + if args.icd_codes + else ["labevents"] + ) + note_tables = ["discharge"] + task = NotesLabsMIMIC4(window_hours=24, include_icd=args.icd_codes) + + kwargs = dict( + ehr_root=args.ehr_root, + ehr_tables=ehr_tables, + note_tables=note_tables, + dev=args.dev, + ) + if args.note_root: + kwargs["note_root"] = args.note_root + if args.cache_dir: + kwargs["cache_dir"] = args.cache_dir + + dataset = MIMIC4Dataset(**kwargs) + + MISSING_TEXT = "" + has_notes = args.task == "notes_labs" + has_icd = args.task == "notes_labs" and args.icd_codes + + tokenizer = None + if has_notes: + from transformers import AutoTokenizer + + tokenizer_model = task.input_schema["admission_note_times"][1][ + "tokenizer_model" + ] + print(f"Loading tokenizer: {tokenizer_model}") + tokenizer = AutoTokenizer.from_pretrained(tokenizer_model) + + # Per-sample token counts (one entry per patient sample) + note_token_counts = [] + note_has_data = [] + lab_token_counts = [] + lab_has_data = [] + icd_token_counts = [] + icd_has_data = [] + + n_patients = n_samples = 0 + + print("Iterating patients and accumulating stats (no litdata write)...") + for patient in tqdm(dataset.iter_patients(), total=len(dataset.unique_patient_ids)): + n_patients += 1 + samples = task(patient) + if not samples: + continue + for s in samples: + n_samples += 1 + + # ── notes ──────────────────────────────────────────── + if has_notes: + note_texts, _ = s["admission_note_times"] + real_texts = [t for t in note_texts if t != MISSING_TEXT] + n_tokens = sum( + len(tokenizer.encode(t, add_special_tokens=False)) + for t in real_texts + ) + note_token_counts.append(n_tokens) + note_has_data.append(bool(real_texts)) + + # ── ICD codes ──────────────────────────────────────── + if has_icd: + _, icd_visits = s["icd_codes"] + real_visits = [v for v in icd_visits if v != [MISSING_TEXT]] + n_codes = sum(len(v) for v in real_visits) + icd_token_counts.append(n_codes) + icd_has_data.append(bool(real_visits)) + + # ── labs ───────────────────────────────────────────── + _, lab_masks = s["labs_mask"] + n_real_timesteps = sum(1 for mask_row in lab_masks if any(mask_row)) + lab_token_counts.append(n_real_timesteps) + lab_has_data.append(n_real_timesteps > 0) + + def median_max(counts): + if not counts: + return float("nan"), float("nan") + arr = np.array(counts) + return float(np.median(arr)), float(np.max(arr)) + + def availability_pct(has_data): + if not has_data: + return float("nan") + return 100.0 * sum(has_data) / len(has_data) + + print("\n" + "=" * 60) + print(f"TOKEN STATS — {task.task_name}") + print("=" * 60) + print(f" Patients processed : {n_patients:>8,}") + print(f" Samples (patients) : {n_samples:>8,}") + + if has_notes: + med, mx = median_max(note_token_counts) + avail = availability_pct(note_has_data) + print("\n── Notes (admission-context) ───────────────────────────────") + print(f" Median tokens : {med:>10.1f}") + print(f" Max tokens : {mx:>10.0f}") + print(f" Availability : {avail:>9.1f}%") + + if has_icd: + med, mx = median_max(icd_token_counts) + avail = availability_pct(icd_has_data) + print("\n── ICD Codes ────────────────────────────────────────────────") + print(f" Median tokens : {med:>10.1f}") + print(f" Max tokens : {mx:>10.0f}") + print(f" Availability : {avail:>9.1f}%") + + med, mx = median_max(lab_token_counts) + avail = availability_pct(lab_has_data) + print("\n── Labs ─────────────────────────────────────────────────────") + print(f" Median tokens (timesteps) : {med:>10.1f}") + print(f" Max tokens : {mx:>10.0f}") + print(f" Availability : {avail:>9.1f}%") + print() + + +if __name__ == "__main__": + main() diff --git a/scripts/will/condor/labs_notes/labs_notes_rnn.sub b/scripts/will/condor/labs_notes/labs_notes_rnn.sub new file mode 100644 index 000000000..f8e7a1ef2 --- /dev/null +++ b/scripts/will/condor/labs_notes/labs_notes_rnn.sub @@ -0,0 +1,59 @@ +# HTCondor submission — labs+notes RNN mortality run +# +# Condor equivalent of scripts/will/sunlab/labs_notes/tmux_run_labs_notes_rnn_variant.py: +# same task (notes_labs), same model (rnn), same hyperparameters. Runs unattended +# instead of in a tmux session; Condor assigns the GPU (no manual +# nvidia-smi / CUDA_VISIBLE_DEVICES step needed). +# +# To submit (from the project root): +# mkdir -p /home/wp14/logs/condor +# condor_submit scripts/will/condor/labs_notes/labs_notes_rnn.sub +# +# Monitor: +# condor_q +# tail -f /home/wp14/logs/condor/labs_notes_rnn__0.out + +initialdir = /home/wp14/PyHealth +executable = /home/wp14/PyHealth/scripts/will/condor/labs_notes/run_labs_notes_rnn.sh +transfer_executable = False +arguments = $(seed) +getenv = True + +environment = "EHR_ROOT=/shared/rsaas/physionet.org/files/mimiciv/2.2 \ + NOTE_ROOT=/shared/rsaas/physionet.org/files/mimic-note \ + CACHE_DIR=/shared/rsaas/wp14/pyhealth_cache_labs_notes \ + OUTPUT_DIR=/home/wp14/output \ + USE_WANDB=1 \ + WANDB_PROJECT=pyhealth-multimodal-labs-notes \ + WANDB_RUN_NAME=labs_notes_rnn_seed$(seed) \ + FREEZE_ENCODER=1" + +output = /home/wp14/logs/condor/labs_notes_rnn_$(ClusterId)_$(Process).out +error = /home/wp14/logs/condor/labs_notes_rnn_$(ClusterId)_$(Process).err +log = /home/wp14/logs/condor/labs_notes_rnn_$(ClusterId)_$(Process).log + +stream_output = False +stream_error = False + +request_gpus = 1 +request_cpus = 4 +# Was 163840MB (160GB) — cgroup-killed job 10821 at 162747MB during the +# full-scale patient_id sort/shuffle (see run_labs_notes_rnn.sh comment). +# Bumped for headroom now that the distributed cluster (with disk-spilling) +# is back in play; c02 has ~1TB total and is otherwise idle. +request_memory = 400000MB +request_disk = 20GB + +# Previously hardcoded to sunlab-c01 (A100 80GB) because the previous run +# OOM'd on a 47GB card with ~46.8GB resident. sunlab-c01's condor_startd is +# currently down (master alive, STARTD_StartTime=0), so it never matches — +# the only machine in the pool is sunlab-c02 (8x RTX 6000 Ada, 48509MB each). +# Match any GPU with enough headroom and prefer the biggest; FREEZE_ENCODER=1 +# below (frozen Bio_ClinicalBERT text encoder, ~50% less VRAM for the text +# branch) is what actually keeps this under 48GB instead of the hostname pin. +Requirements = (TARGET.GPUs_GlobalMemoryMb >= 40000) +Rank = TARGET.GPUs_GlobalMemoryMb + +queue seed from ( + 12 +) diff --git a/scripts/will/condor/labs_notes/run_labs_notes_rnn.sh b/scripts/will/condor/labs_notes/run_labs_notes_rnn.sh new file mode 100755 index 000000000..c75feda7f --- /dev/null +++ b/scripts/will/condor/labs_notes/run_labs_notes_rnn.sh @@ -0,0 +1,193 @@ +#!/usr/bin/env bash +# HTCondor executable — labs+notes RNN mortality run. +# +# Condor equivalent of scripts/will/sunlab/labs_notes/tmux_run_labs_notes_rnn_variant.py: +# same task (notes_labs), same model (rnn), same hyperparameter defaults. GPU +# selection (nvidia-smi / CUDA_VISIBLE_DEVICES) is dropped since Condor +# assigns the GPU via request_gpus / cgroups. +# +# usage: run_labs_notes_rnn.sh +# to remove logs: rm -rf logs/condor/* +# to remove cache: rm -rf /shared/rsaas/wp14/pyhealth_cache_labs_notes/* +set -euo pipefail + +SEED="${1:?usage: run_labs_notes_rnn.sh }" + +CONDA_ENV="${CONDA_ENV:-pyhealth2}" +PROJECT_DIR="${PROJECT_DIR:-/home/wp14/PyHealth}" +EHR_ROOT="${EHR_ROOT:-/shared/rsaas/physionet.org/files/mimiciv/2.2}" +NOTE_ROOT="${NOTE_ROOT:-/shared/rsaas/physionet.org/files/mimic-note}" +CACHE_DIR="${CACHE_DIR:-/shared/eng/wp14/pyhealth_cache_labs_notes}" +OUTPUT_DIR="${OUTPUT_DIR:-/home/wp14/output}" +CONDA_SH="${CONDA_SH:-}" + +DEV_MODE="${DEV_MODE:-0}" +EMBEDDING_DIM="${EMBEDDING_DIM:-128}" +HIDDEN_DIM="${HIDDEN_DIM:-128}" +RNN_TYPE="${RNN_TYPE:-GRU}" +RNN_LAYERS="${RNN_LAYERS:-2}" +DROPOUT="${DROPOUT:-0.1}" +EPOCHS="${EPOCHS:-15}" +BATCH_SIZE="${BATCH_SIZE:-32}" +LR="${LR:-1e-3}" +WEIGHT_DECAY="${WEIGHT_DECAY:-1e-5}" +PATIENCE="${PATIENCE:-5}" +NUM_WORKERS="${NUM_WORKERS:-4}" +FREEZE_ENCODER="${FREEZE_ENCODER:-0}" +INCLUDE_VITALS="${INCLUDE_VITALS:-0}" +POS_WEIGHT="${POS_WEIGHT:-1}" +USE_AMP="${USE_AMP:-0}" +AMP_DTYPE="${AMP_DTYPE:-bf16}" + +# Condor GPU cgroups can expose a truncated CUDA_VISIBLE_DEVICES UUID that +# distributed's NVML diagnostics can't resolve, crashing LocalCluster startup. +# Disabling the whole distributed cluster (PYHEALTH_DISABLE_DASK_DISTRIBUTED=1) +# also throws away its disk-spilling/memory limits, which OOM'd the full-scale +# patient_id sort during event-dataframe caching (job 10821, 160GB cgroup +# limit hit). Scope the fix to just the NVML probe instead, keeping the real +# distributed cluster (with spilling) for the sort. +export DASK_DISTRIBUTED__DIAGNOSTICS__NVML="${DASK_DISTRIBUTED__DIAGNOSTICS__NVML:-0}" + +USE_WANDB="${USE_WANDB:-0}" +WANDB_PROJECT="${WANDB_PROJECT:-pyhealth-multimodal-labs-notes}" +WANDB_RUN_NAME="${WANDB_RUN_NAME:-}" + +resolve_conda_sh() { + if [[ -n "${CONDA_SH}" && -f "${CONDA_SH}" ]]; then + echo "${CONDA_SH}" + return 0 + fi + if command -v conda >/dev/null 2>&1; then + local base + base="$(conda info --base 2>/dev/null || true)" + if [[ -n "${base}" && -f "${base}/etc/profile.d/conda.sh" ]]; then + echo "${base}/etc/profile.d/conda.sh" + return 0 + fi + fi + if [ -f /etc/profile.d/modules.sh ]; then + source /etc/profile.d/modules.sh >/dev/null 2>&1 || true + if command -v module >/dev/null 2>&1; then + module load miniconda3 >/dev/null 2>&1 || true + module load anaconda3 >/dev/null 2>&1 || true + if command -v conda >/dev/null 2>&1; then + local mod_base + mod_base="$(conda info --base 2>/dev/null || true)" + if [[ -n "${mod_base}" && -f "${mod_base}/etc/profile.d/conda.sh" ]]; then + echo "${mod_base}/etc/profile.d/conda.sh" + return 0 + fi + fi + fi + fi + local user_name home_dir + user_name="${USER:-$(id -un 2>/dev/null || true)}" + home_dir="${HOME:-/home/${user_name}}" + local candidates=( + "${home_dir}/miniconda3/etc/profile.d/conda.sh" + "/home/${user_name}/miniconda3/etc/profile.d/conda.sh" + "${home_dir}/anaconda3/etc/profile.d/conda.sh" + "/home/${user_name}/anaconda3/etc/profile.d/conda.sh" + "/opt/miniconda3/etc/profile.d/conda.sh" + "/opt/anaconda3/etc/profile.d/conda.sh" + "/opt/conda/etc/profile.d/conda.sh" + ) + local c + for c in "${candidates[@]}"; do + if [[ -f "${c}" ]]; then + echo "${c}" + return 0 + fi + done + local found="" + found="$(find "${home_dir}" /opt /usr/local /shared -maxdepth 6 -type f -path '*/etc/profile.d/conda.sh' 2>/dev/null | head -n 1 || true)" + if [[ -n "${found}" && -f "${found}" ]]; then + echo "${found}" + return 0 + fi + return 1 +} + +CONDA_SH="$(resolve_conda_sh || true)" +if [[ -z "${CONDA_SH}" || ! -f "${CONDA_SH}" ]]; then + echo "ERROR: conda.sh not found. Set CONDA_SH explicitly." >&2 + exit 1 +fi +source "${CONDA_SH}" +eval "$(conda shell.bash hook)" +conda activate "${CONDA_ENV}" + +cd "${PROJECT_DIR}" +export PYTHONPATH="${PROJECT_DIR}:${PYTHONPATH:-}" + +JOB_TAG="rnn_labs_notes_s${SEED}_c${_CONDOR_CLUSTER_ID:-local}_p${_CONDOR_PROCNO:-0}" + +echo "========================================================" +echo " Labs+notes RNN run | ${JOB_TAG}" +echo " $(date -u '+%Y-%m-%d %H:%M:%S UTC')" +echo " Conda env : ${CONDA_ENV}" +echo " EHR root : ${EHR_ROOT}" +echo " Note root : ${NOTE_ROOT}" +echo " Cache dir : ${CACHE_DIR}" +echo " Output dir: ${OUTPUT_DIR}" +echo " Seed : ${SEED}" +echo " Dev mode : ${DEV_MODE}" +echo " Use AMP : ${USE_AMP} (dtype=${AMP_DTYPE})" +echo "========================================================" + +if ! python -c "import pyhealth" >/dev/null 2>&1; then + echo "ERROR: pyhealth is not importable. Run: bash condor_setup.sh" >&2 + exit 1 +fi + +COMMON=( + --ehr-root "${EHR_ROOT}" + --note-root "${NOTE_ROOT}" + --cache-dir "${CACHE_DIR}" + --task notes_labs + --model rnn + --embedding-dim "${EMBEDDING_DIM}" + --hidden-dim "${HIDDEN_DIM}" + --rnn-type "${RNN_TYPE}" + --rnn-layers "${RNN_LAYERS}" + --dropout "${DROPOUT}" + --epochs "${EPOCHS}" + --batch-size "${BATCH_SIZE}" + --lr "${LR}" + --weight-decay "${WEIGHT_DECAY}" + --patience "${PATIENCE}" + --num-workers "${NUM_WORKERS}" + --seed "${SEED}" + --output-dir "${OUTPUT_DIR}" + --pos-weight "${POS_WEIGHT}" +) + +if [[ "${DEV_MODE}" == "1" ]]; then + COMMON+=(--dev) +fi + +if [[ "${FREEZE_ENCODER}" == "1" ]]; then + COMMON+=(--freeze-encoder) +fi + +if [[ "${INCLUDE_VITALS}" == "1" ]]; then + COMMON+=(--include-vitals) +fi + +if [[ "${USE_AMP}" == "1" ]]; then + COMMON+=(--use-amp --amp-dtype "${AMP_DTYPE}") +fi + +if [[ "${USE_WANDB}" == "1" ]]; then + COMMON+=(--wandb --wandb-project "${WANDB_PROJECT}") + if [[ -n "${WANDB_RUN_NAME}" ]]; then + COMMON+=(--wandb-run-name "${WANDB_RUN_NAME}") + fi +fi + +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py "${COMMON[@]}" + +echo "========================================================" +echo " Completed ${JOB_TAG}" +echo " $(date -u '+%Y-%m-%d %H:%M:%S UTC')" +echo "========================================================" diff --git a/scripts/will/condor/labs_only/labs_only_rnn.sub b/scripts/will/condor/labs_only/labs_only_rnn.sub new file mode 100644 index 000000000..045743401 --- /dev/null +++ b/scripts/will/condor/labs_only/labs_only_rnn.sub @@ -0,0 +1,45 @@ +# HTCondor submission — labs-only RNN mortality run +# +# Condor equivalent of scripts/will/sunlab/tmux_run_labs_only_rnn_variant.py: +# same task (labs), same model (rnn), same hyperparameters. Runs unattended +# instead of in a tmux session; Condor assigns the GPU (no manual +# nvidia-smi / CUDA_VISIBLE_DEVICES step needed). +# +# To submit (from the project root): +# mkdir -p /home/wp14/logs/condor +# condor_submit scripts/will/condor/labs_only_rnn.sub +# +# Monitor: +# condor_q +# tail -f /home/wp14/logs/condor/labs_only_rnn__0.out + +initialdir = /home/wp14/PyHealth +executable = /home/wp14/PyHealth/scripts/will/condor/run_labs_only_rnn.sh +transfer_executable = False +arguments = $(seed) +getenv = True + +environment = "EHR_ROOT=/shared/rsaas/physionet.org/files/mimiciv/2.2 \ + CACHE_DIR=/shared/eng/wp14/pyhealth_cache_labs \ + OUTPUT_DIR=/home/wp14/output \ + USE_WANDB=1 \ + WANDB_PROJECT=pyhealth-multimodal-labs-only \ + WANDB_RUN_NAME=labs_rnn_seed$(seed)" + +output = /home/wp14/logs/condor/labs_only_rnn_$(ClusterId)_$(Process).out +error = /home/wp14/logs/condor/labs_only_rnn_$(ClusterId)_$(Process).err +log = /home/wp14/logs/condor/labs_only_rnn_$(ClusterId)_$(Process).log + +stream_output = False +stream_error = False + +request_gpus = 1 +request_cpus = 4 +request_memory = 163840MB +request_disk = 20GB + +Rank = TARGET.CUDAGlobalMemoryMb + +queue seed from ( + 12 +) diff --git a/scripts/will/condor/labs_only/labs_only_transformer.sub b/scripts/will/condor/labs_only/labs_only_transformer.sub new file mode 100644 index 000000000..99c1737c9 --- /dev/null +++ b/scripts/will/condor/labs_only/labs_only_transformer.sub @@ -0,0 +1,45 @@ +# HTCondor submission — labs-only Transformer mortality run +# +# Condor equivalent of scripts/will/sunlab/tmux_run_labs_only_rnn_variant.py: +# same task (labs), transformer model, same hyperparameter pattern as +# labs_only_rnn.sub. Runs unattended instead of in a tmux session; Condor +# assigns the GPU (no manual nvidia-smi / CUDA_VISIBLE_DEVICES step needed). +# +# To submit (from the project root): +# mkdir -p /home/wp14/logs/condor +# condor_submit scripts/will/condor/labs_only/labs_only_transformer.sub +# +# Monitor: +# condor_q +# tail -f /home/wp14/logs/condor/labs_only_transformer__0.out + +initialdir = /home/wp14/PyHealth +executable = /home/wp14/PyHealth/scripts/will/condor/labs_only/run_labs_only_transformer.sh +transfer_executable = False +arguments = $(seed) +getenv = True + +environment = "EHR_ROOT=/shared/rsaas/physionet.org/files/mimiciv/2.2 \ + CACHE_DIR=/shared/eng/wp14/pyhealth_cache_labs \ + OUTPUT_DIR=/home/wp14/output \ + USE_WANDB=1 \ + WANDB_PROJECT=pyhealth-multimodal-labs-only \ + WANDB_RUN_NAME=labs_transformer_seed$(seed)" + +output = /home/wp14/logs/condor/labs_only_transformer_$(ClusterId)_$(Process).out +error = /home/wp14/logs/condor/labs_only_transformer_$(ClusterId)_$(Process).err +log = /home/wp14/logs/condor/labs_only_transformer_$(ClusterId)_$(Process).log + +stream_output = False +stream_error = False + +request_gpus = 1 +request_cpus = 4 +request_memory = 163840MB +request_disk = 20GB + +Rank = TARGET.CUDAGlobalMemoryMb + +queue seed from ( + 12 +) diff --git a/scripts/will/condor/labs_only/run_labs_only_rnn.sh b/scripts/will/condor/labs_only/run_labs_only_rnn.sh new file mode 100755 index 000000000..a9075b152 --- /dev/null +++ b/scripts/will/condor/labs_only/run_labs_only_rnn.sh @@ -0,0 +1,170 @@ +#!/usr/bin/env bash +# HTCondor executable — labs-only RNN mortality run. +# +# Condor equivalent of scripts/will/sunlab/tmux_run_labs_only_rnn_variant.py: +# same task (labs), same model (rnn), same hyperparameter defaults. GPU +# selection (nvidia-smi / CUDA_VISIBLE_DEVICES) is dropped since Condor +# assigns the GPU via request_gpus / cgroups. +# +# usage: run_labs_only_rnn.sh +# to remove logs: rm -rf logs/condor/* +# to remove cache: rm -rf /shared/eng/wp14/pyhealth_cache_labs/* +set -euo pipefail + +SEED="${1:?usage: run_labs_only_rnn.sh }" + +CONDA_ENV="${CONDA_ENV:-pyhealth2}" +PROJECT_DIR="${PROJECT_DIR:-/home/wp14/PyHealth}" +EHR_ROOT="${EHR_ROOT:-/shared/rsaas/physionet.org/files/mimiciv/2.2}" +CACHE_DIR="${CACHE_DIR:-/shared/eng/wp14/pyhealth_cache_labs}" +OUTPUT_DIR="${OUTPUT_DIR:-/home/wp14/output}" +CONDA_SH="${CONDA_SH:-}" + +DEV_MODE="${DEV_MODE:-0}" +EMBEDDING_DIM="${EMBEDDING_DIM:-64}" +HIDDEN_DIM="${HIDDEN_DIM:-64}" +RNN_TYPE="${RNN_TYPE:-GRU}" +RNN_LAYERS="${RNN_LAYERS:-1}" +DROPOUT="${DROPOUT:-0.1}" +EPOCHS="${EPOCHS:-15}" +BATCH_SIZE="${BATCH_SIZE:-32}" +LR="${LR:-1e-3}" +WEIGHT_DECAY="${WEIGHT_DECAY:-1e-5}" +PATIENCE="${PATIENCE:-5}" +NUM_WORKERS="${NUM_WORKERS:-4}" +POS_WEIGHT="${POS_WEIGHT:-1.0}" + +# Condor GPU cgroups can expose a truncated CUDA_VISIBLE_DEVICES UUID that +# distributed's NVML diagnostics can't resolve, crashing LocalCluster startup. +# Skip the distributed Dask cluster (falls back to the plain local scheduler) +# to avoid touching NVML during event-dataframe preprocessing. +export PYHEALTH_DISABLE_DASK_DISTRIBUTED="${PYHEALTH_DISABLE_DASK_DISTRIBUTED:-1}" + +USE_WANDB="${USE_WANDB:-0}" +WANDB_PROJECT="${WANDB_PROJECT:-pyhealth-multimodal-labs-only}" +WANDB_RUN_NAME="${WANDB_RUN_NAME:-}" + +resolve_conda_sh() { + if [[ -n "${CONDA_SH}" && -f "${CONDA_SH}" ]]; then + echo "${CONDA_SH}" + return 0 + fi + if command -v conda >/dev/null 2>&1; then + local base + base="$(conda info --base 2>/dev/null || true)" + if [[ -n "${base}" && -f "${base}/etc/profile.d/conda.sh" ]]; then + echo "${base}/etc/profile.d/conda.sh" + return 0 + fi + fi + if [ -f /etc/profile.d/modules.sh ]; then + source /etc/profile.d/modules.sh >/dev/null 2>&1 || true + if command -v module >/dev/null 2>&1; then + module load miniconda3 >/dev/null 2>&1 || true + module load anaconda3 >/dev/null 2>&1 || true + if command -v conda >/dev/null 2>&1; then + local mod_base + mod_base="$(conda info --base 2>/dev/null || true)" + if [[ -n "${mod_base}" && -f "${mod_base}/etc/profile.d/conda.sh" ]]; then + echo "${mod_base}/etc/profile.d/conda.sh" + return 0 + fi + fi + fi + fi + local user_name home_dir + user_name="${USER:-$(id -un 2>/dev/null || true)}" + home_dir="${HOME:-/home/${user_name}}" + local candidates=( + "${home_dir}/miniconda3/etc/profile.d/conda.sh" + "/home/${user_name}/miniconda3/etc/profile.d/conda.sh" + "${home_dir}/anaconda3/etc/profile.d/conda.sh" + "/home/${user_name}/anaconda3/etc/profile.d/conda.sh" + "/opt/miniconda3/etc/profile.d/conda.sh" + "/opt/anaconda3/etc/profile.d/conda.sh" + "/opt/conda/etc/profile.d/conda.sh" + ) + local c + for c in "${candidates[@]}"; do + if [[ -f "${c}" ]]; then + echo "${c}" + return 0 + fi + done + local found="" + found="$(find "${home_dir}" /opt /usr/local /shared -maxdepth 6 -type f -path '*/etc/profile.d/conda.sh' 2>/dev/null | head -n 1 || true)" + if [[ -n "${found}" && -f "${found}" ]]; then + echo "${found}" + return 0 + fi + return 1 +} + +CONDA_SH="$(resolve_conda_sh || true)" +if [[ -z "${CONDA_SH}" || ! -f "${CONDA_SH}" ]]; then + echo "ERROR: conda.sh not found. Set CONDA_SH explicitly." >&2 + exit 1 +fi +source "${CONDA_SH}" +eval "$(conda shell.bash hook)" +conda activate "${CONDA_ENV}" + +cd "${PROJECT_DIR}" +export PYTHONPATH="${PROJECT_DIR}:${PYTHONPATH:-}" + +JOB_TAG="rnn_labs_s${SEED}_c${_CONDOR_CLUSTER_ID:-local}_p${_CONDOR_PROCNO:-0}" + +echo "========================================================" +echo " Labs-only RNN run | ${JOB_TAG}" +echo " $(date -u '+%Y-%m-%d %H:%M:%S UTC')" +echo " Conda env : ${CONDA_ENV}" +echo " EHR root : ${EHR_ROOT}" +echo " Cache dir : ${CACHE_DIR}" +echo " Output dir: ${OUTPUT_DIR}" +echo " Seed : ${SEED}" +echo " Dev mode : ${DEV_MODE}" +echo "========================================================" + +if ! python -c "import pyhealth" >/dev/null 2>&1; then + echo "ERROR: pyhealth is not importable. Run: bash condor_setup.sh" >&2 + exit 1 +fi + +COMMON=( + --ehr-root "${EHR_ROOT}" + --cache-dir "${CACHE_DIR}" + --task labs + --model rnn + --embedding-dim "${EMBEDDING_DIM}" + --hidden-dim "${HIDDEN_DIM}" + --rnn-type "${RNN_TYPE}" + --rnn-layers "${RNN_LAYERS}" + --dropout "${DROPOUT}" + --epochs "${EPOCHS}" + --batch-size "${BATCH_SIZE}" + --lr "${LR}" + --weight-decay "${WEIGHT_DECAY}" + --patience "${PATIENCE}" + --num-workers "${NUM_WORKERS}" + --pos-weight "${POS_WEIGHT}" + --seed "${SEED}" + --output-dir "${OUTPUT_DIR}" +) + +if [[ "${DEV_MODE}" == "1" ]]; then + COMMON+=(--dev) +fi + +if [[ "${USE_WANDB}" == "1" ]]; then + COMMON+=(--wandb --wandb-project "${WANDB_PROJECT}") + if [[ -n "${WANDB_RUN_NAME}" ]]; then + COMMON+=(--wandb-run-name "${WANDB_RUN_NAME}") + fi +fi + +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py "${COMMON[@]}" + +echo "========================================================" +echo " Completed ${JOB_TAG}" +echo " $(date -u '+%Y-%m-%d %H:%M:%S UTC')" +echo "========================================================" diff --git a/scripts/will/condor/labs_only/run_labs_only_transformer.sh b/scripts/will/condor/labs_only/run_labs_only_transformer.sh new file mode 100755 index 000000000..972b5dc24 --- /dev/null +++ b/scripts/will/condor/labs_only/run_labs_only_transformer.sh @@ -0,0 +1,168 @@ +#!/usr/bin/env bash +# HTCondor executable — labs-only Transformer mortality run. +# +# Condor equivalent of scripts/will/sunlab/tmux_run_labs_only_rnn_variant.py: +# same task (labs), same defaults pattern as run_labs_only_rnn.sh but for the +# transformer model. GPU selection (nvidia-smi / CUDA_VISIBLE_DEVICES) is +# dropped since Condor assigns the GPU via request_gpus / cgroups. +# +# usage: run_labs_only_transformer.sh +# to remove logs: rm -rf logs/condor/* +# to remove cache: rm -rf /shared/eng/wp14/pyhealth_cache_labs/* +set -euo pipefail + +SEED="${1:?usage: run_labs_only_transformer.sh }" + +CONDA_ENV="${CONDA_ENV:-pyhealth2}" +PROJECT_DIR="${PROJECT_DIR:-/home/wp14/PyHealth}" +EHR_ROOT="${EHR_ROOT:-/shared/rsaas/physionet.org/files/mimiciv/2.2}" +CACHE_DIR="${CACHE_DIR:-/shared/eng/wp14/pyhealth_cache_labs}" +OUTPUT_DIR="${OUTPUT_DIR:-/home/wp14/output}" +CONDA_SH="${CONDA_SH:-}" + +DEV_MODE="${DEV_MODE:-0}" +EMBEDDING_DIM="${EMBEDDING_DIM:-64}" +HEADS="${HEADS:-4}" +NUM_LAYERS="${NUM_LAYERS:-2}" +DROPOUT="${DROPOUT:-0.1}" +EPOCHS="${EPOCHS:-15}" +BATCH_SIZE="${BATCH_SIZE:-32}" +LR="${LR:-1e-3}" +WEIGHT_DECAY="${WEIGHT_DECAY:-1e-5}" +PATIENCE="${PATIENCE:-5}" +NUM_WORKERS="${NUM_WORKERS:-4}" +POS_WEIGHT="${POS_WEIGHT:-1.0}" + +# Condor GPU cgroups can expose a truncated CUDA_VISIBLE_DEVICES UUID that +# distributed's NVML diagnostics can't resolve, crashing LocalCluster startup. +# Skip the distributed Dask cluster (falls back to the plain local scheduler) +# to avoid touching NVML during event-dataframe preprocessing. +export PYHEALTH_DISABLE_DASK_DISTRIBUTED="${PYHEALTH_DISABLE_DASK_DISTRIBUTED:-1}" + +USE_WANDB="${USE_WANDB:-0}" +WANDB_PROJECT="${WANDB_PROJECT:-pyhealth-multimodal-labs-only}" +WANDB_RUN_NAME="${WANDB_RUN_NAME:-}" + +resolve_conda_sh() { + if [[ -n "${CONDA_SH}" && -f "${CONDA_SH}" ]]; then + echo "${CONDA_SH}" + return 0 + fi + if command -v conda >/dev/null 2>&1; then + local base + base="$(conda info --base 2>/dev/null || true)" + if [[ -n "${base}" && -f "${base}/etc/profile.d/conda.sh" ]]; then + echo "${base}/etc/profile.d/conda.sh" + return 0 + fi + fi + if [ -f /etc/profile.d/modules.sh ]; then + source /etc/profile.d/modules.sh >/dev/null 2>&1 || true + if command -v module >/dev/null 2>&1; then + module load miniconda3 >/dev/null 2>&1 || true + module load anaconda3 >/dev/null 2>&1 || true + if command -v conda >/dev/null 2>&1; then + local mod_base + mod_base="$(conda info --base 2>/dev/null || true)" + if [[ -n "${mod_base}" && -f "${mod_base}/etc/profile.d/conda.sh" ]]; then + echo "${mod_base}/etc/profile.d/conda.sh" + return 0 + fi + fi + fi + fi + local user_name home_dir + user_name="${USER:-$(id -un 2>/dev/null || true)}" + home_dir="${HOME:-/home/${user_name}}" + local candidates=( + "${home_dir}/miniconda3/etc/profile.d/conda.sh" + "/home/${user_name}/miniconda3/etc/profile.d/conda.sh" + "${home_dir}/anaconda3/etc/profile.d/conda.sh" + "/home/${user_name}/anaconda3/etc/profile.d/conda.sh" + "/opt/miniconda3/etc/profile.d/conda.sh" + "/opt/anaconda3/etc/profile.d/conda.sh" + "/opt/conda/etc/profile.d/conda.sh" + ) + local c + for c in "${candidates[@]}"; do + if [[ -f "${c}" ]]; then + echo "${c}" + return 0 + fi + done + local found="" + found="$(find "${home_dir}" /opt /usr/local /shared -maxdepth 6 -type f -path '*/etc/profile.d/conda.sh' 2>/dev/null | head -n 1 || true)" + if [[ -n "${found}" && -f "${found}" ]]; then + echo "${found}" + return 0 + fi + return 1 +} + +CONDA_SH="$(resolve_conda_sh || true)" +if [[ -z "${CONDA_SH}" || ! -f "${CONDA_SH}" ]]; then + echo "ERROR: conda.sh not found. Set CONDA_SH explicitly." >&2 + exit 1 +fi +source "${CONDA_SH}" +eval "$(conda shell.bash hook)" +conda activate "${CONDA_ENV}" + +cd "${PROJECT_DIR}" +export PYTHONPATH="${PROJECT_DIR}:${PYTHONPATH:-}" + +JOB_TAG="transformer_labs_s${SEED}_c${_CONDOR_CLUSTER_ID:-local}_p${_CONDOR_PROCNO:-0}" + +echo "========================================================" +echo " Labs-only Transformer run | ${JOB_TAG}" +echo " $(date -u '+%Y-%m-%d %H:%M:%S UTC')" +echo " Conda env : ${CONDA_ENV}" +echo " EHR root : ${EHR_ROOT}" +echo " Cache dir : ${CACHE_DIR}" +echo " Output dir: ${OUTPUT_DIR}" +echo " Seed : ${SEED}" +echo " Dev mode : ${DEV_MODE}" +echo "========================================================" + +if ! python -c "import pyhealth" >/dev/null 2>&1; then + echo "ERROR: pyhealth is not importable. Run: bash condor_setup.sh" >&2 + exit 1 +fi + +COMMON=( + --ehr-root "${EHR_ROOT}" + --cache-dir "${CACHE_DIR}" + --task labs + --model transformer + --embedding-dim "${EMBEDDING_DIM}" + --heads "${HEADS}" + --num-layers "${NUM_LAYERS}" + --dropout "${DROPOUT}" + --epochs "${EPOCHS}" + --batch-size "${BATCH_SIZE}" + --lr "${LR}" + --weight-decay "${WEIGHT_DECAY}" + --patience "${PATIENCE}" + --num-workers "${NUM_WORKERS}" + --pos-weight "${POS_WEIGHT}" + --seed "${SEED}" + --output-dir "${OUTPUT_DIR}" +) + +if [[ "${DEV_MODE}" == "1" ]]; then + COMMON+=(--dev) +fi + +if [[ "${USE_WANDB}" == "1" ]]; then + COMMON+=(--wandb --wandb-project "${WANDB_PROJECT}") + if [[ -n "${WANDB_RUN_NAME}" ]]; then + COMMON+=(--wandb-run-name "${WANDB_RUN_NAME}") + fi +fi + +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py "${COMMON[@]}" + +echo "========================================================" +echo " Completed ${JOB_TAG}" +echo " $(date -u '+%Y-%m-%d %H:%M:%S UTC')" +echo "========================================================" diff --git a/scripts/will/read_cache.ipynb b/scripts/will/read_cache.ipynb new file mode 100644 index 000000000..9af05b71b --- /dev/null +++ b/scripts/will/read_cache.ipynb @@ -0,0 +1,94 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "711abd77-4eb5-4589-8200-e26de83fc129", + "metadata": {}, + "source": [ + "# Read Cache" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6354ebb1-bb74-4ec2-ad96-72e9ec869e36", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b03418f7-7a3f-44a9-9ff9-57cef85d3017", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The current working directory is: /home/wp14\n" + ] + } + ], + "source": [ + "os.chdir(\"../../../\")\n", + "print(f\"The current working directory is: {os.getcwd()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "458c9daa-f889-4537-b699-a750903644e8", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_parquet(\"pyhealth_cache_labs/012dadb7-77c0-575b-aef5-f1d7fee6a314/global_event_df.parquet\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "85be3049-e30d-4461-b645-730a79eaa770", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(118975491, 33)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/scripts/will/slurm/labs_only/slurm_run_labs_only_variant.py b/scripts/will/slurm/labs_only/slurm_run_labs_only_variant.py new file mode 100644 index 000000000..6e13a38ea --- /dev/null +++ b/scripts/will/slurm/labs_only/slurm_run_labs_only_variant.py @@ -0,0 +1,116 @@ +project_dir = "/u/wp14/PyHealth" +seed = 12 +account = "jimeng-ic" +partition = "eng-research-gpu" +time = "24:00:00" +mem = "64G" +gres = "gpu:A10:1" +conda_env = "pyhealth2" +ehr_root = "/projects/illinois/eng/cs/jimeng/physionet.org/files/mimiciv/2.2" +cache_dir = "/u/wp14/pyhealth_cache" +output_dir = "output/rnn_labs" +embedding_dim = 128 +hidden_dim = 128 +rnn_type = "GRU" +rnn_layers = 2 +dropout = 0.1 +epochs = 5 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +dev = False + +# ── Step 0: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0 (optional): Clean logs and cache + +rm -rf {project_dir}/logs/* +rm -rf {cache_dir}/* +""") + +# ── Step 1: Reserve resources ───────────────────────────────────────────────── +if dev: + print(f""" +### STEP 1: Reserve an interactive node + +srun \\ + --account={account} \\ + --partition={partition} \\ + --nodes=1 --ntasks=1 --cpus-per-task={num_workers} \\ + --mem={mem} --gres={gres} --time={time} \\ + --pty bash +""") +else: + print(f""" +### STEP 1: Submit batch job (includes step 2 automatically) + +mkdir -p {project_dir}/logs && sbatch \\ + --job-name=rnn_labs_s{seed} \\ + --account={account} \\ + --partition={partition} \\ + --nodes=1 --ntasks=1 --cpus-per-task={num_workers} \\ + --mem={mem} --gres={gres} --time={time} \\ + --output={project_dir}/logs/rnn_labs_s{seed}_%j.out \\ + --error={project_dir}/logs/rnn_labs_s{seed}_%j.err \\ + --wrap=' + module load miniconda3/24.9.2 && + eval "$(conda shell.bash hook)" && + conda activate {conda_env} && + cd {project_dir} && + export PYTHONPATH={project_dir}:$PYTHONPATH && + python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + --ehr-root {ehr_root} \\ + --cache-dir {cache_dir} \\ + --task labs \\ + --model rnn \\ + --embedding-dim {embedding_dim} \\ + --hidden-dim {hidden_dim} \\ + --rnn-type {rnn_type} \\ + --rnn-layers {rnn_layers} \\ + --dropout {dropout} \\ + --epochs {epochs} \\ + --batch-size {batch_size} \\ + --lr {lr} \\ + --weight-decay {weight_decay} \\ + --patience {patience} \\ + --num-workers {num_workers} \\ + --seed {seed} \\ + --output-dir {output_dir} + ' +""") + +# ── Step 2: Run (only needed for dev/interactive) ───────────────────────────── +print("\n" + "=" * 60 + "\n") +if dev: + print(f""" +### STEP 2: Once on the node, run + +module load miniconda3/24.9.2 && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +mkdir -p {project_dir}/logs/dev && +python {project_dir}/examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + --ehr-root {ehr_root} \\ + --cache-dir {cache_dir} \\ + --task labs \\ + --model rnn \\ + --embedding-dim {embedding_dim} \\ + --hidden-dim {hidden_dim} \\ + --rnn-type {rnn_type} \\ + --rnn-layers {rnn_layers} \\ + --dropout {dropout} \\ + --epochs {epochs} \\ + --batch-size {batch_size} \\ + --lr {lr} \\ + --weight-decay {weight_decay} \\ + --patience {patience} \\ + --num-workers {num_workers} \\ + --seed {seed} \\ + --output-dir {output_dir} --dev \\ + > >(tee {project_dir}/logs/dev/rnn_labs_s{seed}.out) \\ + 2> >(tee {project_dir}/logs/dev/rnn_labs_s{seed}.err >&2) +""") diff --git a/scripts/will/sunlab/labs_notes/tmux_run_labs_notes_rnn_variant.py b/scripts/will/sunlab/labs_notes/tmux_run_labs_notes_rnn_variant.py new file mode 100644 index 000000000..fe8704565 --- /dev/null +++ b/scripts/will/sunlab/labs_notes/tmux_run_labs_notes_rnn_variant.py @@ -0,0 +1,130 @@ +project_dir = "/home/wp14/PyHealth" +seed = 12 +conda_env = "pyhealth2" +ehr_root = "/shared/rsaas/physionet.org/files/mimiciv/2.2" +note_root = "/shared/rsaas/physionet.org/files/mimic-note" +cache_dir = "/shared/eng/wp14/pyhealth_cache_labs_notes" +logs_dir = "/home/wp14/logs" +output_dir = "/home/wp14/output" +embedding_dim = 128 +hidden_dim = 128 +rnn_type = "GRU" +rnn_layers = 2 +dropout = 0.1 +epochs = 50 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +freeze_encoder = False +include_vitals = False +dev = False +use_old_cache = False +use_wandb = True +wandb_project = "pyhealth-multimodal-labs-notes" +wandb_run_name = None # defaults to "{model}_seed{seed}" if unset +cuda_visible_devices = "2" +session_name = f"rnn_labs_notes_s{seed}" + +# ── Step 0a: Check which CUDA GPU is available ─────────────────────────────── +print(f""" +### STEP 0a: Check which CUDA GPU is available (pick an idle index for CUDA_VISIBLE_DEVICES) + +nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.free --format=csv +""") + +# ── Step 0b: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0b (optional): Clean logs and cache + +rm -rf {logs_dir}/* +{'# cache preserved (use_old_cache=True)' if use_old_cache else f'rm -rf {cache_dir}/*'} +rm -rf {output_dir}/* +""") + +# ── Step 1: Start a tmux session ──────────────────────────────────────────── +print(f""" +### STEP 1: Start a tmux session (attached) + +tmux new-session -s {session_name} +""") + +# ── Step 2: Paste this into the session to run training ───────────────────── +print("\n" + "=" * 60 + "\n") + +log_dir = logs_dir +log_tag = f"rnn_labs_notes_s{seed}" + +flags = [ + f"--ehr-root {ehr_root}", + f"--note-root {note_root}", + f"--cache-dir {cache_dir}", + f"--task notes_labs{' --dev' if dev else ''}", + "--model rnn", + f"--embedding-dim {embedding_dim}", + f"--hidden-dim {hidden_dim}", + f"--rnn-type {rnn_type}", + f"--rnn-layers {rnn_layers}", + f"--dropout {dropout}", + f"--epochs {epochs}", + f"--batch-size {batch_size}", + f"--lr {lr}", + f"--weight-decay {weight_decay}", + f"--patience {patience}", + f"--num-workers {num_workers}", +] +if freeze_encoder: + flags.append("--freeze-encoder") +if include_vitals: + flags.append("--include-vitals") +if use_wandb: + flags.append("--wandb") + flags.append(f"--wandb-project {wandb_project}") + if wandb_run_name: + flags.append(f"--wandb-run-name {wandb_run_name}") +flags += [ + f"--seed {seed}", + f"--output-dir {output_dir}", +] +flags_block = " \\\n ".join(flags) + +print(f""" +### STEP 2: Paste this into the tmux session + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +export CUDA_VISIBLE_DEVICES={cuda_visible_devices} && +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + {flags_block} \\ + > >(tee {log_dir}/{log_tag}.out) \\ + 2> >(tee {log_dir}/{log_tag}.err >&2) +""") + +# ── Step 3: Detach / reattach / monitor ────────────────────────────────────── +print(f""" +### STEP 3: Detach without killing (Ctrl+b d), then reattach later with + +tmux attach -t {session_name} + +### To check on it later without attaching: + +tail -f {log_dir}/{log_tag}.out + +### To kill the session when done: + +tmux kill-session -t {session_name} +""") + +# ── Step 4: Confirm which note sections were used for filtering ───────────── +print(f""" +### STEP 4: Confirm which discharge-note AND radiology-note sections +### NotesLabsMIMIC4 filtered to (e.g. discharge: "chief complaint"; +### radiology: "indication", "impression"). Logged once at INFO level by +### pyhealth.tasks.multimodal_mimic4 when the task is constructed. + +grep "filtering discharge notes to sections" {log_dir}/{log_tag}.out +""") diff --git a/scripts/will/sunlab/labs_only/tmux_run_labs_only_bottleneck_transformer_variant.py b/scripts/will/sunlab/labs_only/tmux_run_labs_only_bottleneck_transformer_variant.py new file mode 100644 index 000000000..38d9afeec --- /dev/null +++ b/scripts/will/sunlab/labs_only/tmux_run_labs_only_bottleneck_transformer_variant.py @@ -0,0 +1,140 @@ +from datetime import datetime + +date_str = datetime.now().strftime("%Y%m%d") + +project_dir = "/home/wp14/PyHealth" +seed = 12 +conda_env = "pyhealth2" +ehr_root = "/shared/rsaas/physionet.org/files/mimiciv/2.2" +note_root = "/shared/rsaas/physionet.org/files/mimic-note" +logs_dir = "/home/wp14/logs" +output_dir = "/home/wp14/output" +task = "labs" +cache_dir = f"/home/wp14/pyhealth_cache_{task}" +embedding_dim = 64 +hidden_dim = 64 +heads = 4 +num_layers = 2 +bottlenecks_n = 4 +fusion_startidx = 1 +dropout = 0.1 +epochs = 50 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +pos_weight = 1.0 +max_grad_norm = 0.5 +dev = False +cuda_visible_devices = "4" +use_old_cache = True +session_name = f"bottleneck_transformer_{task}_s{seed}" +wandb_project = "pyhealth-multimodal-labs-only" + +# ── Step 0a: Check which CUDA GPU is available ─────────────────────────────── +print(f""" +### STEP 0a: Check which CUDA GPU is available (pick an idle index for CUDA_VISIBLE_DEVICES) + +nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.free --format=csv +""") + +# ── Step 0b: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0b (optional): Clean logs and cache + +rm -rf {logs_dir}/* +{'# cache preserved (use_old_cache=True)' if use_old_cache else f'rm -rf {cache_dir}/*'} +rm -rf {output_dir}/* +""") + +# ── Step 1: Start a tmux session ──────────────────────────────────────────── +print(f""" +### STEP 1: Start a tmux session (attached) + +tmux new-session -s {session_name} +""") + +# ── Step 2: Paste this into the session to run training ───────────────────── +print("\n" + "=" * 60 + "\n") + +log_dir = logs_dir +log_tag = f"bottleneck_transformer_{task}_s{seed}_{date_str}" + +print(f""" +### STEP 2: Paste this into the tmux session + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +export CUDA_VISIBLE_DEVICES={cuda_visible_devices} && +export WANDB_PROJECT={wandb_project} && +export WANDB_NAME={log_tag} && +{{ echo "[params] seed={seed} task={task} cache_dir={cache_dir} embedding_dim={embedding_dim} hidden_dim={hidden_dim} heads={heads} num_layers={num_layers} bottlenecks_n={bottlenecks_n} fusion_startidx={fusion_startidx} dropout={dropout} epochs={epochs} batch_size={batch_size} lr={lr} weight_decay={weight_decay} patience={patience} num_workers={num_workers} pos_weight={pos_weight} max_grad_norm={max_grad_norm} dev={dev}" | tee {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +{{ echo "[start] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + --ehr-root {ehr_root} \\ + --cache-dir {cache_dir} \\ + --task {task}{' --dev' if dev else ''} \\ + --model bottleneck_transformer \\ + --embedding-dim {embedding_dim} \\ + --hidden-dim {hidden_dim} \\ + --heads {heads} \\ + --num-layers {num_layers} \\ + --bottlenecks-n {bottlenecks_n} \\ + --fusion-startidx {fusion_startidx} \\ + --dropout {dropout} \\ + --epochs {epochs} \\ + --batch-size {batch_size} \\ + --lr {lr} \\ + --weight-decay {weight_decay} \\ + --patience {patience} \\ + --num-workers {num_workers} \\ + --pos-weight {pos_weight} \\ + --max-grad-norm {max_grad_norm} \\ + --seed {seed} \\ + --output-dir {output_dir} \\ + > >(tee -a {log_dir}/{log_tag}.out) \\ + 2> >(tee -a {log_dir}/{log_tag}.err >&2); +{{ echo "[end] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} +""") + +# ── Step 3: Detach / reattach / monitor ────────────────────────────────────── +print(f""" +### STEP 3: Detach without killing (Ctrl+b d), then reattach later with + +tmux attach -t {session_name} + +### To check on it later without attaching: + +tail -f {log_dir}/{log_tag}.out + +### wandb: run should appear at (look for "wandb: 🚀 View run" in the log) + +https://wandb.ai//{wandb_project} + +### To kill the session when done: + +tmux kill-session -t {session_name} +""") + +# ── Step 4: Compute token stats (optional) ─────────────────────────────────── +token_stats_tag = f"token_stats_notes_labs_s{seed}_{date_str}" + +print(f""" +### STEP 4 (optional): Compute token stats (run in a separate shell, no GPU needed) + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +python scripts/compute_token_stats.py \\ + --ehr-root {ehr_root} \\ + --note-root {note_root} \\ + --cache-dir {cache_dir} \\ + --task notes_labs{' --dev' if dev else ''} \\ + > >(tee {log_dir}/{token_stats_tag}.out) \\ + 2> >(tee {log_dir}/{token_stats_tag}.err >&2) +""") diff --git a/scripts/will/sunlab/labs_only/tmux_run_labs_only_ehrmamba_variant.py b/scripts/will/sunlab/labs_only/tmux_run_labs_only_ehrmamba_variant.py new file mode 100644 index 000000000..2ca0ed65a --- /dev/null +++ b/scripts/will/sunlab/labs_only/tmux_run_labs_only_ehrmamba_variant.py @@ -0,0 +1,134 @@ +from datetime import datetime + +date_str = datetime.now().strftime("%Y%m%d") + +project_dir = "/home/wp14/PyHealth" +seed = 12 +conda_env = "pyhealth2" +ehr_root = "/shared/rsaas/physionet.org/files/mimiciv/2.2" +note_root = "/shared/rsaas/physionet.org/files/mimic-note" +logs_dir = "/home/wp14/logs" +output_dir = "/home/wp14/output" +task = "labs" +cache_dir = f"/home/wp14/pyhealth_cache_{task}" +embedding_dim = 64 +num_layers = 2 +mamba_state_size = 16 +mamba_conv_kernel = 4 +dropout = 0.1 +epochs = 50 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +pos_weight = 1.0 +dev = False +cuda_visible_devices = "4" +use_old_cache = True +session_name = f"ehrmamba_{task}_s{seed}" +wandb_project = "pyhealth-multimodal-labs-only" + +# ── Step 0a: Check which CUDA GPU is available ─────────────────────────────── +print(f""" +### STEP 0a: Check which CUDA GPU is available (pick an idle index for CUDA_VISIBLE_DEVICES) + +nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.free --format=csv +""") + +# ── Step 0b: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0b (optional): Clean logs and cache + +rm -rf {logs_dir}/* +{'# cache preserved (use_old_cache=True)' if use_old_cache else f'rm -rf {cache_dir}/*'} +rm -rf {output_dir}/* +""") + +# ── Step 1: Start a tmux session ──────────────────────────────────────────── +print(f""" +### STEP 1: Start a tmux session (attached) + +tmux new-session -s {session_name} +""") + +# ── Step 2: Paste this into the session to run training ───────────────────── +print("\n" + "=" * 60 + "\n") + +log_dir = logs_dir +log_tag = f"ehrmamba_{task}_s{seed}_{date_str}" + +print(f""" +### STEP 2: Paste this into the tmux session + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +export CUDA_VISIBLE_DEVICES={cuda_visible_devices} && +export WANDB_PROJECT={wandb_project} && +export WANDB_NAME={log_tag} && +{{ echo "[params] seed={seed} task={task} cache_dir={cache_dir} embedding_dim={embedding_dim} num_layers={num_layers} mamba_state_size={mamba_state_size} mamba_conv_kernel={mamba_conv_kernel} dropout={dropout} epochs={epochs} batch_size={batch_size} lr={lr} weight_decay={weight_decay} patience={patience} num_workers={num_workers} pos_weight={pos_weight} dev={dev}" | tee {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +{{ echo "[start] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + --ehr-root {ehr_root} \\ + --cache-dir {cache_dir} \\ + --task {task}{' --dev' if dev else ''} \\ + --model ehrmamba \\ + --embedding-dim {embedding_dim} \\ + --num-layers {num_layers} \\ + --mamba-state-size {mamba_state_size} \\ + --mamba-conv-kernel {mamba_conv_kernel} \\ + --dropout {dropout} \\ + --epochs {epochs} \\ + --batch-size {batch_size} \\ + --lr {lr} \\ + --weight-decay {weight_decay} \\ + --patience {patience} \\ + --num-workers {num_workers} \\ + --pos-weight {pos_weight} \\ + --seed {seed} \\ + --output-dir {output_dir} \\ + > >(tee -a {log_dir}/{log_tag}.out) \\ + 2> >(tee -a {log_dir}/{log_tag}.err >&2); +{{ echo "[end] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} +""") + +# ── Step 3: Detach / reattach / monitor ────────────────────────────────────── +print(f""" +### STEP 3: Detach without killing (Ctrl+b d), then reattach later with + +tmux attach -t {session_name} + +### To check on it later without attaching: + +tail -f {log_dir}/{log_tag}.out + +### wandb: run should appear at (look for "wandb: 🚀 View run" in the log) + +https://wandb.ai//{wandb_project} + +### To kill the session when done: + +tmux kill-session -t {session_name} +""") + +# ── Step 4: Compute token stats (optional) ─────────────────────────────────── +token_stats_tag = f"token_stats_notes_labs_s{seed}_{date_str}" + +print(f""" +### STEP 4 (optional): Compute token stats (run in a separate shell, no GPU needed) + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +python scripts/compute_token_stats.py \\ + --ehr-root {ehr_root} \\ + --note-root {note_root} \\ + --cache-dir {cache_dir} \\ + --task notes_labs{' --dev' if dev else ''} \\ + > >(tee {log_dir}/{token_stats_tag}.out) \\ + 2> >(tee {log_dir}/{token_stats_tag}.err >&2) +""") diff --git a/scripts/will/sunlab/labs_only/tmux_run_labs_only_jambaehr_variant.py b/scripts/will/sunlab/labs_only/tmux_run_labs_only_jambaehr_variant.py new file mode 100644 index 000000000..c1b3ec6f1 --- /dev/null +++ b/scripts/will/sunlab/labs_only/tmux_run_labs_only_jambaehr_variant.py @@ -0,0 +1,138 @@ +from datetime import datetime + +date_str = datetime.now().strftime("%Y%m%d") + +project_dir = "/home/wp14/PyHealth" +seed = 12 +conda_env = "pyhealth2" +ehr_root = "/shared/rsaas/physionet.org/files/mimiciv/2.2" +note_root = "/shared/rsaas/physionet.org/files/mimic-note" +logs_dir = "/home/wp14/logs" +output_dir = "/home/wp14/output" +task = "labs" +cache_dir = f"/home/wp14/pyhealth_cache_{task}" +embedding_dim = 64 +heads = 4 +jamba_transformer_layers = 2 +jamba_mamba_layers = 6 +mamba_state_size = 16 +mamba_conv_kernel = 4 +dropout = 0.1 +epochs = 50 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +pos_weight = 1.0 +dev = False +cuda_visible_devices = "4" +use_old_cache = True +session_name = f"jambaehr_{task}_s{seed}" +wandb_project = "pyhealth-multimodal-labs-only" + +# ── Step 0a: Check which CUDA GPU is available ─────────────────────────────── +print(f""" +### STEP 0a: Check which CUDA GPU is available (pick an idle index for CUDA_VISIBLE_DEVICES) + +nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.free --format=csv +""") + +# ── Step 0b: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0b (optional): Clean logs and cache + +rm -rf {logs_dir}/* +{'# cache preserved (use_old_cache=True)' if use_old_cache else f'rm -rf {cache_dir}/*'} +rm -rf {output_dir}/* +""") + +# ── Step 1: Start a tmux session ──────────────────────────────────────────── +print(f""" +### STEP 1: Start a tmux session (attached) + +tmux new-session -s {session_name} +""") + +# ── Step 2: Paste this into the session to run training ───────────────────── +print("\n" + "=" * 60 + "\n") + +log_dir = logs_dir +log_tag = f"jambaehr_{task}_s{seed}_{date_str}" + +print(f""" +### STEP 2: Paste this into the tmux session + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +export CUDA_VISIBLE_DEVICES={cuda_visible_devices} && +export WANDB_PROJECT={wandb_project} && +export WANDB_NAME={log_tag} && +{{ echo "[params] seed={seed} task={task} cache_dir={cache_dir} embedding_dim={embedding_dim} heads={heads} jamba_transformer_layers={jamba_transformer_layers} jamba_mamba_layers={jamba_mamba_layers} mamba_state_size={mamba_state_size} mamba_conv_kernel={mamba_conv_kernel} dropout={dropout} epochs={epochs} batch_size={batch_size} lr={lr} weight_decay={weight_decay} patience={patience} num_workers={num_workers} pos_weight={pos_weight} dev={dev}" | tee {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +{{ echo "[start] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + --ehr-root {ehr_root} \\ + --cache-dir {cache_dir} \\ + --task {task}{' --dev' if dev else ''} \\ + --model jambaehr \\ + --embedding-dim {embedding_dim} \\ + --heads {heads} \\ + --jamba-transformer-layers {jamba_transformer_layers} \\ + --jamba-mamba-layers {jamba_mamba_layers} \\ + --mamba-state-size {mamba_state_size} \\ + --mamba-conv-kernel {mamba_conv_kernel} \\ + --dropout {dropout} \\ + --epochs {epochs} \\ + --batch-size {batch_size} \\ + --lr {lr} \\ + --weight-decay {weight_decay} \\ + --patience {patience} \\ + --num-workers {num_workers} \\ + --pos-weight {pos_weight} \\ + --seed {seed} \\ + --output-dir {output_dir} \\ + > >(tee -a {log_dir}/{log_tag}.out) \\ + 2> >(tee -a {log_dir}/{log_tag}.err >&2); +{{ echo "[end] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} +""") + +# ── Step 3: Detach / reattach / monitor ────────────────────────────────────── +print(f""" +### STEP 3: Detach without killing (Ctrl+b d), then reattach later with + +tmux attach -t {session_name} + +### To check on it later without attaching: + +tail -f {log_dir}/{log_tag}.out + +### wandb: run should appear at (look for "wandb: 🚀 View run" in the log) + +https://wandb.ai//{wandb_project} + +### To kill the session when done: + +tmux kill-session -t {session_name} +""") + +# ── Step 4: Compute token stats (optional) ─────────────────────────────────── +token_stats_tag = f"token_stats_notes_labs_s{seed}_{date_str}" + +print(f""" +### STEP 4 (optional): Compute token stats (run in a separate shell, no GPU needed) + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +python scripts/compute_token_stats.py \\ + --ehr-root {ehr_root} \\ + --note-root {note_root} \\ + --cache-dir {cache_dir} \\ + --task notes_labs{' --dev' if dev else ''} \\ + > >(tee {log_dir}/{token_stats_tag}.out) \\ + 2> >(tee {log_dir}/{token_stats_tag}.err >&2) +""") diff --git a/scripts/will/sunlab/labs_only/tmux_run_labs_only_rnn_variant.py b/scripts/will/sunlab/labs_only/tmux_run_labs_only_rnn_variant.py new file mode 100644 index 000000000..abbbbef2e --- /dev/null +++ b/scripts/will/sunlab/labs_only/tmux_run_labs_only_rnn_variant.py @@ -0,0 +1,112 @@ +project_dir = "/home/wp14/PyHealth" +seed = 12 +conda_env = "pyhealth2" +ehr_root = "/shared/rsaas/physionet.org/files/mimiciv/2.2" +cache_dir = "/shared/eng/wp14/pyhealth_cache_labs" +logs_dir = "/home/wp14/logs" +output_dir = "/home/wp14/output" +embedding_dim = 128 +hidden_dim = 128 +rnn_type = "GRU" +rnn_layers = 2 +dropout = 0.1 +epochs = 50 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +dev = False +use_old_cache = True +use_wandb = True +wandb_project = "pyhealth-multimodal-labs-only" +wandb_run_name = None # defaults to "{model}_seed{seed}" if unset +cuda_visible_devices = "4" +session_name = f"rnn_labs_s{seed}" + +# ── Step 0a: Check which CUDA GPU is available ─────────────────────────────── +print(f""" +### STEP 0a: Check which CUDA GPU is available (pick an idle index for CUDA_VISIBLE_DEVICES) + +nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.free --format=csv +""") + +# ── Step 0b: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0b (optional): Clean logs and cache + +rm -rf {logs_dir}/* +{'# cache preserved (use_old_cache=True)' if use_old_cache else f'rm -rf {cache_dir}/*'} +rm -rf {output_dir}/* +""") + +# ── Step 1: Start a tmux session ──────────────────────────────────────────── +print(f""" +### STEP 1: Start a tmux session (attached) + +tmux new-session -s {session_name} +""") + +# ── Step 2: Paste this into the session to run training ───────────────────── +print("\n" + "=" * 60 + "\n") + +log_dir = logs_dir +log_tag = f"rnn_labs_s{seed}" + +flags = [ + f"--ehr-root {ehr_root}", + f"--cache-dir {cache_dir}", + f"--task labs{' --dev' if dev else ''}", + "--model rnn", + f"--embedding-dim {embedding_dim}", + f"--hidden-dim {hidden_dim}", + f"--rnn-type {rnn_type}", + f"--rnn-layers {rnn_layers}", + f"--dropout {dropout}", + f"--epochs {epochs}", + f"--batch-size {batch_size}", + f"--lr {lr}", + f"--weight-decay {weight_decay}", + f"--patience {patience}", + f"--num-workers {num_workers}", +] +if use_wandb: + flags.append("--wandb") + flags.append(f"--wandb-project {wandb_project}") + if wandb_run_name: + flags.append(f"--wandb-run-name {wandb_run_name}") +flags += [ + f"--seed {seed}", + f"--output-dir {output_dir}", +] +flags_block = " \\\n ".join(flags) + +print(f""" +### STEP 2: Paste this into the tmux session + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +export CUDA_VISIBLE_DEVICES={cuda_visible_devices} && +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + {flags_block} \\ + > >(tee {log_dir}/{log_tag}.out) \\ + 2> >(tee {log_dir}/{log_tag}.err >&2) +""") + +# ── Step 3: Detach / reattach / monitor ────────────────────────────────────── +print(f""" +### STEP 3: Detach without killing (Ctrl+b d), then reattach later with + +tmux attach -t {session_name} + +### To check on it later without attaching: + +tail -f {log_dir}/{log_tag}.out + +### To kill the session when done: + +tmux kill-session -t {session_name} +""") diff --git a/scripts/will/sunlab/labs_only/tmux_run_labs_only_transformer_variant.py b/scripts/will/sunlab/labs_only/tmux_run_labs_only_transformer_variant.py new file mode 100644 index 000000000..153189d15 --- /dev/null +++ b/scripts/will/sunlab/labs_only/tmux_run_labs_only_transformer_variant.py @@ -0,0 +1,134 @@ +from datetime import datetime + +date_str = datetime.now().strftime("%Y%m%d") + +project_dir = "/home/wp14/PyHealth" +seed = 12 +conda_env = "pyhealth2" +ehr_root = "/shared/rsaas/physionet.org/files/mimiciv/2.2" +note_root = "/shared/rsaas/physionet.org/files/mimic-note" +logs_dir = "/home/wp14/logs" +output_dir = "/home/wp14/output" +task = "labs" +cache_dir = f"/home/wp14/pyhealth_cache_{task}" +embedding_dim = 64 +hidden_dim = 64 +heads = 4 +num_layers = 2 +dropout = 0.1 +epochs = 50 +batch_size = 32 +lr = 1e-3 +weight_decay = 1e-5 +patience = 5 +num_workers = 4 +pos_weight = 1.0 +dev = False +cuda_visible_devices = "4" +use_old_cache = False +session_name = f"transformer_{task}_s{seed}" +wandb_project = "pyhealth-multimodal-labs-only" + +# ── Step 0a: Check which CUDA GPU is available ─────────────────────────────── +print(f""" +### STEP 0a: Check which CUDA GPU is available (pick an idle index for CUDA_VISIBLE_DEVICES) + +nvidia-smi --query-gpu=index,utilization.gpu,memory.used,memory.free --format=csv +""") + +# ── Step 0b: Clean logs and cache ──────────────────────────────────────────── +print(f""" +### STEP 0b (optional): Clean logs and cache + +rm -rf {logs_dir}/* +{'# cache preserved (use_old_cache=True)' if use_old_cache else f'rm -rf {cache_dir}/*'} +rm -rf {output_dir}/* +""") + +# ── Step 1: Start a tmux session ──────────────────────────────────────────── +print(f""" +### STEP 1: Start a tmux session (attached) + +tmux new-session -s {session_name} +""") + +# ── Step 2: Paste this into the session to run training ───────────────────── +print("\n" + "=" * 60 + "\n") + +log_dir = logs_dir +log_tag = f"transformer_{task}_s{seed}_{date_str}" + +print(f""" +### STEP 2: Paste this into the tmux session + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +export PYTHONPATH={project_dir}:$PYTHONPATH && +export CUDA_VISIBLE_DEVICES={cuda_visible_devices} && +export WANDB_PROJECT={wandb_project} && +export WANDB_NAME={log_tag} && +{{ echo "[params] seed={seed} task={task} cache_dir={cache_dir} embedding_dim={embedding_dim} hidden_dim={hidden_dim} heads={heads} num_layers={num_layers} dropout={dropout} epochs={epochs} batch_size={batch_size} lr={lr} weight_decay={weight_decay} patience={patience} num_workers={num_workers} pos_weight={pos_weight} dev={dev}" | tee {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +{{ echo "[start] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} && +python examples/mortality_prediction/unified_embedding_e2e_mimic4.py \\ + --ehr-root {ehr_root} \\ + --cache-dir {cache_dir} \\ + --task {task}{' --dev' if dev else ''} \\ + --model transformer \\ + --embedding-dim {embedding_dim} \\ + --hidden-dim {hidden_dim} \\ + --heads {heads} \\ + --num-layers {num_layers} \\ + --dropout {dropout} \\ + --epochs {epochs} \\ + --batch-size {batch_size} \\ + --lr {lr} \\ + --weight-decay {weight_decay} \\ + --patience {patience} \\ + --num-workers {num_workers} \\ + --pos-weight {pos_weight} \\ + --seed {seed} \\ + --output-dir {output_dir} \\ + > >(tee -a {log_dir}/{log_tag}.out) \\ + 2> >(tee -a {log_dir}/{log_tag}.err >&2); +{{ echo "[end] $(TZ='America/Los_Angeles' date '+%Y-%m-%d %H:%M:%S %Z')" | tee -a {log_dir}/{log_tag}.out | tee -a {log_dir}/{log_tag}.err > /dev/null; }} +""") + +# ── Step 3: Detach / reattach / monitor ────────────────────────────────────── +print(f""" +### STEP 3: Detach without killing (Ctrl+b d), then reattach later with + +tmux attach -t {session_name} + +### To check on it later without attaching: + +tail -f {log_dir}/{log_tag}.out + +### wandb: run should appear at (look for "wandb: 🚀 View run" in the log) + +https://wandb.ai//{wandb_project} + +### To kill the session when done: + +tmux kill-session -t {session_name} +""") + +# ── Step 4: Compute token stats (optional) ─────────────────────────────────── +token_stats_tag = f"token_stats_notes_labs_s{seed}_{date_str}" + +print(f""" +### STEP 4 (optional): Compute token stats (run in a separate shell, no GPU needed) + +mkdir -p {log_dir} && +eval "$(conda shell.bash hook)" && +conda activate {conda_env} && +cd {project_dir} && +python scripts/compute_token_stats.py \\ + --ehr-root {ehr_root} \\ + --note-root {note_root} \\ + --cache-dir {cache_dir} \\ + --task notes_labs{' --dev' if dev else ''} \\ + > >(tee {log_dir}/{token_stats_tag}.out) \\ + 2> >(tee {log_dir}/{token_stats_tag}.err >&2) +""") diff --git a/wandb/latest-run b/wandb/latest-run new file mode 120000 index 000000000..7bcb74150 --- /dev/null +++ b/wandb/latest-run @@ -0,0 +1 @@ +run-20260729_230052-vhbvau7e \ No newline at end of file diff --git a/wandb/run-20260705_212337-99vdbgbw/files/config.yaml b/wandb/run-20260705_212337-99vdbgbw/files/config.yaml new file mode 100644 index 000000000..6e90eecaf --- /dev/null +++ b/wandb/run-20260705_212337-99vdbgbw/files/config.yaml @@ -0,0 +1,177 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + hml53lcj4oy2dckmncuhvw4ipv9nku1x: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --dev + - --model + - rnn + - --embedding-dim + - "64" + - --hidden-dim + - "64" + - --rnn-type + - GRU + - --rnn-layers + - "1" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15924445184" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-06T02:23:37.858585Z" + writerId: hml53lcj4oy2dckmncuhvw4ipv9nku1x + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +dev_mode: + value: true +exp_name: + value: rnn_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: rnn +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260705_212337-99vdbgbw/files/requirements.txt b/wandb/run-20260705_212337-99vdbgbw/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260705_212337-99vdbgbw/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260705_212337-99vdbgbw/files/wandb-metadata.json b/wandb/run-20260705_212337-99vdbgbw/files/wandb-metadata.json new file mode 100644 index 000000000..e46394335 --- /dev/null +++ b/wandb/run-20260705_212337-99vdbgbw/files/wandb-metadata.json @@ -0,0 +1,128 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-06T02:23:37.858585Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--dev", + "--model", + "rnn", + "--embedding-dim", + "64", + "--hidden-dim", + "64", + "--rnn-type", + "GRU", + "--rnn-layers", + "1", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15924445184" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "hml53lcj4oy2dckmncuhvw4ipv9nku1x" +} \ No newline at end of file diff --git a/wandb/run-20260705_212337-99vdbgbw/files/wandb-summary.json b/wandb/run-20260705_212337-99vdbgbw/files/wandb-summary.json new file mode 100644 index 000000000..c03270709 --- /dev/null +++ b/wandb/run-20260705_212337-99vdbgbw/files/wandb-summary.json @@ -0,0 +1 @@ +{"val_loss":0.21904340386390686,"_step":8,"global_step":171,"_timestamp":1.7833046309801621e+09,"epoch":8,"train_vram_allocated_mb":16.5615234375,"train_loss":0.16386246249863975,"_runtime":13.321371775,"val_pr_auc":0.6118524332810047,"_wandb":{"runtime":13},"val_accuracy":0.9054054054054054,"val_roc_auc":0.9189765458422174,"epoch_time_s":1.031,"val_f1":0,"train_vram_peak_mb":89.7705078125} \ No newline at end of file diff --git a/wandb/run-20260705_212337-99vdbgbw/run-99vdbgbw.wandb b/wandb/run-20260705_212337-99vdbgbw/run-99vdbgbw.wandb new file mode 100644 index 000000000..6c8e9d222 Binary files /dev/null and b/wandb/run-20260705_212337-99vdbgbw/run-99vdbgbw.wandb differ diff --git a/wandb/run-20260705_225706-wkdkg5al/files/config.yaml b/wandb/run-20260705_225706-wkdkg5al/files/config.yaml new file mode 100644 index 000000000..f7d63db5a --- /dev/null +++ b/wandb/run-20260705_225706-wkdkg5al/files/config.yaml @@ -0,0 +1,208 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + 78phm1uydmhscrrd5pm56g60304gckf2: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - rnn + - --embedding-dim + - "64" + - --hidden-dim + - "64" + - --rnn-type + - GRU + - --rnn-layers + - "1" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15926824960" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-06T03:57:06.652653Z" + writerId: 78phm1uydmhscrrd5pm56g60304gckf2 + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +data/n_neg_test: + value: 17197 +data/n_neg_total: + value: 172131 +data/n_neg_train: + value: 137689 +data/n_neg_val: + value: 17245 +data/n_pos_test: + value: 877 +data/n_pos_total: + value: 8602 +data/n_pos_train: + value: 6897 +data/n_pos_val: + value: 828 +data/n_test: + value: 18074 +data/n_total: + value: 180733 +data/n_train: + value: 144586 +data/n_val: + value: 18073 +data/pos_rate_test: + value: 0.04852273984729446 +data/pos_rate_total: + value: 0.047595071182351865 +data/pos_rate_train: + value: 0.047701713858879835 +data/pos_rate_val: + value: 0.04581419797487966 +dev_mode: + value: false +exp_name: + value: rnn_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: rnn +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260705_225706-wkdkg5al/files/requirements.txt b/wandb/run-20260705_225706-wkdkg5al/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260705_225706-wkdkg5al/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260705_225706-wkdkg5al/files/wandb-metadata.json b/wandb/run-20260705_225706-wkdkg5al/files/wandb-metadata.json new file mode 100644 index 000000000..2a3b82e3b --- /dev/null +++ b/wandb/run-20260705_225706-wkdkg5al/files/wandb-metadata.json @@ -0,0 +1,127 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-06T03:57:06.652653Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "rnn", + "--embedding-dim", + "64", + "--hidden-dim", + "64", + "--rnn-type", + "GRU", + "--rnn-layers", + "1", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15926824960" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "78phm1uydmhscrrd5pm56g60304gckf2" +} \ No newline at end of file diff --git a/wandb/run-20260705_225706-wkdkg5al/files/wandb-summary.json b/wandb/run-20260705_225706-wkdkg5al/files/wandb-summary.json new file mode 100644 index 000000000..f02a49475 --- /dev/null +++ b/wandb/run-20260705_225706-wkdkg5al/files/wandb-summary.json @@ -0,0 +1 @@ +{"epoch_time_s":110.619,"val_loss":0.10411418034835199,"val_f1":0.556060606060606,"_timestamp":1.7833122336183228e+09,"val_accuracy":0.9675759420129475,"val_pr_auc":0.6126895956406891,"epoch":16,"val_roc_auc":0.9231699519429422,"train_vram_allocated_mb":16.5615234375,"_step":16,"train_vram_peak_mb":337.224609375,"_runtime":2014.862620307,"train_loss":0.1075635792495459,"_wandb":{"runtime":2014},"global_step":76823} \ No newline at end of file diff --git a/wandb/run-20260705_225706-wkdkg5al/run-wkdkg5al.wandb b/wandb/run-20260705_225706-wkdkg5al/run-wkdkg5al.wandb new file mode 100644 index 000000000..de6d93ad0 Binary files /dev/null and b/wandb/run-20260705_225706-wkdkg5al/run-wkdkg5al.wandb differ diff --git a/wandb/run-20260706_003500-qtt8p5nt/files/config.yaml b/wandb/run-20260706_003500-qtt8p5nt/files/config.yaml new file mode 100644 index 000000000..5344e093e --- /dev/null +++ b/wandb/run-20260706_003500-qtt8p5nt/files/config.yaml @@ -0,0 +1,208 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + j0yp0oup48o4y5ygipytp4uly9uwz9s7: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - transformer + - --embedding-dim + - "64" + - --hidden-dim + - "64" + - --heads + - "4" + - --num-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15926120448" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-06T05:35:00.005931Z" + writerId: j0yp0oup48o4y5ygipytp4uly9uwz9s7 + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +data/n_neg_test: + value: 17197 +data/n_neg_total: + value: 172131 +data/n_neg_train: + value: 137687 +data/n_neg_val: + value: 17247 +data/n_pos_test: + value: 877 +data/n_pos_total: + value: 8602 +data/n_pos_train: + value: 6899 +data/n_pos_val: + value: 826 +data/n_test: + value: 18074 +data/n_total: + value: 180733 +data/n_train: + value: 144586 +data/n_val: + value: 18073 +data/pos_rate_test: + value: 0.04852273984729446 +data/pos_rate_total: + value: 0.047595071182351865 +data/pos_rate_train: + value: 0.04771554645678005 +data/pos_rate_val: + value: 0.04570353566093067 +dev_mode: + value: false +exp_name: + value: transformer_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: transformer +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260706_003500-qtt8p5nt/files/requirements.txt b/wandb/run-20260706_003500-qtt8p5nt/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260706_003500-qtt8p5nt/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260706_003500-qtt8p5nt/files/wandb-metadata.json b/wandb/run-20260706_003500-qtt8p5nt/files/wandb-metadata.json new file mode 100644 index 000000000..4e45357e6 --- /dev/null +++ b/wandb/run-20260706_003500-qtt8p5nt/files/wandb-metadata.json @@ -0,0 +1,127 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-06T05:35:00.005931Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "transformer", + "--embedding-dim", + "64", + "--hidden-dim", + "64", + "--heads", + "4", + "--num-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15926120448" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "j0yp0oup48o4y5ygipytp4uly9uwz9s7" +} \ No newline at end of file diff --git a/wandb/run-20260706_003500-qtt8p5nt/files/wandb-summary.json b/wandb/run-20260706_003500-qtt8p5nt/files/wandb-summary.json new file mode 100644 index 000000000..b9f0b4ec6 --- /dev/null +++ b/wandb/run-20260706_003500-qtt8p5nt/files/wandb-summary.json @@ -0,0 +1 @@ +{"val_f1":0.5285379202501954,"_runtime":2068.907608139,"_step":15,"train_loss":0.11486118818489201,"val_pr_auc":0.587121664919961,"val_roc_auc":0.9194649215058069,"val_loss":0.11249546522884506,"train_vram_allocated_mb":17.42041015625,"epoch_time_s":120.947,"val_accuracy":0.9666353123443812,"_wandb":{"runtime":2068},"_timestamp":1.7833181601982453e+09,"epoch":15,"global_step":72304,"train_vram_peak_mb":27835.92724609375} \ No newline at end of file diff --git a/wandb/run-20260706_003500-qtt8p5nt/run-qtt8p5nt.wandb b/wandb/run-20260706_003500-qtt8p5nt/run-qtt8p5nt.wandb new file mode 100644 index 000000000..3aee362f9 Binary files /dev/null and b/wandb/run-20260706_003500-qtt8p5nt/run-qtt8p5nt.wandb differ diff --git a/wandb/run-20260709_075941-6tix8xfj/files/config.yaml b/wandb/run-20260709_075941-6tix8xfj/files/config.yaml new file mode 100644 index 000000000..8cef2fb92 --- /dev/null +++ b/wandb/run-20260709_075941-6tix8xfj/files/config.yaml @@ -0,0 +1,214 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + qckf2oaltjxv63411k18pz5dgotnwnp3: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - bottleneck_transformer + - --embedding-dim + - "64" + - --hidden-dim + - "64" + - --heads + - "4" + - --num-layers + - "2" + - --bottlenecks-n + - "4" + - --fusion-startidx + - "1" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --max-grad-norm + - "0.5" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15992446976" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-09T12:59:41.103820Z" + writerId: qckf2oaltjxv63411k18pz5dgotnwnp3 + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +data/n_neg_test: + value: 17197 +data/n_neg_total: + value: 172131 +data/n_neg_train: + value: 137687 +data/n_neg_val: + value: 17247 +data/n_pos_test: + value: 877 +data/n_pos_total: + value: 8602 +data/n_pos_train: + value: 6899 +data/n_pos_val: + value: 826 +data/n_test: + value: 18074 +data/n_total: + value: 180733 +data/n_train: + value: 144586 +data/n_val: + value: 18073 +data/pos_rate_test: + value: 0.04852273984729446 +data/pos_rate_total: + value: 0.047595071182351865 +data/pos_rate_train: + value: 0.04771554645678005 +data/pos_rate_val: + value: 0.04570353566093067 +dev_mode: + value: false +exp_name: + value: bottleneck_transformer_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: bottleneck_transformer +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260709_075941-6tix8xfj/files/requirements.txt b/wandb/run-20260709_075941-6tix8xfj/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260709_075941-6tix8xfj/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260709_075941-6tix8xfj/files/wandb-metadata.json b/wandb/run-20260709_075941-6tix8xfj/files/wandb-metadata.json new file mode 100644 index 000000000..15261af46 --- /dev/null +++ b/wandb/run-20260709_075941-6tix8xfj/files/wandb-metadata.json @@ -0,0 +1,133 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-09T12:59:41.103820Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "bottleneck_transformer", + "--embedding-dim", + "64", + "--hidden-dim", + "64", + "--heads", + "4", + "--num-layers", + "2", + "--bottlenecks-n", + "4", + "--fusion-startidx", + "1", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--max-grad-norm", + "0.5", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15992446976" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "qckf2oaltjxv63411k18pz5dgotnwnp3" +} \ No newline at end of file diff --git a/wandb/run-20260709_075941-6tix8xfj/files/wandb-summary.json b/wandb/run-20260709_075941-6tix8xfj/files/wandb-summary.json new file mode 100644 index 000000000..a6d5755ee --- /dev/null +++ b/wandb/run-20260709_075941-6tix8xfj/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":941},"val_accuracy":0.9568970287168704,"global_step":36152,"_timestamp":1.7836029155096333e+09,"epoch_time_s":113.818,"val_pr_auc":0.3816664877599453,"_step":7,"train_vram_allocated_mb":18.37109375,"val_roc_auc":0.8874258020940864,"epoch":7,"_runtime":941.223895169,"val_f1":0.14676889375684557,"val_loss":0.13282482986363162,"train_vram_peak_mb":1034.2265625,"train_loss":0.13406056100859146} \ No newline at end of file diff --git a/wandb/run-20260709_075941-6tix8xfj/run-6tix8xfj.wandb b/wandb/run-20260709_075941-6tix8xfj/run-6tix8xfj.wandb new file mode 100644 index 000000000..0366fc358 Binary files /dev/null and b/wandb/run-20260709_075941-6tix8xfj/run-6tix8xfj.wandb differ diff --git a/wandb/run-20260709_084129-zwavnt2y/files/config.yaml b/wandb/run-20260709_084129-zwavnt2y/files/config.yaml new file mode 100644 index 000000000..b223a3ad9 --- /dev/null +++ b/wandb/run-20260709_084129-zwavnt2y/files/config.yaml @@ -0,0 +1,208 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + 23wt9flz2nbfkcb03ru6ayy0fq87jz7l: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - ehrmamba + - --embedding-dim + - "64" + - --num-layers + - "2" + - --mamba-state-size + - "16" + - --mamba-conv-kernel + - "4" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15992516608" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-09T13:41:29.980901Z" + writerId: 23wt9flz2nbfkcb03ru6ayy0fq87jz7l + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +data/n_neg_test: + value: 17197 +data/n_neg_total: + value: 172131 +data/n_neg_train: + value: 137687 +data/n_neg_val: + value: 17247 +data/n_pos_test: + value: 877 +data/n_pos_total: + value: 8602 +data/n_pos_train: + value: 6899 +data/n_pos_val: + value: 826 +data/n_test: + value: 18074 +data/n_total: + value: 180733 +data/n_train: + value: 144586 +data/n_val: + value: 18073 +data/pos_rate_test: + value: 0.04852273984729446 +data/pos_rate_total: + value: 0.047595071182351865 +data/pos_rate_train: + value: 0.04771554645678005 +data/pos_rate_val: + value: 0.04570353566093067 +dev_mode: + value: false +exp_name: + value: ehrmamba_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: ehrmamba +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260709_084129-zwavnt2y/files/requirements.txt b/wandb/run-20260709_084129-zwavnt2y/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260709_084129-zwavnt2y/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260709_084129-zwavnt2y/files/wandb-metadata.json b/wandb/run-20260709_084129-zwavnt2y/files/wandb-metadata.json new file mode 100644 index 000000000..ccbf644bd --- /dev/null +++ b/wandb/run-20260709_084129-zwavnt2y/files/wandb-metadata.json @@ -0,0 +1,127 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-09T13:41:29.980901Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "ehrmamba", + "--embedding-dim", + "64", + "--num-layers", + "2", + "--mamba-state-size", + "16", + "--mamba-conv-kernel", + "4", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15992516608" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "23wt9flz2nbfkcb03ru6ayy0fq87jz7l" +} \ No newline at end of file diff --git a/wandb/run-20260709_084129-zwavnt2y/files/wandb-summary.json b/wandb/run-20260709_084129-zwavnt2y/files/wandb-summary.json new file mode 100644 index 000000000..576edb04e --- /dev/null +++ b/wandb/run-20260709_084129-zwavnt2y/files/wandb-summary.json @@ -0,0 +1 @@ +{"_step":28,"epoch":28,"_timestamp":1.7836081585907967e+09,"_wandb":{"runtime":3674},"_runtime":3674.76575785,"val_loss":0.10117696542787341,"train_vram_peak_mb":1201.97607421875,"val_roc_auc":0.9249758634375267,"train_loss":0.10581304661364507,"val_f1":0.5106022052586938,"epoch_time_s":117.448,"val_accuracy":0.9680739224257179,"train_vram_allocated_mb":18.49853515625,"global_step":131051,"val_pr_auc":0.6226378916971728} \ No newline at end of file diff --git a/wandb/run-20260709_084129-zwavnt2y/run-zwavnt2y.wandb b/wandb/run-20260709_084129-zwavnt2y/run-zwavnt2y.wandb new file mode 100644 index 000000000..923514f65 Binary files /dev/null and b/wandb/run-20260709_084129-zwavnt2y/run-zwavnt2y.wandb differ diff --git a/wandb/run-20260709_100158-shou8a8s/files/config.yaml b/wandb/run-20260709_100158-shou8a8s/files/config.yaml new file mode 100644 index 000000000..37107aeb2 --- /dev/null +++ b/wandb/run-20260709_100158-shou8a8s/files/config.yaml @@ -0,0 +1,208 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + 6lquc348m0jilcaa1sixo3l7k7b94lks: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - ehrmamba + - --embedding-dim + - "64" + - --num-layers + - "2" + - --mamba-state-size + - "16" + - --mamba-conv-kernel + - "4" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15993667584" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-09T15:01:58.665622Z" + writerId: 6lquc348m0jilcaa1sixo3l7k7b94lks + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +data/n_neg_test: + value: 17197 +data/n_neg_total: + value: 172131 +data/n_neg_train: + value: 137687 +data/n_neg_val: + value: 17247 +data/n_pos_test: + value: 877 +data/n_pos_total: + value: 8602 +data/n_pos_train: + value: 6899 +data/n_pos_val: + value: 826 +data/n_test: + value: 18074 +data/n_total: + value: 180733 +data/n_train: + value: 144586 +data/n_val: + value: 18073 +data/pos_rate_test: + value: 0.04852273984729446 +data/pos_rate_total: + value: 0.047595071182351865 +data/pos_rate_train: + value: 0.04771554645678005 +data/pos_rate_val: + value: 0.04570353566093067 +dev_mode: + value: false +exp_name: + value: ehrmamba_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: ehrmamba +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260709_100158-shou8a8s/files/requirements.txt b/wandb/run-20260709_100158-shou8a8s/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260709_100158-shou8a8s/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260709_100158-shou8a8s/files/wandb-metadata.json b/wandb/run-20260709_100158-shou8a8s/files/wandb-metadata.json new file mode 100644 index 000000000..a048e6359 --- /dev/null +++ b/wandb/run-20260709_100158-shou8a8s/files/wandb-metadata.json @@ -0,0 +1,127 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-09T15:01:58.665622Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "ehrmamba", + "--embedding-dim", + "64", + "--num-layers", + "2", + "--mamba-state-size", + "16", + "--mamba-conv-kernel", + "4", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15993667584" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "6lquc348m0jilcaa1sixo3l7k7b94lks" +} \ No newline at end of file diff --git a/wandb/run-20260709_100158-shou8a8s/files/wandb-summary.json b/wandb/run-20260709_100158-shou8a8s/files/wandb-summary.json new file mode 100644 index 000000000..7be092d4e --- /dev/null +++ b/wandb/run-20260709_100158-shou8a8s/files/wandb-summary.json @@ -0,0 +1 @@ +{"_runtime":3610.742152168,"train_vram_allocated_mb":18.49853515625,"val_accuracy":0.9680739224257179,"val_pr_auc":0.6226378916971728,"train_vram_peak_mb":1201.97607421875,"_step":28,"epoch":28,"epoch_time_s":116.148,"global_step":131051,"val_f1":0.5106022052586938,"_timestamp":1.7836129221090653e+09,"val_loss":0.10117696542787341,"val_roc_auc":0.9249758634375267,"_wandb":{"runtime":3610},"train_loss":0.10581304661364507} \ No newline at end of file diff --git a/wandb/run-20260709_100158-shou8a8s/run-shou8a8s.wandb b/wandb/run-20260709_100158-shou8a8s/run-shou8a8s.wandb new file mode 100644 index 000000000..9a44e7bbf Binary files /dev/null and b/wandb/run-20260709_100158-shou8a8s/run-shou8a8s.wandb differ diff --git a/wandb/run-20260709_121536-o96vhptf/files/config.yaml b/wandb/run-20260709_121536-o96vhptf/files/config.yaml new file mode 100644 index 000000000..1f4cddbef --- /dev/null +++ b/wandb/run-20260709_121536-o96vhptf/files/config.yaml @@ -0,0 +1,212 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + 029m4i5aoeymxrchhou5j0mvz2rz22qo: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - jambaehr + - --embedding-dim + - "64" + - --heads + - "4" + - --jamba-transformer-layers + - "2" + - --jamba-mamba-layers + - "6" + - --mamba-state-size + - "16" + - --mamba-conv-kernel + - "4" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15995015168" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 10fabcefeadfd7a87586e898f5250aff0166aed2 + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-09T17:15:36.083502Z" + writerId: 029m4i5aoeymxrchhou5j0mvz2rz22qo + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +arch/embedding_dim: + value: 64 +arch/hidden_dim: + value: 64 +arch/rnn_layers: + value: 1 +arch/rnn_type: + value: GRU +data/cache_dir: + value: /home/wp14/pyhealth_cache_labs +data/n_neg_test: + value: 17197 +data/n_neg_total: + value: 172131 +data/n_neg_train: + value: 137687 +data/n_neg_val: + value: 17247 +data/n_pos_test: + value: 877 +data/n_pos_total: + value: 8602 +data/n_pos_train: + value: 6899 +data/n_pos_val: + value: 826 +data/n_test: + value: 18074 +data/n_total: + value: 180733 +data/n_train: + value: 144586 +data/n_val: + value: 18073 +data/pos_rate_test: + value: 0.04852273984729446 +data/pos_rate_total: + value: 0.047595071182351865 +data/pos_rate_train: + value: 0.04771554645678005 +data/pos_rate_val: + value: 0.04570353566093067 +dev_mode: + value: false +exp_name: + value: jambaehr_seed12 +hp/batch_size: + value: 32 +hp/dropout: + value: 0.1 +hp/epochs: + value: 50 +hp/lr: + value: 0.001 +hp/weight_decay: + value: 1e-05 +model: + value: jambaehr +paths/ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +paths/output_dir: + value: /home/wp14/output +seed: + value: 12 +task: + value: labs diff --git a/wandb/run-20260709_121536-o96vhptf/files/requirements.txt b/wandb/run-20260709_121536-o96vhptf/files/requirements.txt new file mode 100644 index 000000000..05fdbfec4 --- /dev/null +++ b/wandb/run-20260709_121536-o96vhptf/files/requirements.txt @@ -0,0 +1,221 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 diff --git a/wandb/run-20260709_121536-o96vhptf/files/wandb-metadata.json b/wandb/run-20260709_121536-o96vhptf/files/wandb-metadata.json new file mode 100644 index 000000000..5df9eb7bd --- /dev/null +++ b/wandb/run-20260709_121536-o96vhptf/files/wandb-metadata.json @@ -0,0 +1,131 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-09T17:15:36.083502Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "jambaehr", + "--embedding-dim", + "64", + "--heads", + "4", + "--jamba-transformer-layers", + "2", + "--jamba-mamba-layers", + "6", + "--mamba-state-size", + "16", + "--mamba-conv-kernel", + "4", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "10fabcefeadfd7a87586e898f5250aff0166aed2" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15995015168" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "029m4i5aoeymxrchhou5j0mvz2rz22qo" +} \ No newline at end of file diff --git a/wandb/run-20260709_121536-o96vhptf/files/wandb-summary.json b/wandb/run-20260709_121536-o96vhptf/files/wandb-summary.json new file mode 100644 index 000000000..6aaa62846 --- /dev/null +++ b/wandb/run-20260709_121536-o96vhptf/files/wandb-summary.json @@ -0,0 +1 @@ +{"train_vram_peak_mb":30905.638671875,"global_step":76823,"train_vram_allocated_mb":24.09423828125,"val_roc_auc":0.9268825711486337,"val_pr_auc":0.6154380670463732,"val_accuracy":0.9664139877164831,"train_loss":0.10747217934584427,"epoch_time_s":230.618,"val_loss":0.10395209964166964,"_wandb":{"runtime":4134},"_timestamp":1.7836214602059822e+09,"_step":16,"_runtime":4134.879882944,"val_f1":0.5716302046577276,"epoch":16} \ No newline at end of file diff --git a/wandb/run-20260709_121536-o96vhptf/run-o96vhptf.wandb b/wandb/run-20260709_121536-o96vhptf/run-o96vhptf.wandb new file mode 100644 index 000000000..a87c8c5d1 Binary files /dev/null and b/wandb/run-20260709_121536-o96vhptf/run-o96vhptf.wandb differ diff --git a/wandb/run-20260714_234904-mj2wwse4/files/config.yaml b/wandb/run-20260714_234904-mj2wwse4/files/config.yaml new file mode 100644 index 000000000..109321f23 --- /dev/null +++ b/wandb/run-20260714_234904-mj2wwse4/files/config.yaml @@ -0,0 +1,228 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + tt0qgyvtwsznu5isg930c9z2wtm7ruef: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - rnn + - --embedding-dim + - "128" + - --hidden-dim + - "128" + - --rnn-type + - GRU + - --rnn-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-only + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15968632832" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: e24eec4a62ad0ad1ca875ad5fd100f36e1879e9b + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-15T04:49:04.128965Z" + writerId: tt0qgyvtwsznu5isg930c9z2wtm7ruef + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 16 + - 61 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /home/wp14/pyhealth_cache_labs +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 128 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 128 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: rnn +note_root: + value: null +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: null +rnn_layers: + value: 2 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-only +wandb_run_name: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260714_234904-mj2wwse4/files/requirements.txt b/wandb/run-20260714_234904-mj2wwse4/files/requirements.txt new file mode 100644 index 000000000..d84484f0e --- /dev/null +++ b/wandb/run-20260714_234904-mj2wwse4/files/requirements.txt @@ -0,0 +1,224 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 diff --git a/wandb/run-20260714_234904-mj2wwse4/files/wandb-metadata.json b/wandb/run-20260714_234904-mj2wwse4/files/wandb-metadata.json new file mode 100644 index 000000000..e7a4c113d --- /dev/null +++ b/wandb/run-20260714_234904-mj2wwse4/files/wandb-metadata.json @@ -0,0 +1,128 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-15T04:49:04.128965Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-only", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "e24eec4a62ad0ad1ca875ad5fd100f36e1879e9b" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15968632832" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "tt0qgyvtwsznu5isg930c9z2wtm7ruef" +} \ No newline at end of file diff --git a/wandb/run-20260714_234904-mj2wwse4/files/wandb-summary.json b/wandb/run-20260714_234904-mj2wwse4/files/wandb-summary.json new file mode 100644 index 000000000..cf2786445 --- /dev/null +++ b/wandb/run-20260714_234904-mj2wwse4/files/wandb-summary.json @@ -0,0 +1 @@ +{"epoch_time_s":131.711,"test_pr_auc":0.6307183030345935,"_step":14,"test_loss":0.10761349875051364,"_wandb":{"runtime":1956},"_timestamp":1.7840929012398996e+09,"test_accuracy":0.9673010954962931,"train_vram_peak_mb":967.111328125,"val_f1":0.5570209464701319,"test_roc_auc":0.9193072775481443,"_runtime":1956,"global_step":63266,"pos_weight":10,"val_pr_auc":0.6136443695006331,"train_vram_allocated_mb":22.46337890625,"test_f1":0.5245374094931617,"val_roc_auc":0.9238255774138212,"val_loss":0.10250611246225581,"train_loss":0.1074708191769432,"val_accuracy":0.9684059093675649,"epoch":13} \ No newline at end of file diff --git a/wandb/run-20260714_234904-mj2wwse4/run-mj2wwse4.wandb b/wandb/run-20260714_234904-mj2wwse4/run-mj2wwse4.wandb new file mode 100644 index 000000000..ee4958a47 Binary files /dev/null and b/wandb/run-20260714_234904-mj2wwse4/run-mj2wwse4.wandb differ diff --git a/wandb/run-20260715_091251-mdnjqwik/files/config.yaml b/wandb/run-20260715_091251-mdnjqwik/files/config.yaml new file mode 100644 index 000000000..a3a403b14 --- /dev/null +++ b/wandb/run-20260715_091251-mdnjqwik/files/config.yaml @@ -0,0 +1,228 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + 1q8c2vgnjxiob0aki7xrpslgolctxedk: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --note-root + - /shared/rsaas/physionet.org/files/mimic-note + - --cache-dir + - /home/wp14/pyhealth_cache_labs_notes + - --task + - notes_labs + - --model + - rnn + - --embedding-dim + - "128" + - --hidden-dim + - "128" + - --rnn-type + - GRU + - --rnn-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-notes + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15979868160" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: e24eec4a62ad0ad1ca875ad5fd100f36e1879e9b + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-15T14:12:51.592196Z" + writerId: 1q8c2vgnjxiob0aki7xrpslgolctxedk + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 13 + - 16 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /home/wp14/pyhealth_cache_labs_notes +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 128 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 128 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: rnn +note_root: + value: /shared/rsaas/physionet.org/files/mimic-note +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: null +rnn_layers: + value: 2 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: notes_labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-notes +wandb_run_name: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260715_091251-mdnjqwik/files/requirements.txt b/wandb/run-20260715_091251-mdnjqwik/files/requirements.txt new file mode 100644 index 000000000..d84484f0e --- /dev/null +++ b/wandb/run-20260715_091251-mdnjqwik/files/requirements.txt @@ -0,0 +1,224 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 diff --git a/wandb/run-20260715_091251-mdnjqwik/files/wandb-metadata.json b/wandb/run-20260715_091251-mdnjqwik/files/wandb-metadata.json new file mode 100644 index 000000000..faf84ac8a --- /dev/null +++ b/wandb/run-20260715_091251-mdnjqwik/files/wandb-metadata.json @@ -0,0 +1,130 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-15T14:12:51.592196Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--note-root", + "/shared/rsaas/physionet.org/files/mimic-note", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs_notes", + "--task", + "notes_labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-notes", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "e24eec4a62ad0ad1ca875ad5fd100f36e1879e9b" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15979868160" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "1q8c2vgnjxiob0aki7xrpslgolctxedk" +} \ No newline at end of file diff --git a/wandb/run-20260715_091251-mdnjqwik/files/wandb-summary.json b/wandb/run-20260715_091251-mdnjqwik/files/wandb-summary.json new file mode 100644 index 000000000..2320ce951 --- /dev/null +++ b/wandb/run-20260715_091251-mdnjqwik/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":8},"_runtime":8} \ No newline at end of file diff --git a/wandb/run-20260715_091251-mdnjqwik/run-mdnjqwik.wandb b/wandb/run-20260715_091251-mdnjqwik/run-mdnjqwik.wandb new file mode 100644 index 000000000..b0993c60a Binary files /dev/null and b/wandb/run-20260715_091251-mdnjqwik/run-mdnjqwik.wandb differ diff --git a/wandb/run-20260715_100021-b532gynt/files/config.yaml b/wandb/run-20260715_100021-b532gynt/files/config.yaml new file mode 100644 index 000000000..71dc27c4d --- /dev/null +++ b/wandb/run-20260715_100021-b532gynt/files/config.yaml @@ -0,0 +1,228 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + u65w6ylqiu9k9sr922tbd8n6pj9y9pdn: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --note-root + - /shared/rsaas/physionet.org/files/mimic-note + - --cache-dir + - /home/wp14/pyhealth_cache_labs_notes + - --task + - notes_labs + - --model + - rnn + - --embedding-dim + - "128" + - --hidden-dim + - "128" + - --rnn-type + - GRU + - --rnn-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "0.001" + - --weight-decay + - "1e-05" + - --patience + - "5" + - --num-workers + - "4" + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-notes + - --seed + - "12" + - --output-dir + - /home/wp14/output + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 64 + cpu_count_logical: 128 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "15981236224" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: e24eec4a62ad0ad1ca875ad5fd100f36e1879e9b + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX A6000 + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-7209ddee-de68-a17a-f65b-ac0f42256c43 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951 + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-b4e56019-e74d-298f-6c79-cdd64e15066e + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc + - architecture: Ampere + cudaCores: 10752 + memoryTotal: "51527024640" + name: NVIDIA RTX A6000 + uuid: GPU-12357f2c-fb85-9d97-90b0-a241510c022d + host: sunlab-serv-03.cs.illinois.edu + memory: + total: "1081502597120" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.13 + root: /home/wp14/PyHealth + startedAt: "2026-07-15T15:00:21.437575Z" + writerId: u65w6ylqiu9k9sr922tbd8n6pj9y9pdn + m: [] + python_version: 3.12.13 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 13 + - 16 + "4": 3.12.13 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /home/wp14/pyhealth_cache_labs_notes +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 128 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 128 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: rnn +note_root: + value: /shared/rsaas/physionet.org/files/mimic-note +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: null +rnn_layers: + value: 2 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: notes_labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-notes +wandb_run_name: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260715_100021-b532gynt/files/requirements.txt b/wandb/run-20260715_100021-b532gynt/files/requirements.txt new file mode 100644 index 000000000..d84484f0e --- /dev/null +++ b/wandb/run-20260715_100021-b532gynt/files/requirements.txt @@ -0,0 +1,224 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 diff --git a/wandb/run-20260715_100021-b532gynt/files/wandb-metadata.json b/wandb/run-20260715_100021-b532gynt/files/wandb-metadata.json new file mode 100644 index 000000000..734a33244 --- /dev/null +++ b/wandb/run-20260715_100021-b532gynt/files/wandb-metadata.json @@ -0,0 +1,130 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.13", + "startedAt": "2026-07-15T15:00:21.437575Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--note-root", + "/shared/rsaas/physionet.org/files/mimic-note", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs_notes", + "--task", + "notes_labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "0.001", + "--weight-decay", + "1e-05", + "--patience", + "5", + "--num-workers", + "4", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-notes", + "--seed", + "12", + "--output-dir", + "/home/wp14/output" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "e24eec4a62ad0ad1ca875ad5fd100f36e1879e9b" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-serv-03.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 64, + "cpu_count_logical": 128, + "gpu": "NVIDIA RTX A6000", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "15981236224" + } + }, + "memory": { + "total": "1081502597120" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-29a27c7b-cd4b-9728-9cdc-7102f77d4548" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a34186de-ecc3-56c6-0e8f-ff8cfa0cc7b2" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-a733f3f6-b964-ca65-58ce-c7f32a13d7dc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-7209ddee-de68-a17a-f65b-ac0f42256c43" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fcf1f5ff-fc35-4cb4-fab0-dc9a5b6b6951" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-b4e56019-e74d-298f-6c79-cdd64e15066e" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-fbc6d802-bed5-9722-0929-a9cfd4d6b7bc" + }, + { + "name": "NVIDIA RTX A6000", + "memoryTotal": "51527024640", + "cudaCores": 10752, + "architecture": "Ampere", + "uuid": "GPU-12357f2c-fb85-9d97-90b0-a241510c022d" + } + ], + "cudaVersion": "13.0", + "writerId": "u65w6ylqiu9k9sr922tbd8n6pj9y9pdn" +} \ No newline at end of file diff --git a/wandb/run-20260715_100021-b532gynt/files/wandb-summary.json b/wandb/run-20260715_100021-b532gynt/files/wandb-summary.json new file mode 100644 index 000000000..2320ce951 --- /dev/null +++ b/wandb/run-20260715_100021-b532gynt/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":8},"_runtime":8} \ No newline at end of file diff --git a/wandb/run-20260715_100021-b532gynt/run-b532gynt.wandb b/wandb/run-20260715_100021-b532gynt/run-b532gynt.wandb new file mode 100644 index 000000000..f46f4d96c Binary files /dev/null and b/wandb/run-20260715_100021-b532gynt/run-b532gynt.wandb differ diff --git a/wandb/run-20260727_160331-uvc6o5zs/files/config.yaml b/wandb/run-20260727_160331-uvc6o5zs/files/config.yaml new file mode 100644 index 000000000..a97cf5483 --- /dev/null +++ b/wandb/run-20260727_160331-uvc6o5zs/files/config.yaml @@ -0,0 +1,228 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + 9k1337aubrwyt6p3hccyqsldgaosggxk: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /shared/eng/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - rnn + - --embedding-dim + - "128" + - --hidden-dim + - "128" + - --rnn-type + - GRU + - --rnn-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "1e-3" + - --weight-decay + - "1e-5" + - --patience + - "5" + - --num-workers + - "4" + - --seed + - "12" + - --output-dir + - /home/wp14/output + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-only + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 128 + cpu_count_logical: 255 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "9631342592" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 311a149fa5b0b01a248ce08d3c4ec66793cb9b6e + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX 6000 Ada Generation + gpu_count: 8 + gpu_nvidia: + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-25605dab-2bad-abf9-2f36-f0be6e776096 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-39ac7920-1d83-d4cf-c056-920c82599e52 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-6a135207-d247-4118-1218-1e2321919d87 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-583da23f-53e9-cf5f-2f63-7115778d21bf + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8 + host: sunlab-c02.cs.illinois.edu + memory: + total: "1081448284160" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.9 + root: /home/wp14/PyHealth + startedAt: "2026-07-27T21:03:31.843087Z" + writerId: 9k1337aubrwyt6p3hccyqsldgaosggxk + m: [] + python_version: 3.12.9 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 16 + - 61 + "4": 3.12.9 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /shared/eng/wp14/pyhealth_cache_labs +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 128 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 128 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: rnn +note_root: + value: null +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: null +rnn_layers: + value: 2 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-only +wandb_run_name: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260727_160331-uvc6o5zs/files/requirements.txt b/wandb/run-20260727_160331-uvc6o5zs/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260727_160331-uvc6o5zs/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260727_160331-uvc6o5zs/files/wandb-metadata.json b/wandb/run-20260727_160331-uvc6o5zs/files/wandb-metadata.json new file mode 100644 index 000000000..5665d06a5 --- /dev/null +++ b/wandb/run-20260727_160331-uvc6o5zs/files/wandb-metadata.json @@ -0,0 +1,128 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-27T21:03:31.843087Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/shared/eng/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-only" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9631342592" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "9k1337aubrwyt6p3hccyqsldgaosggxk" +} \ No newline at end of file diff --git a/wandb/run-20260727_160331-uvc6o5zs/files/wandb-summary.json b/wandb/run-20260727_160331-uvc6o5zs/files/wandb-summary.json new file mode 100644 index 000000000..58f27969c --- /dev/null +++ b/wandb/run-20260727_160331-uvc6o5zs/files/wandb-summary.json @@ -0,0 +1 @@ +{"test_pr_auc":0.6361709564058009,"val_roc_auc":0.9232587939709063,"epoch_time_s":147.761,"_runtime":3215,"pos_weight":10,"_timestamp":1.7851894287001421e+09,"test_accuracy":0.9668031426358304,"train_vram_allocated_mb":23.54931640625,"train_loss":0.1062656084620061,"val_pr_auc":0.6192477881133135,"epoch":19,"test_loss":0.10728481448527459,"test_roc_auc":0.9207827507695016,"test_f1":0.5238095238095238,"train_vram_peak_mb":968.197265625,"_wandb":{"runtime":3215},"global_step":90380,"val_loss":0.10286682227675893,"_step":20,"val_f1":0.5572998430141287,"val_accuracy":0.9687932274663863} \ No newline at end of file diff --git a/wandb/run-20260727_160331-uvc6o5zs/run-uvc6o5zs.wandb b/wandb/run-20260727_160331-uvc6o5zs/run-uvc6o5zs.wandb new file mode 100644 index 000000000..18ade5b11 Binary files /dev/null and b/wandb/run-20260727_160331-uvc6o5zs/run-uvc6o5zs.wandb differ diff --git a/wandb/run-20260727_181747-bz7db0ct/files/config.yaml b/wandb/run-20260727_181747-bz7db0ct/files/config.yaml new file mode 100644 index 000000000..ed0406036 --- /dev/null +++ b/wandb/run-20260727_181747-bz7db0ct/files/config.yaml @@ -0,0 +1,235 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + ng73agh8nenn2b9jmunr6xvc35z4p1o4: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - rnn + - --embedding-dim + - "64" + - --hidden-dim + - "64" + - --rnn-type + - GRU + - --rnn-layers + - "1" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "1e-3" + - --weight-decay + - "1e-5" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-only + - --wandb-run-name + - labs_rnn_seed12 + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 128 + cpu_count_logical: 255 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "9632202752" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 311a149fa5b0b01a248ce08d3c4ec66793cb9b6e + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX 6000 Ada Generation + gpu_count: 8 + gpu_nvidia: + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-25605dab-2bad-abf9-2f36-f0be6e776096 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-39ac7920-1d83-d4cf-c056-920c82599e52 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-6a135207-d247-4118-1218-1e2321919d87 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-583da23f-53e9-cf5f-2f63-7115778d21bf + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8 + host: sunlab-c02.cs.illinois.edu + memory: + total: "1081448284160" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.9 + root: /home/wp14/PyHealth + startedAt: "2026-07-27T23:17:47.555043Z" + writerId: ng73agh8nenn2b9jmunr6xvc35z4p1o4 + m: [] + python_version: 3.12.9 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.9 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /home/wp14/pyhealth_cache_labs +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 64 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 64 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: rnn +note_root: + value: null +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: 1 +rnn_layers: + value: 1 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-only +wandb_run_name: + value: labs_rnn_seed12 +wandb_tags: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260727_181747-bz7db0ct/files/requirements.txt b/wandb/run-20260727_181747-bz7db0ct/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260727_181747-bz7db0ct/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260727_181747-bz7db0ct/files/wandb-metadata.json b/wandb/run-20260727_181747-bz7db0ct/files/wandb-metadata.json new file mode 100644 index 000000000..92a66fb1b --- /dev/null +++ b/wandb/run-20260727_181747-bz7db0ct/files/wandb-metadata.json @@ -0,0 +1,132 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-27T23:17:47.555043Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "rnn", + "--embedding-dim", + "64", + "--hidden-dim", + "64", + "--rnn-type", + "GRU", + "--rnn-layers", + "1", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-only", + "--wandb-run-name", + "labs_rnn_seed12" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9632202752" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "ng73agh8nenn2b9jmunr6xvc35z4p1o4" +} \ No newline at end of file diff --git a/wandb/run-20260727_181747-bz7db0ct/files/wandb-summary.json b/wandb/run-20260727_181747-bz7db0ct/files/wandb-summary.json new file mode 100644 index 000000000..bdf8c470f --- /dev/null +++ b/wandb/run-20260727_181747-bz7db0ct/files/wandb-summary.json @@ -0,0 +1 @@ +{"epoch_time_s":125.353,"pos_weight":1,"_step":19,"test_f1":0.5792811839323467,"_wandb":{"runtime":2558},"test_pr_auc":0.6359263002799863,"val_f1":0.5513428120063191,"train_loss":0.10677212555209575,"val_loss":0.10355841470799879,"test_loss":0.10590764887103465,"val_roc_auc":0.9180975573391645,"val_pr_auc":0.6123994325554514,"train_vram_peak_mb":338.56591796875,"train_vram_allocated_mb":16.5615234375,"_timestamp":1.7851968266284647e+09,"global_step":85861,"epoch":18,"test_accuracy":0.9669691269226514,"val_accuracy":0.9685719028384884,"test_roc_auc":0.9212930525590202,"_runtime":2558} \ No newline at end of file diff --git a/wandb/run-20260727_181747-bz7db0ct/run-bz7db0ct.wandb b/wandb/run-20260727_181747-bz7db0ct/run-bz7db0ct.wandb new file mode 100644 index 000000000..beaa316df Binary files /dev/null and b/wandb/run-20260727_181747-bz7db0ct/run-bz7db0ct.wandb differ diff --git a/wandb/run-20260728_084144-osiqkb7a/files/config.yaml b/wandb/run-20260728_084144-osiqkb7a/files/config.yaml new file mode 100644 index 000000000..31d3b4c0d --- /dev/null +++ b/wandb/run-20260728_084144-osiqkb7a/files/config.yaml @@ -0,0 +1,233 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + rgls97wpxhefl9injir90n0dc4vu2mzr: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --cache-dir + - /home/wp14/pyhealth_cache_labs + - --task + - labs + - --model + - transformer + - --embedding-dim + - "64" + - --heads + - "4" + - --num-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "1e-3" + - --weight-decay + - "1e-5" + - --patience + - "5" + - --num-workers + - "4" + - --pos-weight + - "1.0" + - --seed + - "12" + - --output-dir + - /home/wp14/output + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-only + - --wandb-run-name + - labs_transformer_seed12 + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 128 + cpu_count_logical: 255 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "9641213952" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 311a149fa5b0b01a248ce08d3c4ec66793cb9b6e + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX 6000 Ada Generation + gpu_count: 8 + gpu_nvidia: + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-25605dab-2bad-abf9-2f36-f0be6e776096 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-39ac7920-1d83-d4cf-c056-920c82599e52 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-6a135207-d247-4118-1218-1e2321919d87 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-583da23f-53e9-cf5f-2f63-7115778d21bf + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8 + host: sunlab-c02.cs.illinois.edu + memory: + total: "1081448284160" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.9 + root: /home/wp14/PyHealth + startedAt: "2026-07-28T13:41:44.626252Z" + writerId: rgls97wpxhefl9injir90n0dc4vu2mzr + m: [] + python_version: 3.12.9 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 2 + - 13 + - 15 + - 16 + - 61 + "4": 3.12.9 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /home/wp14/pyhealth_cache_labs +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 64 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 64 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: transformer +note_root: + value: null +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: 1 +rnn_layers: + value: 1 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-only +wandb_run_name: + value: labs_transformer_seed12 +wandb_tags: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260728_084144-osiqkb7a/files/requirements.txt b/wandb/run-20260728_084144-osiqkb7a/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260728_084144-osiqkb7a/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260728_084144-osiqkb7a/files/wandb-metadata.json b/wandb/run-20260728_084144-osiqkb7a/files/wandb-metadata.json new file mode 100644 index 000000000..931c0318c --- /dev/null +++ b/wandb/run-20260728_084144-osiqkb7a/files/wandb-metadata.json @@ -0,0 +1,130 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-28T13:41:44.626252Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs", + "--task", + "labs", + "--model", + "transformer", + "--embedding-dim", + "64", + "--heads", + "4", + "--num-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--pos-weight", + "1.0", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-only", + "--wandb-run-name", + "labs_transformer_seed12" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9641213952" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "rgls97wpxhefl9injir90n0dc4vu2mzr" +} \ No newline at end of file diff --git a/wandb/run-20260728_084144-osiqkb7a/files/wandb-summary.json b/wandb/run-20260728_084144-osiqkb7a/files/wandb-summary.json new file mode 100644 index 000000000..dd38351d5 --- /dev/null +++ b/wandb/run-20260728_084144-osiqkb7a/files/wandb-summary.json @@ -0,0 +1 @@ +{"train_vram_peak_mb":27835.14208984375,"_runtime":1938,"val_pr_auc":0.5687590485828822,"val_roc_auc":0.9159081391282424,"test_pr_auc":0.6129330211587669,"epoch":15,"val_loss":0.11564977598763937,"test_f1":0.5586510263929618,"test_roc_auc":0.9144428282915618,"pos_weight":1,"global_step":72304,"train_loss":0.11545573439666292,"test_loss":0.11046364758394461,"val_accuracy":0.9658053449897638,"train_vram_allocated_mb":17.42041015625,"val_f1":0.5179407176287052,"test_accuracy":0.9666924864446166,"_step":16,"epoch_time_s":111.854,"_timestamp":1.7852480443924367e+09,"_wandb":{"runtime":1938}} \ No newline at end of file diff --git a/wandb/run-20260728_084144-osiqkb7a/run-osiqkb7a.wandb b/wandb/run-20260728_084144-osiqkb7a/run-osiqkb7a.wandb new file mode 100644 index 000000000..34b0071d4 Binary files /dev/null and b/wandb/run-20260728_084144-osiqkb7a/run-osiqkb7a.wandb differ diff --git a/wandb/run-20260728_123606-i66z42nf/files/config.yaml b/wandb/run-20260728_123606-i66z42nf/files/config.yaml new file mode 100644 index 000000000..6b64c9ed8 --- /dev/null +++ b/wandb/run-20260728_123606-i66z42nf/files/config.yaml @@ -0,0 +1,233 @@ +_wandb: + value: + cli_version: 0.28.0 + e: + cnrv3ntwx5zyzo4cvx2pxsk1p03yy39d: + args: + - --ehr-root + - /shared/rsaas/physionet.org/files/mimiciv/2.2 + - --note-root + - /shared/rsaas/physionet.org/files/mimic-note + - --cache-dir + - /home/wp14/pyhealth_cache_labs_notes + - --task + - notes_labs + - --model + - rnn + - --embedding-dim + - "128" + - --hidden-dim + - "128" + - --rnn-type + - GRU + - --rnn-layers + - "2" + - --dropout + - "0.1" + - --epochs + - "50" + - --batch-size + - "32" + - --lr + - "1e-3" + - --weight-decay + - "1e-5" + - --patience + - "5" + - --num-workers + - "4" + - --seed + - "12" + - --output-dir + - /home/wp14/output + - --wandb + - --wandb-project + - pyhealth-multimodal-labs-notes + - --wandb-run-name + - labs_notes_rnn_seed12 + codePath: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + codePathLocal: examples/mortality_prediction/unified_embedding_e2e_mimic4.py + cpu_count: 128 + cpu_count_logical: 255 + cudaVersion: "13.0" + disk: + /: + total: "34342961152" + used: "9642340352" + email: williampangbest1@gmail.com + executable: /home/wp14/miniconda3/envs/pyhealth2/bin/python + git: + commit: 311a149fa5b0b01a248ce08d3c4ec66793cb9b6e + remote: https://github.com/Multimodal-PyHealth/PyHealth + gpu: NVIDIA RTX 6000 Ada Generation + gpu_count: 8 + gpu_nvidia: + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-25605dab-2bad-abf9-2f36-f0be6e776096 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-39ac7920-1d83-d4cf-c056-920c82599e52 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-6a135207-d247-4118-1218-1e2321919d87 + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-583da23f-53e9-cf5f-2f63-7115778d21bf + - architecture: Ada + cudaCores: 18176 + memoryTotal: "51527024640" + name: NVIDIA RTX 6000 Ada Generation + uuid: GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8 + host: sunlab-c02.cs.illinois.edu + memory: + total: "1081448284160" + os: Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28 + program: /home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py + python: CPython 3.12.9 + root: /home/wp14/PyHealth + startedAt: "2026-07-28T17:36:06.511561Z" + writerId: cnrv3ntwx5zyzo4cvx2pxsk1p03yy39d + m: [] + python_version: 3.12.9 + t: + "1": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "2": + - 1 + - 5 + - 11 + - 41 + - 49 + - 53 + - 54 + - 71 + - 98 + "3": + - 13 + - 15 + - 16 + "4": 3.12.9 + "5": 0.28.0 + "6": 4.53.3 + "12": 0.28.0 + "13": linux-x86_64 +adam_eps: + value: null +balanced_ratio: + value: 1 +balanced_sampling: + value: false +batch_size: + value: 32 +bidirectional: + value: false +bottlenecks_n: + value: 4 +cache_dir: + value: /home/wp14/pyhealth_cache_labs_notes +dev: + value: 0 +device: + value: null +dropout: + value: 0.1 +ehr_root: + value: /shared/rsaas/physionet.org/files/mimiciv/2.2 +embedding_dim: + value: 128 +epochs: + value: 50 +freeze_encoder: + value: false +fusion_startidx: + value: 1 +heads: + value: 4 +hidden_dim: + value: 128 +icd_codes: + value: false +include_vitals: + value: false +jamba_mamba_layers: + value: 6 +jamba_transformer_layers: + value: 2 +lr: + value: 0.001 +mamba_conv_kernel: + value: 4 +mamba_state_size: + value: 16 +max_grad_norm: + value: null +model: + value: rnn +note_root: + value: /shared/rsaas/physionet.org/files/mimic-note +num_layers: + value: 2 +num_workers: + value: 4 +observation_window_hours: + value: 24 +output_dir: + value: /home/wp14/output +patience: + value: 5 +pos_weight: + value: null +rnn_layers: + value: 2 +rnn_type: + value: GRU +sampling_strategy: + value: none +seed: + value: 12 +task: + value: notes_labs +wandb: + value: true +wandb_entity: + value: null +wandb_project: + value: pyhealth-multimodal-labs-notes +wandb_run_name: + value: labs_notes_rnn_seed12 +wandb_tags: + value: null +weight_decay: + value: 1e-05 diff --git a/wandb/run-20260728_123606-i66z42nf/files/requirements.txt b/wandb/run-20260728_123606-i66z42nf/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260728_123606-i66z42nf/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260728_123606-i66z42nf/files/wandb-metadata.json b/wandb/run-20260728_123606-i66z42nf/files/wandb-metadata.json new file mode 100644 index 000000000..07613567a --- /dev/null +++ b/wandb/run-20260728_123606-i66z42nf/files/wandb-metadata.json @@ -0,0 +1,132 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-28T17:36:06.511561Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--note-root", + "/shared/rsaas/physionet.org/files/mimic-note", + "--cache-dir", + "/home/wp14/pyhealth_cache_labs_notes", + "--task", + "notes_labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-notes", + "--wandb-run-name", + "labs_notes_rnn_seed12" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9642340352" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "cnrv3ntwx5zyzo4cvx2pxsk1p03yy39d" +} \ No newline at end of file diff --git a/wandb/run-20260728_123606-i66z42nf/files/wandb-summary.json b/wandb/run-20260728_123606-i66z42nf/files/wandb-summary.json new file mode 100644 index 000000000..f60bccc79 --- /dev/null +++ b/wandb/run-20260728_123606-i66z42nf/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":6},"_runtime":6} \ No newline at end of file diff --git a/wandb/run-20260728_123606-i66z42nf/run-i66z42nf.wandb b/wandb/run-20260728_123606-i66z42nf/run-i66z42nf.wandb new file mode 100644 index 000000000..aaef3d7f9 Binary files /dev/null and b/wandb/run-20260728_123606-i66z42nf/run-i66z42nf.wandb differ diff --git a/wandb/run-20260728_175103-bd9dek9x/files/requirements.txt b/wandb/run-20260728_175103-bd9dek9x/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260728_175103-bd9dek9x/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260728_175103-bd9dek9x/files/wandb-metadata.json b/wandb/run-20260728_175103-bd9dek9x/files/wandb-metadata.json new file mode 100644 index 000000000..edfa409ae --- /dev/null +++ b/wandb/run-20260728_175103-bd9dek9x/files/wandb-metadata.json @@ -0,0 +1,133 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-28T22:51:03.133326Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--note-root", + "/shared/rsaas/physionet.org/files/mimic-note", + "--cache-dir", + "/shared/rsaas/wp14/pyhealth_cache_labs_notes", + "--task", + "notes_labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--freeze-encoder", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-notes", + "--wandb-run-name", + "labs_notes_rnn_seed12" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9620135936" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "hywo7zaph59r2wyxsjmse4w92d23z449" +} \ No newline at end of file diff --git a/wandb/run-20260728_175103-bd9dek9x/run-bd9dek9x.wandb b/wandb/run-20260728_175103-bd9dek9x/run-bd9dek9x.wandb new file mode 100644 index 000000000..013c097ee Binary files /dev/null and b/wandb/run-20260728_175103-bd9dek9x/run-bd9dek9x.wandb differ diff --git a/wandb/run-20260729_103813-pyxpnamr/files/requirements.txt b/wandb/run-20260729_103813-pyxpnamr/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260729_103813-pyxpnamr/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260729_103813-pyxpnamr/files/wandb-metadata.json b/wandb/run-20260729_103813-pyxpnamr/files/wandb-metadata.json new file mode 100644 index 000000000..781464d36 --- /dev/null +++ b/wandb/run-20260729_103813-pyxpnamr/files/wandb-metadata.json @@ -0,0 +1,135 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-29T15:38:13.490309Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--note-root", + "/shared/rsaas/physionet.org/files/mimic-note", + "--cache-dir", + "/shared/rsaas/wp14/pyhealth_cache_labs_notes", + "--task", + "notes_labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "50", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--pos-weight", + "1", + "--freeze-encoder", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-notes", + "--wandb-run-name", + "labs_notes_rnn_seed12" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9632387072" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "721tzyup2w7a8zl4arii4sj0atrkjgjz" +} \ No newline at end of file diff --git a/wandb/run-20260729_103813-pyxpnamr/run-pyxpnamr.wandb b/wandb/run-20260729_103813-pyxpnamr/run-pyxpnamr.wandb new file mode 100644 index 000000000..b6e1a363b Binary files /dev/null and b/wandb/run-20260729_103813-pyxpnamr/run-pyxpnamr.wandb differ diff --git a/wandb/run-20260729_230052-vhbvau7e/files/requirements.txt b/wandb/run-20260729_230052-vhbvau7e/files/requirements.txt new file mode 100644 index 000000000..f73b3efe9 --- /dev/null +++ b/wandb/run-20260729_230052-vhbvau7e/files/requirements.txt @@ -0,0 +1,226 @@ +packaging==26.0 +setuptools==82.0.1 +wheel==0.46.3 +pip==26.0.1 +tblib==3.2.2 +sympy==1.14.0 +mpmath==1.3.0 +typing_extensions==4.15.0 +six==1.17.0 +pillow==12.1.1 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-curand-cu12==10.3.7.77 +numpy==2.2.6 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cublas-cu12==12.6.4.1 +narwhals==2.13.0 +networkx==3.6.1 +MarkupSafe==3.0.3 +fsspec==2026.2.0 +filelock==3.25.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cudnn-cu12==9.5.1.17 +Jinja2==3.1.6 +nvidia-cusolver-cu12==11.7.1.2 +torch-einops-utils==0.0.30 +sortedcontainers==2.4.0 +pytz==2026.1.post1 +nvidia-cusparselt-cu12==0.6.3 +zict==3.0.0 +xyzservices==2026.3.0 +urllib3==2.5.0 +urllib3==2.7.0 +tzdata==2026.1 +tzdata==2026.2 +typing-inspection==0.4.2 +safetensors==0.7.0 +triton==3.3.1 +tqdm==4.67.3 +tornado==6.5.5 +tornado==6.5.7 +toolz==1.1.0 +threadpoolctl==3.6.0 +regex==2026.4.4 +PyYAML==6.0.3 +pyparsing==3.3.2 +pydantic_core==2.33.2 +pydantic_core==2.46.4 +pyarrow==22.0.0 +psutil==7.2.2 +polars-runtime-32==1.35.2 +platformdirs==4.9.6 +platformdirs==4.10.0 +obstore==0.9.2 +nvidia-nvtx-cu12==12.6.77 +nvidia-nccl-cu12==2.26.2 +nvidia-cufile-cu12==1.11.1.6 +msgpack==1.1.2 +more-itertools==10.8.0 +lz4==4.4.5 +locket==1.0.0 +littleutils==0.2.4 +lightning-utilities==0.15.3 +lazy-loader==0.5 +kiwisolver==1.5.0 +joblib==1.5.3 +jmespath==1.1.0 +idna==3.11 +idna==3.18 +hf-xet==1.4.3 +fonttools==4.62.1 +einops==0.8.2 +decorator==5.2.1 +decorator==5.3.1 +cycler==0.12.1 +cloudpickle==3.1.2 +click==8.3.2 +click==8.4.2 +charset-normalizer==3.4.7 +certifi==2026.2.25 +certifi==2026.6.17 +annotated-types==0.7.0 +tifffile==2026.3.3 +scipy==1.17.1 +requests==2.33.1 +requests==2.34.2 +rdkit==2026.3.1 +python-dateutil==2.9.0.post0 +pydantic==2.11.10 +pydantic==2.13.4 +polars==1.35.2 +partd==1.4.2 +contourpy==1.3.3 +scikit-learn==1.7.2 +pooch==1.9.0 +pandas==2.3.3 +outdated==0.2.2 +matplotlib==3.10.8 +huggingface_hub==0.36.2 +dask==2025.11.0 +botocore==1.42.88 +bokeh==3.9.0 +torch==2.7.1 +tokenizers==0.21.4 +s3transfer==0.16.0 +mne==1.10.2 +distributed==2025.11.0 +transformers==4.53.3 +pyhealth==2.0.0 +torchvision==0.22.1 +ogb==1.3.6 +linformer==0.2.3 +boto3==1.42.88 +axial_positional_embedding==0.3.12 +accelerate==1.13.0 +peft==0.18.1 +litdata==0.2.61 +hyper-connections==0.4.9 +local-attention==1.11.2 +CoLT5-attention==0.11.1 +product_key_memory==0.3.0 +linear-attention-transformer==0.19.1 +nvidia-ml-py==13.590.48 +nvitop==1.7.0 +asttokens==3.0.1 +attrs==26.1.0 +babel==2.18.0 +backports.zstd==1.6.0 +Brotli==1.2.0 +cached-property==1.5.2 +comm==0.2.3 +debugpy==1.8.21 +defusedxml==0.7.1 +executing==2.2.1 +hpack==4.1.0 +hyperframe==6.1.0 +json5==0.15.0 +jsonpointer==3.1.1 +lark==1.3.1 +nest-asyncio2==1.7.2 +pandocfilters==1.5.0 +parso==0.8.7 +prometheus_client==0.25.0 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pycparser==3.0 +Pygments==2.20.0 +PySocks==1.7.1 +fastjsonschema==2.21.2 +rfc3986-validator==0.1.1 +rpds-py==2026.5.1 +Send2Trash==2.1.0 +sniffio==1.3.1 +soupsieve==2.8.4 +tomli==2.4.1 +traitlets==5.15.1 +typing_utils==0.1.0 +uri-template==1.3.0 +wcwidth==0.8.1 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==4.1.0 +async-lru==2.3.0 +bleach==6.4.0 +cffi==1.17.1 +exceptiongroup==1.3.1 +h11==0.16.0 +h2==4.3.0 +importlib_metadata==9.0.0 +ipython_pygments_lexers==1.1.1 +jedi==0.19.2 +jupyter_core==5.9.1 +jupyterlab_pygments==0.3.0 +matplotlib-inline==0.2.2 +mistune==3.3.2 +overrides==7.7.0 +pexpect==4.9.0 +prompt_toolkit==3.0.52 +python-json-logger==4.1.0 +referencing==0.37.0 +rfc3339_validator==0.1.4 +rfc3987-syntax==1.1.0 +stack_data==0.6.3 +terminado==0.18.1 +tinycss2==1.4.0 +anyio==4.14.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +beautifulsoup4==4.15.0 +fqdn==1.5.1 +ipython==9.14.1 +jsonschema-specifications==2025.9.1 +jupyter_builder==1.0.2 +jupyter_server_terminals==0.5.4 +argon2-cffi==25.1.0 +httpcore==1.0.9 +isoduration==20.11.0 +jsonschema==4.26.0 +pyzmq==27.1.0 +httpx==0.28.1 +jupyter_client==8.9.1 +nbformat==5.10.4 +ipykernel==7.3.0 +jupyter-events==0.12.1 +nbclient==0.11.0 +nbconvert==7.17.1 +jupyter_server==2.20.0 +jupyter-lsp==2.3.1 +jupyterlab_server==2.28.0 +notebook_shim==0.2.4 +jupyterlab==4.6.0 +notebook==7.6.0 +protobuf==6.33.5 +smmap==5.0.3 +gitdb==4.0.12 +GitPython==3.1.50 +sentry-sdk==2.64.0 +wandb==0.28.0 +widgetsnbextension==4.0.15 +jupyterlab_widgets==3.0.16 +ipywidgets==8.1.8 +htcondor==25.11.0 +htcondor-cli==25.11.0 diff --git a/wandb/run-20260729_230052-vhbvau7e/files/wandb-metadata.json b/wandb/run-20260729_230052-vhbvau7e/files/wandb-metadata.json new file mode 100644 index 000000000..905fcd20e --- /dev/null +++ b/wandb/run-20260729_230052-vhbvau7e/files/wandb-metadata.json @@ -0,0 +1,135 @@ +{ + "os": "Linux-4.18.0-553.124.1.el8_10.x86_64-x86_64-with-glibc2.28", + "python": "CPython 3.12.9", + "startedAt": "2026-07-30T04:00:52.025825Z", + "args": [ + "--ehr-root", + "/shared/rsaas/physionet.org/files/mimiciv/2.2", + "--note-root", + "/shared/rsaas/physionet.org/files/mimic-note", + "--cache-dir", + "/shared/rsaas/wp14/pyhealth_cache_labs_notes", + "--task", + "notes_labs", + "--model", + "rnn", + "--embedding-dim", + "128", + "--hidden-dim", + "128", + "--rnn-type", + "GRU", + "--rnn-layers", + "2", + "--dropout", + "0.1", + "--epochs", + "15", + "--batch-size", + "32", + "--lr", + "1e-3", + "--weight-decay", + "1e-5", + "--patience", + "5", + "--num-workers", + "4", + "--seed", + "12", + "--output-dir", + "/home/wp14/output", + "--pos-weight", + "1", + "--freeze-encoder", + "--wandb", + "--wandb-project", + "pyhealth-multimodal-labs-notes", + "--wandb-run-name", + "labs_notes_rnn_seed12" + ], + "program": "/home/wp14/PyHealth/examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePath": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "codePathLocal": "examples/mortality_prediction/unified_embedding_e2e_mimic4.py", + "git": { + "remote": "https://github.com/Multimodal-PyHealth/PyHealth", + "commit": "311a149fa5b0b01a248ce08d3c4ec66793cb9b6e" + }, + "email": "williampangbest1@gmail.com", + "root": "/home/wp14/PyHealth", + "host": "sunlab-c02.cs.illinois.edu", + "executable": "/home/wp14/miniconda3/envs/pyhealth2/bin/python", + "cpu_count": 128, + "cpu_count_logical": 255, + "gpu": "NVIDIA RTX 6000 Ada Generation", + "gpu_count": 8, + "disk": { + "/": { + "total": "34342961152", + "used": "9641287680" + } + }, + "memory": { + "total": "1081448284160" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-25605dab-2bad-abf9-2f36-f0be6e776096" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fa23eb99-d1b2-4c9c-666c-c70c133af1df" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-39ac7920-1d83-d4cf-c056-920c82599e52" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-3ab5484f-a069-8752-ca10-8ab181aa5b65" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-6a135207-d247-4118-1218-1e2321919d87" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-fdf3835a-4b38-fb01-24cb-f2825806ea1e" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-583da23f-53e9-cf5f-2f63-7115778d21bf" + }, + { + "name": "NVIDIA RTX 6000 Ada Generation", + "memoryTotal": "51527024640", + "cudaCores": 18176, + "architecture": "Ada", + "uuid": "GPU-ed1911c1-9405-0826-f8ff-e8ccb5c880c8" + } + ], + "cudaVersion": "13.0", + "writerId": "kify0s9esdi6ixsxxc3mz9o03nqi3qa8" +} \ No newline at end of file diff --git a/wandb/run-20260729_230052-vhbvau7e/run-vhbvau7e.wandb b/wandb/run-20260729_230052-vhbvau7e/run-vhbvau7e.wandb new file mode 100644 index 000000000..33b2a56e5 Binary files /dev/null and b/wandb/run-20260729_230052-vhbvau7e/run-vhbvau7e.wandb differ