Skip to content
This repository was archived by the owner on Mar 16, 2022. It is now read-only.

Commit e5a50a6

Browse files
authored
Merge pull request #10 from datumbox/clarifications/postprocessing
Special Case: Post-processing
2 parents 8b3e052 + 9433a6f commit e5a50a6

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
1. [Specifications](#specifications)
1111
2. [Out of scope](#out-of-scope)
1212
3. [Proposal](#proposal)
13+
3. [Special cases](#special-cases)
1314
4. [Demos](#demos)
1415
5. [Implementation details](#implementation-details)
1516
6. [Alternatives considered](#alternatives-considered)
@@ -124,6 +125,9 @@ The proposed solution can optionally support the following nice-to-haves:
124125
2. We focus on the public API and not on implementation details. Though the repo contains private helper methods used to
125126
[construct models](https://github.com/datumbox/dapi-model-versioning/blob/main/dapi_lib/models/resnet.py#L19-L43),
126127
these are not part of the proposal and libraries can adapt them to their needs and current practices.
128+
3. We try to keep this RFC not too opinionated but rather describe a framework that gives to the DAPI libs the space to
129+
adapt the solution on their needs. As a result, fully specifying implementation details is beyond the scope of this
130+
proposal.
127131

128132
### Proposal
129133

@@ -183,6 +187,16 @@ The above approach:
183187
- Covers all mandatory criteria.
184188
- Supports all the nice-to-haves.
185189

190+
### Special cases
191+
192+
This section provides some guidance on how to handle special cases that were brought up during the review of the RFC.
193+
When multiple valid options exist, the DAPI libs should choose the one that meets their needs best:
194+
- If a model requires both pre-processing and post-processing transforms, there are two main options:
195+
1. We can add both of them in a single transformer class, which will expose 2 public methods one for `preprocessing`
196+
and one for `postprocessing`.
197+
2. We can provide two separate transformer classes which will implement `preprocessing` and `postprocessing` on their
198+
`forward()`/`__call()__` method. Then we will offer two separate fields for them on the `Enum` class.
199+
186200
### Demos
187201

188202
To prove that the proposed API can accommodate all domains, we implemented it to 4 real-world models. To see the demos

0 commit comments

Comments
 (0)