Skip to content
This repository was archived by the owner on Jul 10, 2025. It is now read-only.

Conversation

@zhitaoli
Copy link
Contributor

@zhitaoli zhitaoli commented Mar 24, 2021

API & Artifact Compatibility for TFX OSS & Libraries

This RFC will be open for comments until April 7, 2021

Status Proposed
RFC # API & Artifact Compatibility for TFX::OSS & Libraries.
Author(s) Zhitao Li (zhitaoli@google.com), Jiayi Zhao (jyzhao@google.com), Zhuo Peng (zhuo@google.com)
Sponsor Konstantinos Katsiapis (katsiapis@google.com), Zhitao Li (zhitaoli@google.com)
Updated 2021-03-21

Objective

Defining requirements and processes for TFX::OSS and related libraries to achieve
necessary API & Artifact compatibility.

Goals

  • Clearly define a stable API surface of TFX::OSS, and lay out a structure to
    determine what falls into the stable public APIs.
  • API stability: TFX::OSS (as pipeline) and all APIs from Key Dependency Libs
    exposed through TFX::OSS should achieve desired backward compatibility.

@theadactyl theadactyl added the RFC: Proposed RFC Design Document label Mar 24, 2021
@theadactyl theadactyl changed the title RFC: API & Artifact Compatibility for TFX::OSS & Libraries. RFC: API & Artifact Compatibility for TFX OSS & Libraries Mar 24, 2021
@casassg
Copy link
Member

casassg commented Apr 1, 2021

Another question: Whats the compatibility between Component and Executor versions. If I define a pipeline in version 1.0.0, will it be possible to have garantees that if the TFX version is 1.X will be able to execute the component nicely? This comes to mind on versioning docker images for Kubeflow or AI Platform Training. Will we need to keep version parity between environment defining the pipeline and environment executing components.

@zhitaoli
Copy link
Contributor Author

zhitaoli commented Apr 4, 2021

Another question: Whats the compatibility between Component and Executor versions. If I define a pipeline in version 1.0.0, will it be possible to have garantees that if the TFX version is 1.X will be able to execute the component nicely? This comes to mind on versioning docker images for Kubeflow or AI Platform Training. Will we need to keep version parity between environment defining the pipeline and environment executing components.

If I understand it correctly, your example is asking if a TFX pipeline authored with 1.0.0 can use container images from TFX 1.1.0, or vice versa.

To guarantee that example to work, we would need to commit that both TFX IR and Container entrypoint interface are fully stable, both of which was out of our initial scope, because they are still seeing active development.

Copy link
Member

@casassg casassg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To guarantee that example to work, we would need to commit that both TFX IR and Container entrypoint interface are fully stable, both of which was out of our initial scope, because they are still seeing active development.

Copy that. May be interesting to call it out in the document.

@zhitaoli
Copy link
Contributor Author

To guarantee that example to work, we would need to commit that both TFX IR and Container entrypoint interface are fully stable, both of which was out of our initial scope, because they are still seeing active development.

Copy that. May be interesting to call it out in the document.

Done.

@zhitaoli zhitaoli closed this Apr 21, 2021
@zhitaoli zhitaoli reopened this Apr 21, 2021
Copy link
Member

@casassg casassg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Added a small question, but not blocking for release as we can figure out later and make it stable later.

@casassg
Copy link
Member

casassg commented May 12, 2021

🎉

@ematejska ematejska added RFC: Accepted RFC Design Document: Accepted by Review and removed RFC: Proposed RFC Design Document labels May 12, 2021
@ematejska ematejska merged commit 5461ac7 into tensorflow:master May 12, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cla: yes RFC: Accepted RFC Design Document: Accepted by Review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants