Skip to content

PyHealth 2.0.0

Choose a tag to compare

@jhnwu3 jhnwu3 released this 23 Mar 19:34
· 11 commits to master since this release
4cc526f

There's a huge chain of chnages from 1.1.6 to 2.0.0. But, functionally, we've revamped the entire framework to be faster, easier to use, more scalable, and just overall more useful for any task a researcher might want to do.

What's Changed

  • Bump jinja2 from 3.0.3 to 3.1.3 in /docs by @dependabot[bot] in #258
  • Bump gradio from 3.44.2 to 4.19.2 in /chat-assistant by @dependabot[bot] in #272
  • Bump langchain from 0.0.329 to 0.1.11 in /chat-assistant by @dependabot[bot] in #275
  • fix minor bugs in omop.py by @ycq091044 in #287
  • Bump jinja2 from 3.1.3 to 3.1.4 in /docs by @dependabot[bot] in #291
  • Update doc by @zzachw in #312
  • Dev by @jhnwu3 in #320
  • Updated Docs to Reflect New Incoming Communication Platforms by @jhnwu3 in #322
  • Fix/update doc by @zzachw in #323
  • Update pyhealth.datasets.TUABDataset.rst by @mosheber in #296
  • Validate YAML configs with Pydantic by @zzachw in #333
  • Refactor MedicalTranscriptionsDataset by @zzachw in #336
  • Refactor COVID19CXRDataset by @zzachw in #337
  • MIMIC4 Refactor to Encompass Vision, Language, and EHR by @jhnwu3 in #335
  • Add EHRShot dataset and benchmarking tasks by @zzachw in #350
  • Fix issues with BaseDataset.load_table() by @zzachw in #368
  • Doc Updates to about.rst, index.rst, and tutorials.rst by @jhnwu3 in #374
  • fix bug with mortality label always being zero if hospital_expire_flag is a string by @PranavHerur in #391
  • 2-3× Speedup for BaseDataset.set_task() by @zzachw in #378
  • Add NLP metrics package by @plandes in #513
  • fix readthedoc dependency error by @jhnwu3 in #519
  • readthedocs python update so huggingface can stop breaking by @jhnwu3 in #520
  • fix docs python version incompatibility by @jhnwu3 in #521
  • fix doc requirements breaking from incompatibilities with numpy by @jhnwu3 in #522
  • test_dependencies by @jhnwu3 in #523
  • fixed dependency errors in building autodocs by @jhnwu3 in #525
  • Switch from Python setuptools to Pixi by @plandes in #524
  • MIMIC3 Initialize Test Case for Tests/Core by @jhnwu3 in #527
  • more tutorial and doc updates by @jhnwu3 in #529
  • project toml changes by @jhnwu3 in #531
  • readthedocs dependency fix by @jhnwu3 in #533
  • SDOH Coding Model by @jhnwu3 in #538
  • crucial doc updates by @jhnwu3 in #540
  • Fix/auto docs pathing by @jhnwu3 in #541
  • Add/load tsv by @jhnwu3 in #542
  • make MLP compatible with the new pyhealth 2.0 loaders by @jhnwu3 in #543
  • Fix/mlp embedding by @jhnwu3 in #544
  • legacy bug fix for the trainer assuming there exists a model.mode att… by @jhnwu3 in #545
  • added the ability to link visits by their ids instead of just their t… by @jhnwu3 in #547
  • Add/use processor class directly instead of just string by @jhnwu3 in #548
  • Add/processor docs by @jhnwu3 in #549
  • Enhance mortality label check for string flags by @v1xerunt in #551
  • remove inactive link by @ycq091044 in #552
  • Add/task caching by @jhnwu3 in #546
  • huge docs update incoming by @jhnwu3 in #553
  • Update/docs landing page by @jhnwu3 in #554
  • Update/docs landing page by @jhnwu3 in #555
  • tiny final update to badges by @jhnwu3 in #556
  • fixing bold fonts and emojis by @jhnwu3 in #558
  • Fix/model force dataset features by @jhnwu3 in #557
  • more tasks, hopefully fix the lack of pages here by @jhnwu3 in #559
  • change to autoclass instead of automod by @jhnwu3 in #560
  • Feat/accommodate legacy api by @jhnwu3 in #562
  • fix to make model.mode compatible with trainers using new Processors … by @jhnwu3 in #564
  • small change to transformersmodel to not explicitly use a deprecated … by @jhnwu3 in #565
  • update on pyhealth alpha release in the docs for installation by @jhnwu3 in #563
  • init commit attempt for multihot embeddings, and other basic modeling… by @jhnwu3 in #567
  • docs update by @jhnwu3 in #568
  • init versioning control with Pixi and makefiles by @jhnwu3 in #561
  • Update/stagenet by @jhnwu3 in #571
  • init commit for stagenet documentation by @jhnwu3 in #572
  • update logo to newer, more streamlined colors logo by @jhnwu3 in #573
  • clean up scratchiness of edges on pyhealth 2 logo by @jhnwu3 in #574
  • Fix/pypi ver by @jhnwu3 in #575
  • Add/sample dataset processor transfer by @jhnwu3 in #576
  • [Bounty] Transformer PyHealth 2.0 ver. by @Logiquo in #580
  • Fix/drug recommendation by @jhnwu3 in #579
  • Support mode parameter in the ImageProcessor by @Logiquo in #581
  • init commit to fix documentation around interp and drug rec by @jhnwu3 in #582
  • [Bounty] CNN PyHealth 2.0 ver. by @Logiquo in #578
  • add additional docs about pyhealth researchers and students by @jhnwu3 in #583
  • Add/conformal cov pred by @jhnwu3 in #584
  • make better instructions on dev environment by @jhnwu3 in #585
  • init commit for omop extension by @jhnwu3 in #586
  • commit to improve docs template for research initiative and our calib… by @jhnwu3 in #590
  • Add/stagenet interp pipeline by @jhnwu3 in #589
  • init commit fix to enable portability of processors by @jhnwu3 in #591
  • [Bounty] SafeDrug by @lehendo in #588
  • [Bounty] MICRON model adapted for PyHeatlh 2.0 version by @naveenkcb in #592
  • update docs to include more details about the pyhealth research initi… by @jhnwu3 in #598
  • Update/pyhealth community by @jhnwu3 in #599
  • [CS 598] Add DREAMT sleep dataset by @dalvg in #595
  • [Bounty] MoleRec by @lehendo in #596
  • Dataset: (BMD-HS) Heart Sound Recordings for Automated Cardiovascular Disease Diagnosis by @Razin93937 in #600
  • Add early stopping patience parameter to Trainer by @Razin93937 in #597
  • Add/interp metrics by @jhnwu3 in #602
  • Support processor tuple specs with kwargs in SampleDataset by @Razin93937 in #603
  • [Bounty] GNN PyHeatlh 2.0 ver. by @Logiquo in #587
  • [BMS] Deeplift for MIMIC4 Mortality Prediction by @Logiquo in #593
  • init commit to fix speed issues with mimic3 test cases by @jhnwu3 in #607
  • init commit to enable users to extend their processing beyond initial… by @jhnwu3 in #606
  • more navigation doc updates for users by @jhnwu3 in #608
  • Update/docs by @jhnwu3 in #609
  • [Bounty] GAMENet by @lehendo in #610
  • [Bounty] ContraWR PyHealth 2.0 by @Razin93937 in #604
  • ChestX-ray14 Dataset and Classification Tasks by @EricSchrock in #392
  • init commit with more doc changes and the addition of a newsletter by @jhnwu3 in #617
  • small doc typo fix on task_fn vs. taskclass() by @jhnwu3 in #618
  • Add Support for FeatureProcessor Instances in Schemas by @Razin93937 in #615
  • Example notebook with list of Datasets by @dalloliogm in #616
  • Add dataset SUPPORT2 by @ningyuan-xie in #614
  • Basic gradient saliency visualization by @Nimanui in #594
  • [BMS] Gradient Interaction Modification by @Logiquo in #605
  • [Memory] Fix large memory usage during init call. by @Logiquo in #620
  • new update to phri links by @jhnwu3 in #628
  • Add cancer genomics datasets and tasks (ClinVar, COSMIC, TCGA-PRAD) by @AbrahamArellano in #625
  • update to status of phri to be year long and in constant rotation by @jhnwu3 in #637
  • add december newsletter surrounding call to the research initiative by @jhnwu3 in #641
  • [Bounty] Adacare PyHealth 2.0 by @Razin93937 in #613
  • quick visual updates to the newsletter by @jhnwu3 in #643
  • fix typos and make it easier to know how to join phri by @jhnwu3 in #650
  • Fix/inference new tok new dim by @jhnwu3 in #623
  • update to give a rough time estimate of the program by @jhnwu3 in #653
  • more typo fixes by @jhnwu3 in #655
  • Update/phri call by @jhnwu3 in #656
  • make change to add a table of contents so hopefully itll be easy to r… by @jhnwu3 in #657
  • fix visual error for table of contents by @jhnwu3 in #658
  • another year typo sigh* by @jhnwu3 in #659
  • quick edits to have an actual official start date with communication … by @jhnwu3 in #661
  • update pyprojectoml alpha version to 2.0a10 by @jhnwu3 in #660
  • Fix SequenceProcessor by @Logiquo in #691
  • change overrides to none by @jhnwu3 in #731
  • fix hopefully override by @jhnwu3 in #734
  • Fix/los pred by @jhnwu3 in #735
  • init commit to clarify install docs by @jhnwu3 in #736
  • Mem 9 - Memory Efficiency Update by @jhnwu3 in #739
  • Update/pyproject by @jhnwu3 in #741
  • Fix/processors fit process by @jhnwu3 in #744
  • Add num_workers to BaseDataset by @Logiquo in #743
  • Fix incorrect null handling for patient_id and timestamp by @Logiquo in #746
  • newsletter and doc updates for memory optimizations by @jhnwu3 in #745
  • revision added to denote benchmarking setup by @jhnwu3 in #747
  • [Bounty] Update Dr. Agent model (PyHealth 2.0) by @joshuasteier in #663
  • [Bounty] ConCare PyHealth 2.0 ver by @joshuasteier in #649
  • [Bounty] Deepr PyHealth 2.0 ver. by @joshuasteier in #645
  • Multiprocess task transformation by @Logiquo in #748
  • Furthur optimization on task transformation. by @Logiquo in #750
  • Clean up tmpdir correctly, cache task transformation result, and better notebook support. by @Logiquo in #753
  • Fix MIMIC3 unit tests by @EricSchrock in #757
  • SHAP Interpretability method implementation by @naveenkcb in #611
  • Add/comp benchmark by @jhnwu3 in #759
  • init commit, will need to test the readme later, but should reflect m… by @jhnwu3 in #760
  • [PyHealth2.0 Bounty] MIMIC3 Readmission Prediction by @EricSchrock in #751
  • [Conformal EEG] TUEV Dataset and Task by @Razin93937 in #752
  • update benchmark examples and pypi ver. by @jhnwu3 in #762
  • Update the default task cache path to include task parameter names and values by @EricSchrock in #766
  • fix pixi deprecation warnings by @plandes in #769
  • update benchmark examples and pypi ver. by @jhnwu3 in #771
  • [Conformal EEG] TUEV Dataset ContraWR Example by @Razin93937 in #761
  • TCN Bounty Implementation by @bilalarif3197 in #729
  • Remove trailing space in file name : timeseries_mimic4.py by @ekazum in #772
  • Tidy up the ChestX-ray14 dataset for the PyHealth 2.0 release by @EricSchrock in #777
  • Typo in "How to Get Started" Documentation by @will-pang in #779
  • LIME Interpretability by @naveenkcb in #758
  • Add IgnoreProcessor to support remove a key in schema. by @Logiquo in #776
  • [Conformal EEG] Add TUEV Conformal Prediction Examples - Conventional and Covariate Shift by @Razin93937 in #780
  • Add option to cache transformed data from processors and skip pipeline entirely by @Logiquo in #783
  • [BMS] StageNet with Attention by @Logiquo in #707
  • Fix the code will hang at set_task if any of the worker have 0 sample written by @Logiquo in #784
  • Allow change vocabs for processor that take vocabs by @Logiquo in #778
  • [PyHealth2.0 Bounty] OMOP Readmission Prediction by @EricSchrock in #788
  • [Conformal EEG] Fix TUEV dataset metadata permissions for shared cluster storage - main by @lehendo in #787
  • bump packages and remove pandarallel to see what happens, will need t… by @jhnwu3 in #791
  • [Conformal EEG] Add TFM-Tokenizer model for EEG signal tokenization by @lehendo in #781
  • Conformal prediction by @siddharthal in #793
  • MedLink Bounty by @Rian354 in #728
  • init commit with additional visit ids for tables as attributes, altho… by @jhnwu3 in #792
  • Add/cxr comprehensive tutorial and benchmarks for PyHealth paper by @jhnwu3 in #773
  • Add/newsletter + update install docs for early release of PyHealth 2.0 by @jhnwu3 in #798
  • Add multimodal RNN support by @jhnwu3 in #797
  • make pyproject.toml reflect pypi changes by @jhnwu3 in #799
  • Fix Deeplift Crash for Some Unlucky Embedding Values by @Logiquo in #803
  • Change hook-based non-linearity replacement to module-swap-based. by @Logiquo in #805
  • Fix pkg_resources warning by @Logiquo in #804
  • Add VisionEmbeddingModel for medical imaging by @joshuasteier in #806
  • Add/dka task by @jhnwu3 in #749
  • TextEmbedding Module for Multimodality Reproducibility Study by @Rian354 in #808
  • Fix multi-class interpretability metric by @Logiquo in #810
  • out of memory error should be fixed since it should be iterative now … by @jhnwu3 in #807
  • [Conformal EEG] K-means clustering by @lehendo in #795
  • EHRMamba Implementation Into PyHealth by @lehendo in #809
  • Fix the MIMIC4 LoS and DKA task unit tests by @EricSchrock in #813
  • Fix lime CUDA OOM by @Logiquo in #811
  • Add multi-class support for lime & shap by @Logiquo in #814
  • MIMIC4 Readmission Prediction by @EricSchrock in #815
  • BMS interpretability project runs scripts by @Logiquo in #816
  • Change UNK for token-ralated processor to 1 by @Logiquo in #822
  • Add auto-close PR workflow for old PRs. by @jhnwu3 in #825
  • Fix ChestX-ray14 Example Notebooks by @EricSchrock in #828
  • add example docs to all datasets and tasks possible by @jhnwu3 in #823
  • [Contribution] TimeImageProcessor for multimodal pipelines by @joshuasteier in #826
  • Add TupleTimeTextProcessor for Temporal Text Data by @Rian354 in #829
  • Improve/docs by @jhnwu3 in #831
  • [Conformal EEG] Neighborhood Conformal Prediction by @lehendo in #824
  • Update MIMIC3 example python scripts by @EricSchrock in #834
  • Standard forward_from_embedding in BaseModel by @Logiquo in #821
  • TUAB Dataset PR by @Jathurshan0330 in #837
  • Updated TUH dataset EEG tasks with preprocessing parameters by @Jathurshan0330 in #838
  • Cleaned and Updated SpaRCNET examples for EEG event classification and abnormal prediction by @Jathurshan0330 in #839
  • Fix Chefer and add standardized API by @Logiquo in #841
  • Improve/docs by @jhnwu3 in #842
  • Fix/eicu by @jhnwu3 in #832
  • Improve/docs - will merge without review since it's just quick doc changes that won't break anything. by @jhnwu3 in #845
  • Improve/docs by @jhnwu3 in #846
  • more corrections to the documentation by @jhnwu3 in #847
  • [Contribution] JambaEHR: Hybrid Transformer-Mamba model for EHR prediction by @joshuasteier in #848
  • EEG Model PR: BIOT by @Jathurshan0330 in #849
  • Fix flaky test_gradient_flow in JambaEHR (#855) by @joshuasteier in #857
  • init commit, tldr the cache_dir or files should probably indicate tab… by @jhnwu3 in #835
  • [Contribution] pyhealth.graph: Native knowledge graph support + GraphProcessor by @joshuasteier in #853
  • init commit for guidelines by @jhnwu3 in #861
  • Smart Processor + Unified Multimodal Embedding Support + HF Tokenization by @Rian354 in #863
  • [PyHealth 2.0 Bounty] Sparcnet fix for pyhealth 2.0 by @joshuxchn in #864
  • Make SHAP & LIME black box by @Logiquo in #856
  • Add Ensemble Interpreter by @Logiquo in #850
  • Fix/calendar link by @jhnwu3 in #870
  • Fixed issues in reproducing inference results in TFM-Tokenizer by @Jathurshan0330 in #860
  • tldr; add improved check to task and dataset cache by @jhnwu3 in #876
  • [Contribution] GraphCare: KG-enhanced EHR predictions (ICLR 2024) by @joshuasteier in #882
  • small fix so that agents no longer get confused that its 1.14 installed by @jhnwu3 in #888
  • Update/core docs by @jhnwu3 in #889
  • [Conformal EEG] TUEV/TUAB Compatibility by @lehendo in #894
  • Updated Conformal Test Scripts by @lehendo in #895
  • fix: prevent batch_size=1 crashes, secure torch.load, fix device/contiguity issues by @haoyu-haoyu in #901
  • fix: improve research reliability — metrics mutation, eval mode, reproducible splits by @haoyu-haoyu in #902
  • fix: port GRASP model to PyHealth 2.0 API (fixes #891) by @haoyu-haoyu in #903
  • making the PyHealth Research Initiative page way less confusing and d… by @jhnwu3 in #907

New Contributors

Full Changelog: v1.1.6...v2.0.0