Skip to content

Commit e7b4586

Browse files
Merge pull request #135 from arnor-sigurdsson/add-how-eir-works-docs
Add how eir works docs
2 parents c32458e + a031221 commit e7b4586

6 files changed

Lines changed: 127 additions & 8 deletions

File tree

docs/configuration_guides/guides_index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _configuration_guides:
2+
13
Configuration Guides
24
====================
35

docs/design/design.rst

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
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

docs/design/static/img/eir_design.svg

Lines changed: 6 additions & 0 deletions
Loading

docs/index.rst

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
EIR
22
===
33

4-
``EIR`` is a framework for
4+
EIR is a framework for
55
supervised modelling,
6-
sequence generation and
7-
array generation
6+
sequence generation,
7+
survival analysis, and
8+
image/array generation
89
on genotype, tabular, sequence, image, array, and binary input data.
910
It is designed to provide
1011
a high-level, yet modular API
@@ -20,6 +21,10 @@ and pre-processing required to train a model.
2021

2122
|
2223
24+
.. contents::
25+
:local:
26+
:depth: 1
27+
2328
TL;DR - Just Show Me How It Works
2429
---------------------------------
2530

@@ -37,6 +42,29 @@ for an example that covers:
3742

3843
Or browse the :doc:`tutorials/tutorial_index` to see examples for your specific data type.
3944

45+
How to Navigate This Documentation
46+
----------------------------------
47+
48+
The documentation is not designed to be read from start to finish,
49+
so feel free to jump around and explore the sections that interest you.
50+
51+
Generally we do recommend starting with either:
52+
53+
* :ref:`01-genotype-tutorial` for a complete end-to-end example, or
54+
* :ref:`how-eir-works` for an overview of the framework's design and general architecture.
55+
56+
Then, you can for example explore the following sections:
57+
58+
* :ref:`tutorials_index` for various tutorials ranging from
59+
supervised learning with a single modality,
60+
to multi-modal generative modelling and serving.
61+
* :ref:`configuration_guides` for kind of a mix between cheat-sheets and more in-depth
62+
guides focusing on specific configurations
63+
(e.g., a boilerplate ``globals.yaml`` file) or data types
64+
(e.g., how to configure EIR for genomic data).
65+
* :ref:`api-reference` for a complete reference of all configuration options.
66+
* :ref:`user-guides-index` for various user guides, tips and tricks.
67+
4068
Installation
4169
------------
4270

@@ -118,17 +146,13 @@ EIR automatically detects and uses GPU acceleration when available.
118146
No additional configuration is required if you have a CUDA-compatible setup
119147
with PyTorch GPU support. It should also work with MPS on macOS.
120148

121-
Quick Start
122-
-----------
123-
124-
**Ready to start?** Follow the :ref:`01-genotype-tutorial` for a complete walkthrough.
125-
126149
Documentation
127150
-------------
128151

129152
.. toctree::
130153
:maxdepth: 2
131154

155+
design/design
132156
tutorials/tutorial_index
133157
user_guides/user_guides_index
134158
api/api_index

docs/tutorials/tutorial_index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _tutorials_index:
2+
13
Tutorials: Supervised Learning
24
==============================
35

docs/user_guides/user_guides_index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _user-guides-index:
2+
13
User Guides
24
===========
35

0 commit comments

Comments
 (0)