From cbdba3e669c22a29ab6e773fb21dbc2a99b181e5 Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 5 May 2020 14:06:44 -0400 Subject: [PATCH 1/7] * Add procedure for core migration --- sigs/addons/MIGRATION_TO_CORE.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 sigs/addons/MIGRATION_TO_CORE.md diff --git a/sigs/addons/MIGRATION_TO_CORE.md b/sigs/addons/MIGRATION_TO_CORE.md new file mode 100644 index 000000000..588051d37 --- /dev/null +++ b/sigs/addons/MIGRATION_TO_CORE.md @@ -0,0 +1,32 @@ +# Migration From TF-Addons To TensorFlow Core + +### In-Progress & Previous Migrations: +https://github.com/tensorflow/addons/projects/2/ + +### Process +1. Create an issue in TensorFlow Addons for a candidate that you think should be +migrated. +2. The SIG will evaluate the request and add it to the `Potential Candidates` section +of our GitHub project. +3. If it's agreed that a migration makes sense, an RFC needs to be written to discuss +the move with a larger community audience. + * If the transition will impact tf-core and Keras then submit the RFC to + [TensorFlow Community](https://github.com/tensorflow/community) + * Additions which only subclass Keras APIs should submit their migration proposals to + [Keras Governance](https://github.com/keras-team/governance) + +4. A sponsor from the TF/Keras team must agree to shepard the transition. + * If no sponsor is obtained after 45 days the RFC will be rejected and will remain + as part of Addons. +5. If a sponsor is obtained, and the RFC is approved, a pull request must move the +addon along with proper tests. +6. After merging, the addition will be replaced with an alias to the core function +if possible. If an alias is not possible (e.g. large parameter changes), then a deprecation +warning will be added and will be removed from TFA after 2 releases. + + +### Criteria for Migration +* The addition is widely used throughout the community, or has high academic significance. + * Metrics must be reported in the RFC (OSS usage, H5 index, etc.) +* The addition is unlikely to have API changes as time progresses +* The addition is well written / tested From 93e94335cfe26e55ff2b7c5f7777a9b162454834 Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 5 May 2020 14:06:57 -0400 Subject: [PATCH 2/7] * Add RFC template for core migration --- sigs/addons/MIGRATION_RFC_TEMPLATE.md | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sigs/addons/MIGRATION_RFC_TEMPLATE.md diff --git a/sigs/addons/MIGRATION_RFC_TEMPLATE.md b/sigs/addons/MIGRATION_RFC_TEMPLATE.md new file mode 100644 index 000000000..6d2cda4e3 --- /dev/null +++ b/sigs/addons/MIGRATION_RFC_TEMPLATE.md @@ -0,0 +1,39 @@ +# Migrate XXXXX from TensorFlow Addons to TensorFlow Core + +| Status | Proposed (Waiting for Sponsor) | +| :---------- | :------------------------------------------------------------------------------------------------- | +| **RFC #** | TBD after PR | | +| **Authors** | XXXXXXXXXX | +| **Sponsor** | XXXXXXXXXX | +| **Updated** | YYYY-MM-DD | +| **Sponsorship Deadline** | YYYY-MM-DD | + + +## Background +* Link to implementation in Addons: +* What are the use cases for the addon? +* Have there been signifiant issues reported to Addons that need to be adressed? +* When was it implemented in Addons? +* What is the pytest coverage of the addon? + +## Metrics Supporting the Migration +* OSS usage, H5 Index, etc. + +## Transition Plan +* Proposed landing place in tf-core +* Deprecation plan for Addons + * Will we be able to alias the core implementation? (parameters must be exact match) + +## Changes to Implementation (If Needed) +``` +Code snippet showing proposed code migration +``` +* Discussion on the rationale for changes + +## Relevant GitHub Issues + +## Questions and Discussion Topics + + +## Final Decision +TBD From 63a7a0178e653aab47632871bb2882291d0114b7 Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 5 May 2020 14:17:30 -0400 Subject: [PATCH 3/7] * Updates --- sigs/addons/MIGRATION_RFC_TEMPLATE.md | 28 ++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/sigs/addons/MIGRATION_RFC_TEMPLATE.md b/sigs/addons/MIGRATION_RFC_TEMPLATE.md index 6d2cda4e3..67aa9d081 100644 --- a/sigs/addons/MIGRATION_RFC_TEMPLATE.md +++ b/sigs/addons/MIGRATION_RFC_TEMPLATE.md @@ -6,23 +6,21 @@ | **Authors** | XXXXXXXXXX | | **Sponsor** | XXXXXXXXXX | | **Updated** | YYYY-MM-DD | -| **Sponsorship Deadline** | YYYY-MM-DD | +| **Sponsorship Deadline** | YYYY-MM-DD (45 Days after submission) | - -## Background -* Link to implementation in Addons: +## Rationale for Migration * What are the use cases for the addon? +* OSS usage, H5 Index, etc. + +## Historical Information * Have there been signifiant issues reported to Addons that need to be adressed? * When was it implemented in Addons? -* What is the pytest coverage of the addon? -## Metrics Supporting the Migration -* OSS usage, H5 Index, etc. - -## Transition Plan -* Proposed landing place in tf-core -* Deprecation plan for Addons - * Will we be able to alias the core implementation? (parameters must be exact match) +## Implementation Details +* Link to implementation in Addons: +* Does this include custom-op kernels? + * Are they CPU/GPU/TPU compatible? +* What is the pytest coverage of the addon? ## Changes to Implementation (If Needed) ``` @@ -30,10 +28,14 @@ Code snippet showing proposed code migration ``` * Discussion on the rationale for changes +## Transition Plan +* Proposed landing place in tf-core +* Deprecation plan for Addons + * Will we be able to alias the core implementation? (parameters must be exact match) + ## Relevant GitHub Issues ## Questions and Discussion Topics - ## Final Decision TBD From 34f61cfcbb11be8724af0c45bad420da2f2aaba5 Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 5 May 2020 14:21:39 -0400 Subject: [PATCH 4/7] * Updates --- sigs/addons/MIGRATION_RFC_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sigs/addons/MIGRATION_RFC_TEMPLATE.md b/sigs/addons/MIGRATION_RFC_TEMPLATE.md index 67aa9d081..8eaf06ef6 100644 --- a/sigs/addons/MIGRATION_RFC_TEMPLATE.md +++ b/sigs/addons/MIGRATION_RFC_TEMPLATE.md @@ -24,7 +24,7 @@ ## Changes to Implementation (If Needed) ``` -Code snippet showing proposed code migration +Code snippet(s) showing proposed code changes ``` * Discussion on the rationale for changes From 1e1a79fc8dbf4fee50e2f220507c658b58bd7f06 Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 12 May 2020 13:16:52 -0400 Subject: [PATCH 5/7] * Update the responsibilities of tf-core sponsor --- sigs/addons/MIGRATION_TO_CORE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sigs/addons/MIGRATION_TO_CORE.md b/sigs/addons/MIGRATION_TO_CORE.md index 588051d37..5fd67cd1d 100644 --- a/sigs/addons/MIGRATION_TO_CORE.md +++ b/sigs/addons/MIGRATION_TO_CORE.md @@ -15,7 +15,8 @@ the move with a larger community audience. * Additions which only subclass Keras APIs should submit their migration proposals to [Keras Governance](https://github.com/keras-team/governance) -4. A sponsor from the TF/Keras team must agree to shepard the transition. +4. A sponsor from the TF/Keras team must agree to shepard the transition and maintain +the new API in tensorflow/tensorflow. * If no sponsor is obtained after 45 days the RFC will be rejected and will remain as part of Addons. 5. If a sponsor is obtained, and the RFC is approved, a pull request must move the From de01e7194ff789abe8124d5eff9164d5196d6939 Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 12 May 2020 13:22:48 -0400 Subject: [PATCH 6/7] * Remove aliasing discussion since that's very limiting. --- sigs/addons/MIGRATION_RFC_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sigs/addons/MIGRATION_RFC_TEMPLATE.md b/sigs/addons/MIGRATION_RFC_TEMPLATE.md index 8eaf06ef6..d20606363 100644 --- a/sigs/addons/MIGRATION_RFC_TEMPLATE.md +++ b/sigs/addons/MIGRATION_RFC_TEMPLATE.md @@ -30,8 +30,8 @@ Code snippet(s) showing proposed code changes ## Transition Plan * Proposed landing place in tf-core +* Will there be any changes to the API? (e.g. additional parameters or renaming) * Deprecation plan for Addons - * Will we be able to alias the core implementation? (parameters must be exact match) ## Relevant GitHub Issues From 351b578a8af3f7ce675ee8796dba4ee9cce20aec Mon Sep 17 00:00:00 2001 From: Sean Morgan Date: Tue, 12 May 2020 13:26:16 -0400 Subject: [PATCH 7/7] * Rename to criteria for migration RFC --- sigs/addons/MIGRATION_TO_CORE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sigs/addons/MIGRATION_TO_CORE.md b/sigs/addons/MIGRATION_TO_CORE.md index 5fd67cd1d..e7f7be129 100644 --- a/sigs/addons/MIGRATION_TO_CORE.md +++ b/sigs/addons/MIGRATION_TO_CORE.md @@ -26,7 +26,7 @@ if possible. If an alias is not possible (e.g. large parameter changes), then a warning will be added and will be removed from TFA after 2 releases. -### Criteria for Migration +### Criteria for Migration RFC * The addition is widely used throughout the community, or has high academic significance. * Metrics must be reported in the RFC (OSS usage, H5 index, etc.) * The addition is unlikely to have API changes as time progresses