|
| 1 | +.. _how-eir-works: |
| 2 | + |
| 3 | +How EIR Works |
| 4 | +============= |
| 5 | + |
| 6 | +The idea with EIR is to make deep learning |
| 7 | +**modular, reproducible, and accessible across different data types**. |
| 8 | + |
| 9 | +Core Design Philosophy |
| 10 | +---------------------- |
| 11 | + |
| 12 | +**Declarative Design** |
| 13 | + Everything, from data sources, how data is processed, |
| 14 | + to model architectures and output specifications, |
| 15 | + is defined in YAML files. |
| 16 | + No scripting required for standard workflows. |
| 17 | + |
| 18 | +**Modular Architecture** |
| 19 | + Each component (inputs, fusion, outputs) is independent and configurable. |
| 20 | + Mix and match different data types (kind of like LEGO blocks) |
| 21 | + and models without changing code. |
| 22 | + |
| 23 | +**Consistent Interface** |
| 24 | + Whether you're working with genomics, images, text or something else |
| 25 | + - the workflow is the same: |
| 26 | + **configure → train → predict/serve**. |
| 27 | + |
| 28 | +Architecture Overview |
| 29 | +--------------------- |
| 30 | + |
| 31 | +The diagram below shows a typical workflow in EIR |
| 32 | +and, what each configuration file is responsible for, |
| 33 | +and how the different neural network "blocks" specified |
| 34 | +via the configurations interact with each other. |
| 35 | +**Click on the image to enlarge it.** |
| 36 | + |
| 37 | +.. figure:: static/img/eir_design.svg |
| 38 | + :width: 100% |
| 39 | + :align: center |
| 40 | + |
| 41 | +| |
| 42 | +
|
| 43 | +Why This Design? |
| 44 | +---------------- |
| 45 | + |
| 46 | +**Reproducibility** |
| 47 | + YAML configs capture the entire experiment and can be shared easily. |
| 48 | + |
| 49 | +**Extensibility** |
| 50 | + Add new data types or models without breaking existing workflows. |
| 51 | + The modular design means you can experiment with one |
| 52 | + component while keeping others fixed. |
| 53 | + |
| 54 | +**Practical ML** |
| 55 | + Real-world problems often involve multiple data types, |
| 56 | + where different samples can be missing for different modalities. |
| 57 | + EIR makes developing models for this type of multi-modal data easier. |
| 58 | + |
| 59 | +**From Research to Production** |
| 60 | + The same model that trains on your laptop, |
| 61 | + or on your HPC cluster, |
| 62 | + can be deployed as a web service with one command. |
| 63 | + |
| 64 | +Other Key Features |
| 65 | +------------------ |
| 66 | + |
| 67 | +**Explainability** |
| 68 | + Built-in attribution analysis shows which features matter most for predictions |
| 69 | + when doing supervised learning (classification and regression). |
| 70 | + |
| 71 | +**Streaming Support** |
| 72 | + Implement your own data streaming logic to handle large datasets, or if you |
| 73 | + want to customize how data is fed into the model. |
| 74 | + |
| 75 | +**Easy Deployment** |
| 76 | + Every trained model becomes a REST API with ``eirserve``. |
| 77 | + No additional infrastructure needed. |
| 78 | + |
| 79 | +Getting Started |
| 80 | +--------------- |
| 81 | + |
| 82 | +The best way to understand EIR is to try it, |
| 83 | +check :ref:`01-genotype-tutorial` to see the basic workflow |
0 commit comments