diff --git a/.github/ISSUE_TEMPLATE/00-bug-performance-issue.md b/.github/ISSUE_TEMPLATE/00-bug-performance-issue.md index 34ba4cf9601..d64a1afd895 100644 --- a/.github/ISSUE_TEMPLATE/00-bug-performance-issue.md +++ b/.github/ISSUE_TEMPLATE/00-bug-performance-issue.md @@ -8,21 +8,17 @@ about: Use this template for reporting a bug or a performance issue. **System information** - Have I written custom code (as opposed to using a stock example script provided in TensorFlow): -- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): -- Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: +- OS Platform and Distribution (e.g., Linux Ubuntu 16.04 x86\_64): - TensorFlow installed from (source or binary): - TensorFlow version (use command below): -- Python version: +- Java version (i.e., the output of `java -version`): +- Java command line flags (e.g., GC parameters): +- Python version (if transferring a model trained in Python): - Bazel version (if compiling from source): - GCC/Compiler version (if compiling from source): - CUDA/cuDNN version: - GPU model and memory: - -You can collect some of this information using our environment capture [script](https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh) -You can also obtain the TensorFlow version with -python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" - **Describe the current behavior** **Describe the expected behavior** diff --git a/.github/ISSUE_TEMPLATE/10-build-installation-issue.md b/.github/ISSUE_TEMPLATE/10-build-installation-issue.md index 99c2fe61271..75d00465ed2 100644 --- a/.github/ISSUE_TEMPLATE/10-build-installation-issue.md +++ b/.github/ISSUE_TEMPLATE/10-build-installation-issue.md @@ -7,23 +7,21 @@ about: Use this template for build/installation issues Please make sure that this is a build/installation issue. As per our [GitHub Policy](https://github.com/tensorflow/tensorflow/blob/master/ISSUES.md), we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template **System information** -- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): -- Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: +- OS Platform and Distribution (e.g., Linux Ubuntu 16.04 x86\_64): - TensorFlow installed from (source or binary): - TensorFlow version: -- Python version: -- Installed using virtualenv? pip? conda?: +- Java version (i.e., the output of `java -version`): +- Java command line flags (e.g., GC parameters): +- Installed from Maven Central?: - Bazel version (if compiling from source): - GCC/Compiler version (if compiling from source): - CUDA/cuDNN version: - GPU model and memory: - **Describe the problem** **Provide the exact sequence of commands / steps that you executed before running into the problem** - **Any other info / logs** Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. diff --git a/.github/ISSUE_TEMPLATE/50-other-issues.md b/.github/ISSUE_TEMPLATE/40-other-issues.md similarity index 100% rename from .github/ISSUE_TEMPLATE/50-other-issues.md rename to .github/ISSUE_TEMPLATE/40-other-issues.md diff --git a/.github/ISSUE_TEMPLATE/40-tflite-op-request.md b/.github/ISSUE_TEMPLATE/40-tflite-op-request.md deleted file mode 100644 index 7b391279e47..00000000000 --- a/.github/ISSUE_TEMPLATE/40-tflite-op-request.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: TensorFlow Lite Op Request -about: Use this template for reporting ops you are using or missing. - ---- - - -**System information** -- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): -- TensorFlow installed from (source or binary): -- TensorFlow version (or github SHA if from source): - - -**Provide the text output from tflite_convert** - -``` -# Copy and paste here -``` - -Also, please include a link to a GraphDef or the model if possible. - -**Any other info / logs** - -Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..eb13a791345 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,162 @@ +name: CI build +on: + push: + branches: + - master + - staging + - r[0-9]+.* + pull_request: + branches: + - master + - r[0-9]+.* + types: [opened, reopened, synchronize, labeled, unlabeled] +env: + STAGING_PROFILE_ID: 46f80d0729c92d + DEPLOY_SNAPSHOT: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/staging') }} + DEPLOY_RELEASE: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/heads/r') }} +jobs: + check-format: + if: github.event_name == 'pull_request' + runs-on: ubuntu-22.04 + steps: + - name: Configure Java + uses: actions/setup-java@v5 + with: + distribution: 'adopt' + java-version: '17' + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Build project + run: | + gcc --version + mvn -version + mvn clean install -Pjdk17 -B -U -e -Dlint.skip=true -Dmaven.test.skip=true + - name: Run format checks + run: | + mvn spotless:check -Pjdk17 -B -U -e + prepare: + runs-on: ubuntu-22.04 + outputs: + repositoryUrl: ${{ steps.repository.outputs.repositoryUrl }} + steps: + - name: Create staging repository + if: env.DEPLOY_RELEASE == 'true' + id: staging + run: | + echo "Creating staging repository with profile $STAGING_PROFILE_ID" + echo "Releasing TF Java - created by CI build" > request.xml + curl -X POST -d @request.xml -s -o response.xml -u ${{ secrets.CI_DEPLOY_USERNAME }}:${{ secrets.CI_DEPLOY_PASSWORD }} -H "Content-Type:application/xml" \ + https://ossrh-staging-api.central.sonatype.com/service/local/staging/profiles/$STAGING_PROFILE_ID/start + export STAGING_REPOSITORY_ID=`awk -F'[<>]' '/stagedRepositoryId/{print $3}' response.xml` + echo "Staging repository created: $STAGING_REPOSITORY_ID" + echo "::set-output name=stagingRepositoryId::$STAGING_REPOSITORY_ID" + - name: Checkout repository + uses: actions/checkout@v6 + - name: Extract distribution repository URL + id: repository + run: | + if [[ "${{ env.DEPLOY_RELEASE }}" = "true" ]]; then + export REPOSITORY_URL=`mvn exec:exec -q -N -Dexec.executable='echo' -Dexec.args="\\${project.distributionManagement.repository.url}" -DstagingRepositoryId=${{ steps.staging.outputs.stagingRepositoryId }}` + else + export REPOSITORY_URL=`mvn exec:exec -q -N -Dexec.executable='echo' -Dexec.args="\\${project.distributionManagement.snapshotRepository.url}"` + fi + echo "Repository URL: $REPOSITORY_URL" + echo "::set-output name=repositoryUrl::$REPOSITORY_URL" + linux-arm64: + runs-on: ubuntu-2204-arm64-2c + needs: prepare + strategy: + matrix: + ext: [""] + steps: + - name: Install environment + run: | + sudo apt update + sudo apt install -y curl wget unzip tar git gcc g++ + - name: Configure Java + uses: actions/setup-java@v5 + with: + distribution: 'zulu' + java-version: '17' + architecture: 'aarch64' + - name: Checkout repository + uses: actions/checkout@v6 + - name: Build project + run: | + gcc --version + mvn -version + echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml + mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} + - name: Deploy native artifact + if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true' + run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }} + linux-x86_64: + runs-on: ubuntu-22.04 + needs: prepare + strategy: + matrix: + ext: ["", -gpu] + steps: + - name: Configure Java + uses: actions/setup-java@v5 + with: + distribution: 'adopt' + java-version: '11' + - name: Checkout repository + uses: actions/checkout@v6 + - name: Build project + run: | + gcc --version + mvn -version + echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml + mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} + - name: Deploy native artifact + if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true' + run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }} + macosx-arm64: + runs-on: macos-14 + needs: prepare + strategy: + matrix: + ext: [""] + steps: + - name: Configure Java + uses: actions/setup-java@v5 + with: + distribution: 'zulu' + java-version: '17' + architecture: 'arm64' + - name: Checkout repository + uses: actions/checkout@v6 + - name: Build project + run: | + clang --version + mvn -version + echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml + mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} + - name: Deploy native artifact + if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true' + run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }} + deploy: + if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/staging') }} # DEPLOY_SNAPSHOT (releases should be signed and deployed manually from local machine) + needs: [linux-x86_64, macosx-arm64, linux-arm64] + runs-on: ubuntu-22.04 + steps: + - name: Configure Java + uses: actions/setup-java@v5 + with: + distribution: 'adopt' + java-version: '11' + - name: Checkout repository + uses: actions/checkout@v6 + - name: Build project + run: | + java -version + mvn -version + mvn clean install -B -U -e -Pdeploying + - name: Deploy snapshot artifacts + run: | + echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml + mvn deploy -Pdeploying -B -e -Dmaven.test.skip=true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index bbf156e7345..00000000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,147 +0,0 @@ -name: CI jobs -on: - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - linux-x86_64: - runs-on: ubuntu-latest - container: nvidia/cuda:10.1-cudnn7-devel-centos7 - strategy: - matrix: - ext: ["", -mkl, -gpu, -mkl-gpu] - steps: - - name: Install environment - run: | - yum -y update - yum -y install centos-release-scl-rh epel-release - yum -y install java-1.8.0-openjdk-devel devtoolset-7 rh-git218 patch python36-devel python36-pip python36-six - echo Downloading Maven - curl -L https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz -o $HOME/apache-maven-3.6.3-bin.tar.gz - tar xzf $HOME/apache-maven-3.6.3-bin.tar.gz -C /opt/ - ln -sf /opt/apache-maven-3.6.3/bin/mvn /usr/bin/mvn - echo Downloading Bazel - curl -L https://github.com/bazelbuild/bazel/releases/download/2.0.0/bazel-2.0.0-installer-linux-x86_64.sh -o bazel.sh --retry 10 - bash bazel.sh - - name: Checkout repository - uses: actions/checkout@v1 - - name: Build project - run: | - source scl_source enable devtoolset-7 rh-git218 || true - git --version - gcc --version - mvn -version - bazel version - df -h - echo "Fixing HOME to /root (was '$HOME')" - export HOME=/root - mkdir -p $HOME/.m2 - [[ "${{ github.event_name }}" == "push" ]] && MAVEN_PHASE=deploy || MAVEN_PHASE=install - echo "ossrh${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml - echo Executing Maven $MAVEN_PHASE - mvn clean $MAVEN_PHASE -Possrh -B -U -e -Djavacpp.platform=linux-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }} - df -h - macosx-x86_64: - runs-on: macos-latest - strategy: - matrix: - ext: ["", -mkl] - steps: - - name: Install environment - run: | - python3 -m pip install six - echo Downloading Bazel - curl -L https://github.com/bazelbuild/bazel/releases/download/2.0.0/bazel-2.0.0-installer-darwin-x86_64.sh -o bazel.sh --retry 10 - bash bazel.sh - - name: Checkout repository - uses: actions/checkout@v1 - - name: Build project - run: | - git --version - clang --version - mvn -version - bazel version - mkdir -p $HOME/.m2 - [[ "${{ github.event_name }}" == "push" ]] && MAVEN_PHASE=deploy || MAVEN_PHASE=install - echo "ossrh${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml - df -h - echo Executing Maven $MAVEN_PHASE - mvn clean $MAVEN_PHASE -Possrh -B -U -e -Djavacpp.platform=macosx-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }} - df -h - windows-x86_64: - runs-on: windows-latest - strategy: - matrix: - ext: ["", -mkl, -gpu, -mkl-gpu] - steps: - - name: Install environment - shell: cmd - run: | - python -m pip install six - echo Removing some unused stuff to avoid running out of disk space - rm.exe -Rf "C:/Program Files (x86)/Android" "C:/Program Files/dotnet" "%CONDA%" "%GOROOT_1_10_X64%" "%GOROOT_1_11_X64%" "%GOROOT_1_12_X64%" "%GOROOT_1_13_X64%" "C:\hostedtoolcache\windows\Ruby" "C:\Rust" - echo Removing old versions of MSVC that interfere with Bazel - bash.exe -lc "find 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/' -iname '14.1*' -exec rm -Rf {} \;" - echo Downloading Bazel - mkdir C:\bazel - curl.exe -L https://github.com/bazelbuild/bazel/releases/download/2.0.0/bazel-2.0.0-windows-x86_64.exe -o C:/bazel/bazel.exe --retry 10 - echo Installing CUDA - curl.exe -L http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_426.00_windows.exe -o cuda.exe - curl.exe -L https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.4/cudnn-10.1-windows7-x64-v7.6.4.38.zip -o cudnn.zip - cuda.exe -s - mkdir cuda - unzip.exe cudnn.zip - cp.exe -a cuda/include cuda/lib cuda/bin "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/" - - name: Checkout repository - uses: actions/checkout@v1 - - name: Build project - shell: cmd - run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64 - set "CUDA_PATH=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v10.1" - set "CUDA_PATH_V10_1=%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v10.1" - set "PATH=C:\bazel;%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp;%PATH%" - echo Shorten work paths to prevent Bazel from reaching MAX_PATH limit - set "TEST_TMPDIR=C:\tmp" - set "TMPDIR=C:\tmp" - set "TEMP=C:\tmp" - set "TMP=C:\tmp" - mkdir C:\tmp - git --version - cl - call mvn -version - bazel version - mkdir %USERPROFILE%\.m2 - if "${{ github.event_name }}"=="push" (set MAVEN_PHASE=deploy) else (set MAVEN_PHASE=install) - echo ^^^^ossrh^^${{ secrets.CI_DEPLOY_USERNAME }}^^${{ secrets.CI_DEPLOY_PASSWORD }}^^^^ > %USERPROFILE%\.m2\settings.xml - df -h - wmic pagefile list /format:list - echo Executing Maven %MAVEN_PHASE% - call mvn clean %MAVEN_PHASE% -Possrh -B -U -e -Djavacpp.platform=windows-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }} - df -h - wmic pagefile list /format:list - redeploy: - if: github.event_name == 'push' - needs: [linux-x86_64, macosx-x86_64] - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v1 - - name: Redeploy snapshot artifacts - run: | - cd tensorflow-core - mvn dependency:resolve -Possrh -Predeploy -N -B -U -e -Djavacpp.platform.custom -Djavacpp.platform.linux-x86_64 -Djavacpp.platform.macosx-x86_64 - cp $HOME/.m2/repository/org/tensorflow/tensorflow-core-api/*-SNAPSHOT/tensorflow-core-api-*-SNAPSHOT*.jar . - for f in *.jar; do - if [[ $f =~ tensorflow-core-api-.*SNAPSHOT-(.*).jar ]]; then - [[ -n $FILES ]] && FILES=$FILES,$f || FILES=$f - [[ -n $TYPES ]] && TYPES=$TYPES,jar || TYPES=jar - [[ -n $CLASSIFIERS ]] && CLASSIFIERS=$CLASSIFIERS,${BASH_REMATCH[1]} || CLASSIFIERS=${BASH_REMATCH[1]} - fi - done - echo "ossrh${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml - mvn clean deploy -Possrh -Predeploy -N -B -U -e -Dfiles=$FILES -Dtypes=$TYPES -Dclassifiers=$CLASSIFIERS diff --git a/.gitignore b/.gitignore index 2063545f295..d9e902d7d9e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ node_modules /.bazelrc.user /.tf_configure.bazelrc /**/bazel-* -/**/target/ /bazel_pip /tools/python_bin_path.sh /tensorflow/tools/git/gen @@ -17,6 +16,7 @@ __pycache__ cmake_build/ tensorflow/contrib/cmake/_build/ .idea/** +.run /build/ [Bb]uild/ /tensorflow/core/util/version_info.cc @@ -36,6 +36,10 @@ xcuserdata/** /api_init_files_list.txt /estimator_api_init_files_list.txt *.whl +tensorflow-core/tensorflow-core-api/downloads/ + +# Vim backups +*~ # Patch files *.orig @@ -47,3 +51,19 @@ xcuserdata/** *.iml local.properties gradleBuild + +# VSCode +.settings/ +.project +.classpath + +**/target +.tf_configure.bazelrc +.clwb/ + +# Deployment Files +settings.xml +pom.xml.asc + +# Docs +docs/docs/apidocs/ \ No newline at end of file diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 00000000000..8488a4fce61 --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,10 @@ +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..9da8b9603aa --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,166 @@ +# Building and Contributing to TensorFlow Java + +## Contributing + +### Formatting + +Java sources should be formatted according to the [Google style guide](https://google.github.io/styleguide/javaguide.html). It can be included +in [IntelliJ](https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml) and +[Eclipse](https://github.com/google/styleguide/blob/gh-pages/eclipse-java-google-style.xml). +[Google's C++ style guide](https://google.github.io/styleguide/cppguide.html) should also be used for C++ code. + +### Dependencies + +For dependencies, we can use anything compliant with [this list](https://opensource.google/docs/thirdparty/licenses/#notice), but we want to keep the core libraries as dependency free as possible. + +## Building + +To build all the artifacts locally, simply invoke the command `mvn install` at the root of this repository (or the Maven command of your choice). + +### JDK 16+ + +If you're using JDK 16+, you need to add some exports for the formatter plugin: + +``` +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +``` + +This can be done in `.mvn/jvm.config` or `MAVEN_OPTS`. + +### Native Builds + +By default, the build will attempt to download the existing TensorFlow binaries from the web for the platform it is running on (so you need to have an active internet connection). +If such binaries are not available for your platform, you will need to build the TensorFlow runtime library from sources, by appending the `-Pnative-build` argument to your Maven +command. This requires a valid environment for building TensorFlow, including the [bazel](https://bazel.build/) build tool and a few Python dependencies +(please read [TensorFlow documentation](https://www.tensorflow.org/install/source) for more details). Note that building from sources can take multiple hours on a regular laptop. + +To build for GPU, pass `-Djavacpp.platform.extension=-gpu` to maven. If you want to use TensorFlow Java with unsupported GPUs, set the environment variable `TF_CUDA_COMPUTE_CAPABILITIES`, or +configure it in a bazel rc file (i.e. `build --action_env TF_CUDA_COMPUTE_CAPABILITIES="6.1"`). + +### Native Crashes + +Occasionally tests will fail with a message like: + +``` +Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test(default-test)on project tensorflow-core-api:There are test failures. + + Please refer to C:\mpicbg\workspace\tensorflow\java\tensorflow-core\tensorflow-core-api\target\surefire-reports for the individual test results. + Please refer to dump files(if any exist)[date]-jvmRun[N].dump,[date].dumpstream and[date]-jvmRun[N].dumpstream. + The forked VM terminated without properly saying goodbye.VM crash or System.exit called? + Command was cmd.exe/X/C"C:\Users\me\.jdks\adopt-openj9-1.8.0_275\jre\bin\java -jar C:\Users\me\AppData\Local\Temp\surefire236563113746082396\surefirebooter5751859365434514212.jar C:\Users\me\AppData\Local\Temp\surefire236563113746082396 2020-12-18T13-57-26_766-jvmRun1 surefire2445852067572510918tmp surefire_05950149004635894208tmp" + Error occurred in starting fork,check output in log + Process Exit Code:-1 + Crashed tests: + org.tensorflow.TensorFlowTest + org.apache.maven.surefire.booter.SurefireBooterForkException:The forked VM terminated without properly saying goodbye.VM crash or System.exit called? + Command was cmd.exe/X/C"C:\Users\me\.jdks\adopt-openj9-1.8.0_275\jre\bin\java -jar C:\Users\me\AppData\Local\Temp\surefire236563113746082396\surefirebooter5751859365434514212.jar C:\Users\me\AppData\Local\Temp\surefire236563113746082396 2020-12-18T13-57-26_766-jvmRun1 surefire2445852067572510918tmp surefire_05950149004635894208tmp" + Error occurred in starting fork,check output in log + Process Exit Code:-1 + Crashed tests: + org.tensorflow.TensorFlowTest + at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:671) + at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533) + at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:278) + at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:244) +``` + +This is because the native code crashed (i.e. because of a segfault), and it should have created a dump file somewhere in the project that you can use +to tell what caused the issue. + +## Upgrading TensorFlow Version + +To upgrade the version of TensorFlow that is embedded within TensorFlow Java, please follow carefully these steps. + +### Upgrading TensorFlow Native Library + +1. Download locally the archive of the tensorflow release at https://github.com/tensorflow/tensorflow/archive/refs/tags/vX.X.X.tar.gz +2. Compute the SHA sum using the shell command `shasum -a 256 ` +3. Update `urls`, `sha256` and `strip_prefix` fields of the `org_tensorflow` archive rule in Bazel [workspace](https://github.com/tensorflow/java/blob/master/tensorflow-core/tensorflow-core-native/WORKSPACE#L19) +4. Extract the archive in a temporary folder +5. Copy the content of `tensorflow-x.x.x/.bazelrc` file to `tensorflow-core/tensorflow-core-native/tensorflow.bazelrc` under TensorFlow Java source tree +6. Copy the content of `tensorflow-x.x.x/WORKSPACE` after the "###### Copy content of..." notice to `tensorflow-core/tensorflow-core-native/WORKSPACE`, read notice for more details +7. Copy the content of `tensorflow-x.x.x/.bazelversion` file to `tensorflow-core/tensorflow-core-native/.bazelversion` +8. Validate that options in `tensorflow-core/tensorflow-core-native/.bazelrc` are still accurate or update them accordingly +9. Update URLs of existing TensorFlow binaries in the `tensorflow-core/tensorflow-core-native/scripts/dist_download` script +10. Update URLs of TensorFlow-Text binaries used for testing in the `tensorflow-core/tensorflow-core-api/scripts/test_download` script + +#### Patching TensorFlow Sources + +In order to build the TensorFlow native library to work with TensorFlow Java, we sometimes need to apply some patches to the TensorFlow sources. These +patches are found in `tensorflow-core/tensorflow-core-native/external`. + +- If you have an error like "Error in fail: Error applying patch //external:xxx.patch:", verify why the patch is failing by looking at the TensorFlow source code. + Chances are that this code has changed and the patch needs to be updated. +- To create a new patch or update one, you can make a copy of the TensorFlow source file to change, make your change and generate a patch using `git diff ` +- If more than one file needs to be added to the patch, it's easier to clone the [TensorFlow repository](https://github.com/tensorflow/tensorflow), apply the changes and use `git diff` at the root of the tree + +### Generating Java Bindings + +After upgrading the TensorFlow library, you need to regenerate all Java bindings that depends on the native code. That includes Java protos, C API bindings (JavaCPP) and +operator classes. You can trigger the regeneration of these bindings with the Maven command `mvn clean install -Pgenerating`. + +This will also trigger a small Bazel build of the TensorFlow sources to regenerate the Java protos, so make sure your [environment](CONTRIBUTING.md#native-builds) is setup properly. + +#### Operations Classification + +When generating the operator classes, the build process might prompt you to provide information about the new operations found in the targeted TensorFlow version. This will generate a new API definition +under the [tensorflow-core/tensorflow-core-api/api](https://github.com/tensorflow/java/tree/master/tensorflow-core/tensorflow-core-api/api) folder. The required +information is: +* The visibility for this op + * VISIBLE to force the creation of a Java class that will be also exposed by the `*Ops` API classes. + * HIDDEN for creating a Java class that won't be exposed by the `*Ops` API classes. + * SKIP for not creating a Java class for this operation + * DEFAULT to rely on the visibility settings set in TensorFlow sources +* The name group for this operator + * This name is used to place this operator under the right subpackage and `*Ops` API. + * For example, the group `nn` will place the operator `Conv` under the `org.tensorflow.op.nn` package and in the `NnOps` API class. + * When no group is specified, the operator will go under the `org.tensorflow.op.core` package and in the `Ops` API class. +* The name for this op + * By default is the name found in TensorFlow registry but can be useful in some cases to rename it in case it clashes with Java keywords (e.g. `Switch`-> `SwitchCond`) + * Can also be used to remove the suffix of an operation that has multiple versions (e.g. `RestoreV2` -> `Restore`) + +The actual classification process is a bit arbitrary and based on the good judgement of the developer. The reason is that most ops in Python +are being wrapped by a higher-level API and therefore are left unclassified, while in Java they are exposed and can be used directly by +the users. + +Please review the location of the new generated operators after the build is complete and make necessary adjustments to the API definitions protos +manually if some of them seems to be in the "wrong" place, making sure to repeat this process until satisfaction. + +#### New Operation Version + +Some operations might be just an upgrade of another existing operations. For instance, there are many version of the `BatchMatMul` kernel (V1, V2, V3...). +When you see that a new op is just an upgrade from another other one, make sure that the latest version has a valid endpoint and that all other +previous versions of this operation are marked as `VISIBILITY: SKIP`. + +### Java Protos Classification + +TensorFlow Java distributes a large number proto definitions found in the TensorFlow native library as Java classes. Again, new protos might not +be classified properly since they may be lacking the `option java_*` statements at the beginning of their definition. The build script will attempt +to mitigate this omission by generating the proto bindings under the same package as the `package` statement (if also present), and under the root package +`org.tensorflow.proto`. + +#### Custom Operators + +Code generation for `Ops` and related classes is done during `tensorflow-core-api`'s `compile` phase, using the annotation processor in +`tensorflow-core-generator`. If you change or add any operator classes (annotated with `org.tensorflow.op.annotation.Operator`), endpoint methods ( +annotated with `org.tensorflow.op.annotation.Endpoint`), or change the annotation processor, be sure to re-run a +`mvn clean install -Pgenerating` in `tensorflow-core-api`. + +## Known Issues + +### Missing Gradients + +In some cases, a op supported by Tensorflow Java will not have a gradient defined, resulting in errors like this: +``` +org.tensorflow.exceptions.TensorFlowException: No gradient defined for op: ReadVariableOp. Please see https://www.tensorflow.org/code/tensorflow/cc/gradients/README.md for instructions on how to add C++ gradients. + at org.tensorflow.internal.c_api.AbstractTF_Status.throwExceptionIfNotOK(AbstractTF_Status.java:101) + at org.tensorflow.Graph.addGradients(Graph.java:708) + at org.tensorflow.Graph.addGradients(Graph.java:291) +``` +The description in the [linked file](https://www.tensorflow.org/code/tensorflow/cc/gradients/README.md) are accurate for adding C++ Graph gradients, which are used by our `Graph`. Examples of doing that are [tensorflow/tensorflow#46115](https://github.com/tensorflow/tensorflow/pull/46115) and [tensorflow/tensorflow#47774](https://github.com/tensorflow/tensorflow/pull/47774). + +You can also code and register the missing gradients in Java, using the TensorFlow Java custom gradient registration capabilities. Check at the JavaDoc of `tensorflow-core-api` for more details. diff --git a/LICENSE b/LICENSE index 786bd07395c..261eeb9e9f8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,3 @@ -Copyright 2020 The TensorFlow Authors. All rights reserved. - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ diff --git a/MIGRATING.md b/MIGRATING.md new file mode 100644 index 00000000000..ac7276eba99 --- /dev/null +++ b/MIGRATING.md @@ -0,0 +1,148 @@ +# Migrating Between TensorFlow Java Releases + +TensorFlow Java is still in an alpha stage, therefore is subject to contain breaking changes between the different releases. This guide explain in detail +how to migrate your code from a previous version to a new one that includes some changes that are not backward compatible. + +## Migrating to 1.0.0 + +TensorFlow-Java 1.0.0 requires Java 11 or later. + +### Native Artifact Renaming + +The native artifacts, that used to be distributed as `tensorflow-core-api`, are now distributed under `tensorflow-core-native`. If you still add +`tensorflow-core-platform` in your project, that won't affect you. But if you were adding dependencies to specific native runtimes, you need to update +them to reflect the new artifact name. + +For example, +```xml + + org.tensorflow + tensorflow-core-api + 0.5.0 + + + org.tensorflow + tensorflow-core-api + 0.5.0 + linux-x86_64 + +``` +will now be +```xml + + org.tensorflow + tensorflow-core-api + 1.0.0 + + + org.tensorflow + tensorflow-core-native + 1.0.0 + linux-x86_64 + +``` +### Java Module Renaming + +The Java Module (jigsaw) names has been updated to drop the leading `org.`, as follow: +- `tensorflow-core-api` : `tensorflow` (was `org.tensorflow` before) +- `tensorflow-core-generator` : `tensorflow.generator` (was `org.tensorflow-generator` before) +- `tensorflow-core-native` : `tensorflow.nativelib` +- `tensorflow-framework` : `tensorflow.framework` (was `org.tensorflow.framework` before) + +### GPU Support + +Previous versions of TF Java were building a `tensorflow-core-platform-gpu` artifact upon which application could depend +on to include any TensorFlow native library that GPU support enabled. Since TensorFlow has removed its support of GPU +on all platforms other than Linux, we removed our platform JAR in favour of simply adding a dependency on the +`linux-x86_64-gpu` native artifact. +```xml + + org.tensorflow + tensorflow-core-native + 1.0.0 + linux-x86_64-gpu + +``` +Please note that including this dependency won't work if your application also depends on `tensorflow-core-platform`. If +you need to support more platforms than Linux, you should include the other `tensorflow-core-native` dependencies +separately (see the [README](README.md) file). + +### Session Run Result + +In versions before 0.4.0 `Session.Runner.run` and `TensorFunction.call` returned a `List`. In newer versions +they return a `Result` class which is `AutoCloseable` to make management of the tensor lifetime simpler. To migrate +users should wrap the `run` invocation in a try-with-resources statement rather than closing the output tensors +individually. + +### Proto Definitions Moved + +Some proto definitions under `org.tensorflow.proto` have been moved to a different location under the same (`org.tensorflow.proto`) package. +Certain classes have moved packages, for example, `org.tensorflow.proto.example.Feature` to `org.tensorflow.proto.Feature`. +You will need to reimport these proto bindings to match the new location. Your IDE should easily be able to do this for you. + +## Migrating to 0.3.0 + +### Non-parameterized Typed Tensors + +In previous versions, the `Tensor` class was parameterized with its tensor type interface, which is part of the `TType` family. To access directly the memory +tensor from the JVM, an explicit conversion between `Tensor` and its tensor type was required by calling `tensor.data()`. + +In 0.3.0, tensors are always typed, making this generic parameter and explicit mapping obsolete. As soon as you get a handle to a tensor, you are able to +access directly its memory for reading (or writing for most tensor types) and no convertion is required. Any instances of a class in the `TType` family +can also now be manipulated directly as a `Tensor` (e.g. to be passed to a session for inference). + +Steps: +1. Replace a parameterized `Tensor` by its parameter (e.g. `Tensor` -> `TFloat32`) +2. Replace instance of `Tensor` with unknown parameter by `Tensor` +3. Remove any invocation to `Tensor.data()` (e.g. `tensor.data().getFloat()` -> `tensor.getFloat()`) +4. Replace any invocation to `Operand.data()` by `Operand.asTensor()` + +### Use of Java Type System instead of DataType + +In previous versions, the `DataType` class was used to carry information about the type of a `Tensor`, that can then be converted back to a tensor of that +type (see previous section). Since there were a exact parity between interfaces of the `TType` family and an instance of `DataType`, the latter has been dropped +in 0.3.0 to leverage instead the standard type system in Java, for a better idiomatic experience. + +Steps: +1. Replace all accesses to the `DTYPE` field of a `TType` interface by its class (e.g. `TFloat32.DTYPE` -> `TFloat32.class`) +2. Use Java type system for checking tensor types at runtime (e.g. using `instanceof` or `isAssignableFrom`) +3. Replace any invocation to `Tensor.expect()` by an explicit cast (e.g. `tensor.expect(TFloat32.DTYPE)` -> `(TFloat32)tensor`) + +### Example + +0.2.0: +``` +Session session = ...; + +try (Tensor tensor = TFloat32.tensorOf(Shape.of(1, 2))) { + TFloat32 tensorData = tensor.data(); + tensorData.setFloat(10.0f, 0); + tensorData.setFloat(20.0f, 1); + + try (Tensor result = session.runner().feed("x", tensor).fetch("y").run().get(0)) { + if (result.dataType() == TFloat32.DTYPE) { + Tensor typedResult = result.expect(TFloat32.DTYPE); + TFloat32 resultData = typedResult.data(); + System.out.println("Result is " + resultData.getFloat()); + } + } +} +``` + +0.3.0: +``` +Session session = ...; + +try (TFloat32 tensor = TFloat32.tensorOf(Shape.of(1, 2))) { + tensor.setFloat(10.0f, 0); + tensor.setFloat(20.0f, 1); + + try (Tensor result = session.runner().feed("x", tensor).fetch("y").run().get(0)) { + if (result instanceof TFloat32) { + TFloat32 typedResult = (TFloat32)result; + System.out.println("Result is " + typedResult.getFloat()); + } + } +} +``` + diff --git a/README.md b/README.md index 3e7d41c9d20..536ce3f27ba 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,5 @@ # TensorFlow for Java -***!!! IMPORTANT NOTICE !!! This repository is UNDER CONSTRUCTION and does not yet host the code of the -offical TensorFlow Java artifacts!*** - -***Please refer to the [TensorFlow Java module](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java) -of the main repository for the actual code.*** - ## Welcome to the Java world of TensorFlow! TensorFlow can run on any JVM for building, training and running machine learning models. It comes with @@ -25,52 +19,73 @@ migrated from Bazel to Maven, which is more familiar for most Java developers. The following describes the layout of the repository and its different artifacts: * `tensorflow-core` - * All artifacts that build up the core language bindings of TensorFlow for Java. - * Those artifacts provide the minimal support required to use the TensorFlow runtime on a JVM. + * All artifacts that build up the core language bindings of TensorFlow for Java + * Intended audience: projects that provide their own APIs or frameworks on top of + TensorFlow and just want a thin layer to access the TensorFlow native library from the JVM -* `tensorflow-training` - * High-level APIs built on top of the core libraries for neural network training with TensorFlow. - -* `tensorflow-tools` - * Utility libraries that do not depend on the TensorFlow runtime but are useful for machine learning purposes. - -## Building Sources +* `tensorflow-framework` + * Primary API for building and training neural networks with TensorFlow + * Intended audience: neural network developers + * For more information: [tensorflow-framework/README.md](tensorflow-framework/README.md) + +*Note: The NdArray Library module has now its own [repository](https://github.com/tensorflow/java-ndarray) and has been moved out of TensorFlow Java.* -To build all the artifacts, simply invoke the command `mvn install` at the root of this repository (or -the Maven command of your choice). It is also possible to build artifacts with support for MKL enabled with -`mvn install -Djavacpp.platform.extension=-mkl` or CUDA with `mvn install -Djavacpp.platform.extension=-gpu` -or both with `mvn install -Djavacpp.platform.extension=-mkl-gpu`. +## Communication + +This repository is maintained by TensorFlow JVM Special Interest Group (SIG). You can easily contact the group +by posting to the [TensorFlow Forum](https://discuss.tensorflow.org), adding the `sig_jvm` tag, or by writing to us on +the [sig-jvm Gitter channel](https://gitter.im/tensorflow/sig-jvm). You can also simply send pull requests +and raise issues to this repository. + +## Building Sources -Note that in some cases, if a version of the TensorFlow runtime library is not found for your environment, -this process will fetch TensorFlow sources and trigger a build of all the native code (which can take -many hours on a standard laptop). In this case, you will also need to have a valid environment for building -TensorFlow, including the [bazel](https://bazel.build/) build tool and a few python dependencies. Please -read [TensorFlow documentation](https://www.tensorflow.org/install/source) for more details. +See [CONTRIBUTING.md](CONTRIBUTING.md#building). ## Using Maven Artifacts -To include TensorFlow in your Maven application, you first need to add a dependency on either the -`tensorflow-core` or `tensorflow-core-platform` artifacts. The former could be included multiple times -for different targeted systems by their classifiers, while the later includes them as dependencies for -`linux-x86_64`, `macosx-x86_64`, and `windows-x86_64`, with more to come in the future. There are also -`tensorflow-core-platform-mkl`, `tensorflow-core-platform-gpu`, and `tensorflow-core-platform-mkl-gpu` -artifacts that depend on artifacts with MKL and/or CUDA support enabled. +There are two options for adding TensorFlow Java as a dependency to your Maven project: with individual dependencies +for each targeted platform or with a single dependency that targets them all. + +### Individual dependencies + +With this option, you must first add a dependency to `tensorflow-core-api` and then one or multiple +dependencies to `tensorflow-core-native` with a classifier targeting a specific platform. This option is preferred as +it minimizes the size of your application by only including the TensorFlow builds you need, at the cost of being more +restrictive. + +While TensorFlow Java can be compiled for [multiple platforms](https://github.com/tensorflow/java/blob/master/tensorflow-core/pom.xml#L54), +only binaries for the following are being **supported and distributed** by this project: + +- `linux-x86_64`: Linux platforms on Intel/AMD chips +- `linux-x86_64-gpu`: Linux platforms on Intel/AMD chips with Cuda GPU support +- `linux-arm64`: Linux platforms on Arm chips +- `macosx-arm64`: MacOS X platforms on Apple Silicon chips +- `windows-x86_64`: Windows platforms on Intel/AMD chips (v1.1.0 and earlier) + +Binaries for `macosx-x86_64` are available for TF-Java 1.0 series releases and earlier, they were dropped from +TF-Java 1.1 and newer as they are no longer supported or released by Google. For example, for building a JAR that uses TensorFlow and is targeted to be deployed only on Linux -systems, you should add the following dependencies: +systems with no GPU support, you should add the following dependencies: ```xml org.tensorflow tensorflow-core-api - 0.1.0-SNAPSHOT + 1.1.0 org.tensorflow - tensorflow-core-api - 0.1.0-SNAPSHOT - linux-x86_64${javacpp.platform.extension} + tensorflow-core-native + 1.1.0 + linux-x86_64 ``` +Or Gradle: +```groovy +def tfVersion = '1.1.0' +implementation "org.tensorflow:tensorflow-core-api:$tfVersion" +implementation "org.tensorflow:tensorflow-core-native:$tfVersion:linux-x86_64" +``` On the other hand, if you plan to deploy your JAR on more platforms, you need additional native dependencies as follows: @@ -78,50 +93,74 @@ native dependencies as follows: org.tensorflow tensorflow-core-api - 0.1.0-SNAPSHOT + 1.1.0 org.tensorflow - tensorflow-core-api - 0.1.0-SNAPSHOT - linux-x86_64${javacpp.platform.extension} + tensorflow-core-native + 1.1.0 + linux-x86_64-gpu org.tensorflow - tensorflow-core-api - 0.1.0-SNAPSHOT - macosx-x86_64${javacpp.platform.extension} + tensorflow-core-native + 1.1.0 + macosx-arm64 org.tensorflow - tensorflow-core-api - 0.1.0-SNAPSHOT - windows-x86_64${javacpp.platform.extension} + tensorflow-core-native + 1.1.0 + windows-x86_64 ``` +Or Gradle: +```groovy +def tfVersion = '1.1.0' +implementation "org.tensorflow:tensorflow-core-api:$tfVersion" +implementation "org.tensorflow:tensorflow-core-native:$tfVersion:linux-x86_64-gpu" +implementation "org.tensorflow:tensorflow-core-native:$tfVersion:macosx-arm64" +implementation "org.tensorflow:tensorflow-core-native:$tfVersion:windows-x86_64" +``` + +Only one dependency can be added per platform, meaning that you cannot add native dependencies to both `linux-x86_64` and +`linux-x86_64-gpu` within the same project. + +To use an NVIDIA GPU, you need to install the NVIDIA device driver, CUDA Toolkit, and cuDNN. +For Ubuntu 24.04, you can install them with the following command: +```sudo apt install -y nvidia-driver-550 nvidia-cuda-toolkit nvidia-cudnn``` + +### Single dependency -In some cases, pre-configured starter artifacts can help to automatically include all versions of -the native library for a given configuration. For example, the `tensorflow-core-platform`, -`tensorflow-core-platform-mkl`, `tensorflow-core-platform-gpu`, or `tensorflow-core-platform-mkl-gpu` -artifact includes transitively all the artifacts above as a single dependency: +In some cases, it might be preferable to add a single dependency that includes transitively all the artifacts +required to run TensorFlow Java on any [supported platforms](README.md#individual-dependencies) + +- `tensorflow-core-platform`: Includes `tensorflow-core-api`, plus native artifacts for `linux-x86_64`, `linux-x86_64-arm64`, `macosx-arm64` and `windows-x86_64` + +For example, to run TensorFlow Java on any CPU platform for which a binary is being distributed by this project, you can +simply add this dependency to your application: ```xml org.tensorflow - tensorflow-core-platform${javacpp.platform.extension} - 0.1.0-SNAPSHOT + tensorflow-core-platform + 1.1.0 ``` +Or Gradle: +```groovy +implementation "org.tensorflow:tensorflow-core-platform:1.1.0" +``` -Be aware though that the native library is quite large and including too many versions of it may -significantly increase the size of your JAR. So it is good practice to limit your dependencies to -the platforms you are targeting. For this purpose the `-platform` artifacts include profiles that follow +Be aware though that the builds of TensorFlow are quite voluminous and including too many native dependencies may +significantly increase the size of your application. So it is good practice to limit your dependencies to +the platforms you are targeting. For this purpose these artifacts include profiles that follow the conventions established on this page: * [Reducing the Number of Dependencies](https://github.com/bytedeco/javacpp-presets/wiki/Reducing-the-Number-of-Dependencies) ### Snapshots -Artifacts resulting from this repository are actually only available as snapshots and to retrieve them, you need -to add Sonatype OSS repository in your pom.xml, like the following +Snapshots of TensorFlow Java artifacts are automatically distributed after each update in the code. To use them, you need +to add Sonatype OSS repository in your `pom.xml`, like the following ```xml @@ -138,13 +177,50 @@ to add Sonatype OSS repository in your pom.xml, like the following org.tensorflow tensorflow-core-platform - 0.1.0-SNAPSHOT + 1.2.0-SNAPSHOT ``` +Or Gradle: +```groovy +repositories { + mavenCentral() + maven { + url = uri("https://oss.sonatype.org/content/repositories/snapshots") + } +} + +dependencies { + // Example of dependency, see section above for more options + implementation "org.tensorflow:tensorflow-core-platform:1.2.0-SNAPSHOT" +} +``` + +## TensorFlow/Java Version Support + +This table shows the mapping between TensorFlow, TensorFlow Java and minimum supported Java versions. + +| TensorFlow Java Version | TensorFlow Version | Minimum Java Version | +|-------------------------|--------------------|----------------------| +| 0.2.0 | 2.3.1 | 8 | +| 0.3.0 | 2.4.1 | 8 | +| 0.3.1 | 2.4.1 | 8 | +| 0.3.2 | 2.4.1 | 8 | +| 0.3.3 | 2.4.1 | 8 | +| 0.4.0 | 2.7.0 | 8 | +| 0.4.1 | 2.7.1 | 8 | +| 0.4.2 | 2.7.4 | 8 | +| 0.5.0 | 2.10.1 | 11 | +| 1.0.0-rc.1 | 2.16.1 | 11 | +| 1.0.0-rc.2 | 2.16.2 | 11 | +| 1.0.0 | 2.16.2 | 11 | +| 1.1.0 | 2.18.0 | 11 | +| 1.2.0-SNAPSHOT | 2.21.0 | 11 | ## How to Contribute? -This repository is maintained by TensorFlow JVM Special Interest Group (SIG). You can easily join the group -by subscribing to the [jvm@tensorflow.org](https://groups.google.com/a/tensorflow.org/forum/#!forum/jvm) -mailing list, or you can simply send pull requests and raise issues to this repository. +Contributions are welcome, guidelines are located in [CONTRIBUTING.md](CONTRIBUTING.md). + +## Code and Usage Examples + +Please look at this repository: https://github.com/tensorflow/java-models diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000000..66bd9dfaa9e --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,224 @@ +# Releasing TensorFlow Java + +The +[TensorFlow Java API](https://github.com/tensorflow/java) is available on Maven Central and JCenter +through artifacts uploaded to +[OSS Sonatype](https://oss.sonatype.org/content/repositories/releases/org/tensorflow/). This +document describes the process of updating the release artifacts. It does _not_ describe how to use +the artifacts, for which the reader is referred to the +[TensorFlow for Java installation instructions](https://github.com/tensorflow/java/blob/master/README.md). + +## Background + +TensorFlow source (which is primarily in C++) is built using +[bazel](https://bazel.build) and not [maven](https://maven.apache.org/). TensorFlow Java +wraps over this native code and thus depends on platform (OS, architecture) specific native code. + +Hence, the process for building and uploading release artifacts is not a single +`mvn deploy` command. + +## Release process overview + +The process of releasing TensorFlow Java is split in two major steps: +* Building and deploying the native artifacts +* Building and deploying all artifacts consolidated + +The first step is executed on different build servers, each responsible to build the native +artifact for a specific architecture and platform. The second step is conducted locally in +a [Docker](https://www.docker.com) container for a hermetic release process. + +It is important to note that any change pushed to a release branch (i.e. a branch prefixed +by `r`) will start a new release workflow. Therefore, these changes should always increment the +version number. + +### Pre-requisites + +- `docker` +- An account at [oss.sonatype.org](https://oss.sonatype.org/), that has + permissions to update artifacts in the `org.tensorflow` group. If your + account does not have permissions, then you'll need to ask someone who does + to [file a ticket](https://issues.sonatype.org/) to add to the permissions + ([sample ticket](https://issues.sonatype.org/browse/MVNCENTRAL-1637)). +- A GPG signing key, required + [to sign the release artifacts](http://central.sonatype.org/pages/apache-maven.html#gpg-signed-components). + +### Preparing a release + +#### Major or minor release + +1. Get a clean version of the source code by cloning the + [TensorFlow Java GitHub repository](https://github.com/tensorflow/java) + ``` + git clone https://github.com/tensorflow/java + ``` +2. Create a new branch for the release named `r.` + ``` + git checkout -b r1.0 + ``` +3. Update the version of the Maven artifacts to the full version of the release + ``` + mvn versions:set -DnewVersion=1.0.0 + ``` +4. Update the TensorFlow Java version to reflect the new release at the following locations: + - https://github.com/tensorflow/java/blob/master/docs/install.md?plain=1#L61 + - https://github.com/tensorflow/java/blob/master/docs/install.md?plain=1#L167 + - https://github.com/tensorflow/java/blob/master/README.md#using-maven-artifacts + - https://github.com/tensorflow/java/blob/master/README.md#tensorflow-version-support + +5. Commit the changes and push the new branch to the GitHub repository + ``` + git add . + git commit -m "Releasing 1.0.0" + git push --set-upstream origin r1.0 + ``` + +#### Patch release + +1. Get a clean version of the source code by cloning the + [TensorFlow Java GitHub repository](https://github.com/tensorflow/java) + ``` + git clone https://github.com/tensorflow/java + ``` +2. Switch to the release branch of the version to patch + ``` + git checkout r1.0 + ``` +3. Patch the code with your changes. For example, changes could be merged from another branch you + were working on or be applied directly to this branch when the required changes are minimal. + +4. Update the version of the Maven artifacts to the full version of the release + ``` + mvn versions:set -DnewVersion=1.0.1 + ``` +5. Update the TensorFlow Java version to reflect the new release at the following locations: + - https://github.com/tensorflow/java/blob/master/docs/install.md?plain=1#L61 + - https://github.com/tensorflow/java/blob/master/docs/install.md?plain=1#L167 + - https://github.com/tensorflow/java/blob/master/README.md#using-maven-artifacts + - https://github.com/tensorflow/java/blob/master/README.md#tensorflow-version-support + +6. Commit the changes and push the branch to the GitHub repository + ``` + git add . + git commit -m "Releasing 1.0.1" + git push + ``` + +### Building native artifacts + +Any change pushed to a release branch will trigger a new release workflow. GitHub Actions builds the native artifacts +for all supported architures/platforms and deploy them temporarily on OSSRH for staging. + +There is no user action required for this step other than watching the progress of the GitHub +Actions workflow and making sure that all steps have been completed successfully. + +#### Build native artifacts manually + +Some platforms cannot be build successfully on GitHub Actions, due to some limits to their resources +(e.g. max 6 hours for a job). For this reasons, we need to build manually some of our artifacts on +private servers. + +To do so, follow the same steps as the [CI build](https://github.com/tensorflow/java/blob/master/.github/workflows/ci.yml) +for the same platform and make sure to checkout the release branch and to provide your Sonatype credentials +for temporary staging. + +### Performing the release + +1. At the root of your TensorFlow Java copy, create a Maven settings.xml file with your OSSRH credentials and + your GPG key passphrase: + ```sh + SONATYPE_USERNAME="your_sonatype.org_username_here" + SONATYPE_PASSWORD="your_sonatype.org_password_here" + GPG_PASSPHRASE="your_gpg_passphrase_here" + cat > settings.xml < + + + central + ${USERNAME} + ${PASSWORD} + + + central-staging + ${USERNAME} + ${PASSWORD} + + + + + + true + + + gpg2 + ${GPG_PASSPHRASE} + + + + + EOF + ``` +2. Execute the `release.sh` script. This will deploy artifacts on OSS Sonatype. All native artifacts + previously temporarily staged by GitHub Actions will be fetched, signed and redeployed as well. + + The script takes in a parameter the sequence number of the staging repository created in OSSRH + by the GitHub Actions workflow. You can retrieve this ID by looking in the staging repositories + in OSSRH console directly, or check at the output of the step `Create Staging Repository` of the + `prepare` job in the workflow execution, where the ID is printed. + ``` + # Staging repository created: orgtensorflow-1100 + sh release.sh 1100 + ``` +3. If the script above succeeds then the artifacts would have been uploaded to + the private staging repository in Sonatype. After verifying the release, you should finalize or + abort the release. Visit https://oss.sonatype.org/#stagingRepositories, find the `orgtensorflow-*` + of your release and click `Close` and `Release` to finalize the release. You always have the option + to `Drop` it to abort and restart if something went wrong. + +4. Go to GitHub and create a release tag on the release branch with a summary of what the version includes. + +Some things of note: + - For details, look at the [Sonatype guide](http://central.sonatype.org/pages/releasing-the-deployment.html). + - Syncing with [Maven Central](http://repo1.maven.org/maven2/org/tensorflow/) can take 10 minutes to 2 hours. + +### Finishing a release + +#### Major or minor release + +1. Checkout the master branch and merge back changes from the released branch + ``` + git checkout master + git merge r1.0 + ``` +2. In your local copy, checkout the master branch and increase the next snapshot version. + ``` + mvn versions:set -DnewVersion=1.1.0-SNAPSHOT + ``` +3. Update the TensorFlow Java version to reflect the new snapshot at the following locations: + - https://github.com/tensorflow/java/blob/master/docs/install.md?plain=1#L104 + - https://github.com/tensorflow/java/blob/master/README.md#using-maven-artifacts + - https://github.com/tensorflow/java/blob/master/README.md#tensorflow-version-support + +4. Commit your changes and push the master branch to the GitHub repository + ``` + git add . + git commit -m "Increase version for next iteration" + git push + ``` + +#### Patch release + +1. Checkout the master branch and merge back changes from the released branch + ``` + git checkout master + git merge r1.0 + ``` +2. Commit the changes and push the master branch to the GitHub repository + ``` + git add . + git commit -m "Merge release 1.0.1" + git push + ``` + +## References + +- [Maven Central guide](https://central.sonatype.org/register/central-portal/) for hosting releases. diff --git a/docs/_toc.yaml b/docs/_toc.yaml new file mode 100755 index 00000000000..93b4e5db2ae --- /dev/null +++ b/docs/_toc.yaml @@ -0,0 +1,18 @@ +# Copyright 2019 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============================================================================== +toc: +- title: Install + path: /jvm/install diff --git a/docs/docs/assets/tensorflow.svg b/docs/docs/assets/tensorflow.svg new file mode 100644 index 00000000000..c0778626d66 --- /dev/null +++ b/docs/docs/assets/tensorflow.svg @@ -0,0 +1 @@ + diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100755 index 00000000000..c9fcbf53e7e --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,42 @@ +# TensorFlow for Java + +TensorFlow Java can run on any JVM for building, training and running machine learning models. It comes with +a series of utilities and frameworks that help achieve most of the tasks common to data scientists +and developers working in this domain. Java and other JVM languages, such as Scala or Kotlin, are +frequently used in small-to-large enterprises all over the world, which makes TensorFlow a strategic +choice for adopting machine learning at a large scale. + +## The Repository + +In the early days, the Java language bindings for TensorFlow were hosted in the +[main TensorFlow repository](https://github.com/tensorflow/tensorflow) +and released only when a new version of the core library was ready to be distributed, which happens only +a few times a year. Now, all Java-related code has been moved to this repository so that it can evolve and +be released independently from official TensorFlow releases. In addition, most of the build tasks have been +migrated from Bazel to Maven, which is more familiar for most Java developers. + +The following describes the layout of the repository and its different artifacts: + +### [tensorflow-core](https://github.com/tensorflow/java/tree/master/tensorflow-core) + * **Intended audience**: developers who wants to deploy a TensorFlow model on a JVM for inference. Also for projects + that provide their own APIs or frameworks on top of TensorFlow and just want a thin layer to access the TensorFlow runtime from the JVM. + * All artifacts that make up the core language bindings of TensorFlow for Java. + +### [tensorflow-framework](https://github.com/tensorflow/java/tree/master/tensorflow-framework) + * **Intended audience**: neural network developers. + * Primary API for building and training neural networks with TensorFlow. + +### [ndarray](https://github.com/tensorflow/java-ndarray) + * **Intended audience**: any developer who needs a Java n-dimensional array implementation, whether or not they use it with TensorFlow. + * Generic utility library for n-dimensional data I/O operations. + * Used by TensorFlow but does not depend on TensorFlow. + +## Communication + +This repository is maintained by TensorFlow JVM Special Interest Group (SIG). You can easily contact the group +by posting to the [TensorFlow Forum](https://discuss.tensorflow.org), adding the `sig_jvm` tag, or by writing to us on +the [sig-jvm Gitter channel](https://gitter.im/tensorflow/sig-jvm). You can also simply send pull requests +and raise issues to this repository. + + + diff --git a/docs/docs/install.md b/docs/docs/install.md new file mode 100755 index 00000000000..2fe676e956a --- /dev/null +++ b/docs/docs/install.md @@ -0,0 +1,218 @@ +# Install TensorFlow Java + +[TensorFlow Java](https://github.com/tensorflow/java) can run on any JVM for +building, training and deploying machine learning models. It supports both CPU +and GPU execution, in graph or eager mode, and presents a rich API for using +TensorFlow in a JVM environment. Java and other JVM languages, like Scala and +Kotlin, are frequently used in large and small enterprises all over the world, +which makes TensorFlow Java a strategic choice for adopting machine learning at +a large scale. + +Note: Starting from version 1.0.0, the TensorFlow Java project follows the +[TensorFlow API stability guarantees](https://www.tensorflow.org/guide/versions#api_stability). +However, as these bindings are downstream of the TensorFlow C API, users should +be aware that stability is subject to the evolution of the upstream TensorFlow core. + +## Requirements + +TensorFlow Java runs on Java 11 and above, and supports out-of-the-box the +following platforms: + +* Ubuntu 20.04 or higher; 64-bit, x86 +* Ubuntu 22.04 or higher; 64-bit, arm +* macOS 14 or higher; 64-bit, arm +* Windows 10 or higher; 64-bit, x86 + +TensorFlow Java 1.0 series and earlier releases also have binaries for: + +* macOS 12 or higher; 64-bit, x86 + +*Note: To use TensorFlow on Android, see [LiteRT](https://tensorflow.org/lite)* + +## Versions + +TensorFlow Java has its own release cycle, independent of the +[TensorFlow runtime](https://github.com/tensorflow/tensorflow). Consequently, +its version does not match the version of TensorFlow runtime it runs on. Consult +the TensorFlow Java +[versioning table](https://github.com/tensorflow/java/#tensorflow-version-support) +to list all versions available and their mapping with the TensorFlow runtime. + +## Artifacts + +There are +[several ways](https://github.com/tensorflow/java/#using-maven-artifacts) to add +TensorFlow Java to your project. The easiest one is to add a dependency on the +`tensorflow-core-platform` artifact, which includes both the TensorFlow Java +Core API and the native dependencies it requires to run on all supported +platforms. + +To include CUDA® support for Linux x86, select the `tensorflow-core-native:linux-x86_64-gpu` artifact. + +In addition, a separate dependency on the `tensorflow-framework` library can be +added to benefit from a rich set of utilities for TensorFlow-based machine +learning on the JVM. + +## Installing with Maven + +To include TensorFlow in your [Maven](http://maven.apache.org) application, add +a dependency on its [artifacts](#artifacts) to your project's `pom.xml` file. +For example, + +```xml + + org.tensorflow + tensorflow-core-platform + 1.1.0 + +``` + +### Reducing Number of Dependencies + +It is important to note that adding a dependency on a `tensorflow-core-platform` +artifact will import native libraries for all supported platforms, which can +significantly increase the size of your project. + +If you wish to target a subset of the available platforms then you can exclude +the unnecessary artifacts from the other platforms using the +[Maven Dependency Exclusion](https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html#dependency-exclusions) +feature. + +Another way to select which platforms you want to include in your application is +to set JavaCPP system properties, in your Maven command line or in your +`pom.xml`. Please see JavaCPP +[documentation](https://github.com/bytedeco/javacpp-presets/wiki/Reducing-the-Number-of-Dependencies) +for more details. + +### Using Snapshots + +The latest TensorFlow Java development snapshots from the TensorFlow Java source +repository are available on the [OSS Sonatype](https://oss.sonatype.org) Nexus +repository. To depend on these artifacts, make sure to configure the OSS +snapshots repository in your `pom.xml`. + +```xml + + + tensorflow-snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + true + + + + + + + org.tensorflow + tensorflow-core-platform + 1.2.0-SNAPSHOT + + +``` + +## Installing with Gradle + +To include TensorFlow in your [Gradle](https://gradle.org) application, add a +dependency on its [artifacts](#artifacts) to your project's `build.gradle` file. +For example, + +```groovy +repositories { + mavenCentral() +} + +dependencies { + compile group: 'org.tensorflow', name: 'tensorflow-core-platform', version: '1.0.0' +} +``` + +### Reducing Number of Dependencies + +Excluding native artifacts from TensorFlow Java with Gradle is not as easy as +with Maven. We recommend that you use Gradle JavaCPP plugins to reduce this +number of dependencies. + +Please read at Gradle JavaCPP +[documentation](https://github.com/bytedeco/gradle-javacpp) for more details. + +## Installing from Sources + +To build TensorFlow Java from sources, and possibly customize it, please read +the following +[instructions](https://github.com/tensorflow/java/blob/master/CONTRIBUTING.md#building). + +*Note: Only official builds distributed by TensorFlow are supported by its +maintainers and custom builds should be used at the user's risk.* + +## Example Program + +This example shows how to build an Apache Maven project with TensorFlow. First, +add the TensorFlow dependency to the project's `pom.xml` file: + +```xml + + 4.0.0 + org.myorg + hellotensorflow + 1.0-SNAPSHOT + + + HelloTensorFlow + + 11 + 11 + + + + + + org.tensorflow + tensorflow-core-platform + 1.1.0 + + + +``` + +Create the source file `src/main/java/HelloTensorFlow.java`: + +```java +import org.tensorflow.ConcreteFunction; +import org.tensorflow.Signature; +import org.tensorflow.Tensor; +import org.tensorflow.TensorFlow; +import org.tensorflow.op.Ops; +import org.tensorflow.op.core.Placeholder; +import org.tensorflow.op.math.Add; +import org.tensorflow.types.TInt32; + +public class HelloTensorFlow { + + public static void main(String[] args) throws Exception { + System.out.println("Hello TensorFlow " + TensorFlow.version()); + + try (ConcreteFunction dbl = ConcreteFunction.create(HelloTensorFlow::dbl); + TInt32 x = TInt32.scalarOf(10); + TInt32 dblX = (TInt32)dbl.call(x)) { + System.out.println(x.getInt() + " doubled is " + dblX.getInt()); + } + } + + private static Signature dbl(Ops tf) { + Placeholder x = tf.placeholder(TInt32.class); + Add dblX = tf.math.add(x, x); + return Signature.builder().input("x", x).output("dbl", dblX).build(); + } +} +``` + +Compile and execute: + +
+mvn -q compile exec:java
+
+ +The command prints TensorFlow version and a simple calculation. + +Success! TensorFlow Java is configured. diff --git a/docs/docs/references.md b/docs/docs/references.md new file mode 100644 index 00000000000..524b23dc675 --- /dev/null +++ b/docs/docs/references.md @@ -0,0 +1,8 @@ +--- +hide: + - navigation + - toc + - title +--- +# + \ No newline at end of file diff --git a/docs/docs/stylesheets/extra.css b/docs/docs/stylesheets/extra.css new file mode 100644 index 00000000000..70aefe6843e --- /dev/null +++ b/docs/docs/stylesheets/extra.css @@ -0,0 +1,14 @@ +:root > * { + /*--md-primary-fg-color: #EE782F;*/ + /*--md-primary-fg-color--light: #455960;*/ + /*--md-primary-fg-color--dark: #90030C;*/ +} + +.md-typeset h1, .md-typeset h2 { + font-weight: 800; + letter-spacing: -.01em; +} + +.md-sidebar--primary { + display: none; +} \ No newline at end of file diff --git a/docs/legacy_tools/build_java_api_docs.py b/docs/legacy_tools/build_java_api_docs.py new file mode 100644 index 00000000000..77d3ba80f31 --- /dev/null +++ b/docs/legacy_tools/build_java_api_docs.py @@ -0,0 +1,132 @@ +# Lint as: python3 +# Copyright 2020 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +###################################################################################################################### +# IMPORTANT: Files in legacy_tools are no longer used to generate the TensorFlow-Java API docs as there are unfixed issues +# when using DocLava outside of the Google environment. We are keeping these for reference in case they are useful later. +###################################################################################################################### + + +"""Generate TensorFlow Java reference docs for TensorFlow.org.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import pathlib +import shutil +import tempfile +import io +import requests +import zipfile +from git import Repo + +from absl import app +from absl import flags + +from tensorflow_docs.api_generator import gen_java + +FLAGS = flags.FLAGS + +NDARRAY_VERSION = 'v1.0.0' +JAVACPP_VERSION = '1.5.11' +PROTOBUF_VERSION = 'v3.21.9' + +# __file__ is the path to this file +TOOLS_DIR = pathlib.Path(__file__).resolve().parent +DOCS_DIR = TOOLS_DIR.parent +REPO_ROOT = DOCS_DIR.parent +DOC_OUTPUT_DIR = DOCS_DIR.joinpath("output") + +SECTION_LABELS = { + 'org.tensorflow': 'Core', + 'org.tensorflow.ndarray': 'NdArray', + 'org.tensorflow.framework': 'Framework', +} + +# These flags are required by infrastructure, not all of them are used. +flags.DEFINE_string('output_dir', f"{DOC_OUTPUT_DIR}", + ("Use this branch as the root version and don't" + ' create in version directory')) + +flags.DEFINE_string('site_path', 'api_docs/', + 'Path prefix in the _toc.yaml') + +flags.DEFINE_string('code_url_prefix', None, + '[UNUSED] The url prefix for links to code.') + +flags.DEFINE_bool( + 'search_hints', True, + '[UNUSED] Include metadata search hints in the generated files') + + +def checkout_repo(repo_url: str, target_dir_name: str, version: str): + local_repo_path = f"{REPO_ROOT}/{target_dir_name}" + if not pathlib.Path(local_repo_path).exists(): + local_repo = Repo.clone_from(repo_url, local_repo_path) + else: + local_repo = Repo(local_repo_path) + local_repo.remotes['origin'].fetch() + local_repo.git.checkout(version) + + +def overlay(from_root, to_root): + for from_path in pathlib.Path(from_root).rglob('*'): + relpath = from_path.relative_to(from_root) + to_path = to_root/relpath + if from_path.is_file(): + assert not to_path.exists() + shutil.copyfile(from_path, to_path) + else: + to_path.mkdir(exist_ok=True) + + +def main(unused_argv): + checkout_repo('https://github.com/tensorflow/java-ndarray', 'ndarray', NDARRAY_VERSION) + checkout_repo('https://github.com/bytedeco/javacpp', 'javacpp', JAVACPP_VERSION) + response = requests.get('https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.21.9/protobuf-java-3.21.9-sources.jar') + with zipfile.ZipFile(io.BytesIO(response.content)) as z: + z.extractall(f"{REPO_ROOT}/protobuf") + response = requests.get('https://repo1.maven.org/maven2/org/osgi/osgi.annotation/8.1.0/osgi.annotation-8.1.0-sources.jar') + with zipfile.ZipFile(io.BytesIO(response.content)) as z: + z.extractall(f"{REPO_ROOT}/osgi") + + merged_source = pathlib.Path(tempfile.mkdtemp()) + (merged_source / 'java/org').mkdir(parents=True) + shutil.copytree(REPO_ROOT/'tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/', merged_source/'java/org/tensorflow') + overlay(REPO_ROOT/'tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow', merged_source/'java/org/tensorflow') + overlay(REPO_ROOT/'tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow', merged_source/'java/org/tensorflow') + overlay(REPO_ROOT/'tensorflow-core/tensorflow-core-native/src/gen/java/org/tensorflow/', merged_source/'java/org/tensorflow/') + overlay(REPO_ROOT/'tensorflow-core/tensorflow-core-native/src/main/java/org/tensorflow/', merged_source/'java/org/tensorflow/') + shutil.copytree(REPO_ROOT/'tensorflow-framework/src/main/java/org/tensorflow/framework', merged_source/'java/org/tensorflow/framework') + shutil.copytree(REPO_ROOT/'ndarray/ndarray/src/main/java/org/tensorflow/ndarray', merged_source/'java/org/tensorflow/ndarray') + shutil.copytree(REPO_ROOT/'javacpp/src/main/java/org/bytedeco', merged_source/'java/org/bytedeco') + shutil.copytree(REPO_ROOT/'protobuf/com/', merged_source/'java/com') + shutil.copytree(REPO_ROOT/'osgi/org/osgi', merged_source/'java/org/osgi') + + gen_java.gen_java_docs( + package='org.tensorflow', + source_path=merged_source / 'java', + output_dir=pathlib.Path(FLAGS.output_dir), + site_path=pathlib.Path(FLAGS.site_path), + section_labels=SECTION_LABELS, + # Uncomment for local testing: + script_path=pathlib.Path(TOOLS_DIR, 'run-javadoc-for-tf-local.sh'), + ) + + +if __name__ == '__main__': + flags.mark_flags_as_required(['output_dir']) + app.run(main) diff --git a/docs/legacy_tools/requirements.txt b/docs/legacy_tools/requirements.txt new file mode 100644 index 00000000000..4435ca4d4a9 --- /dev/null +++ b/docs/legacy_tools/requirements.txt @@ -0,0 +1,8 @@ +###################################################################################################################### +# IMPORTANT: Files in legacy_tools are no longer used to generate the TensorFlow-Java API docs as there are unfixed issues +# when using DocLava outside of the Google environment. We are keeping these for reference in case they are useful later. +###################################################################################################################### + +GitPython +requests +tensorflow-docs \ No newline at end of file diff --git a/docs/legacy_tools/run-javadoc-for-tf-local.sh b/docs/legacy_tools/run-javadoc-for-tf-local.sh new file mode 100644 index 00000000000..97d59ddfd6e --- /dev/null +++ b/docs/legacy_tools/run-javadoc-for-tf-local.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +###################################################################################################################### +# IMPORTANT: Files in legacy_tools are no longer used to generate the TensorFlow-Java API docs as there are unfixed issues +# when using DocLava outside of the Google environment. We are keeping these for reference in case they are useful later. +###################################################################################################################### + +set -ex + +export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home # Or change to any JDK 11 home path + +# https://android.googlesource.com/platform/external/doclava/ +# There's a debian package: +# https://packages.debian.org/unstable/doclava-aosp +# Install with: +# +# $ sudo apt install doclava-aosp #v 6.0.1+r55-1+build1 +# +# https://unix.stackexchange.com/questions/594841/how-do-i-assign-a-value-to-a-bash-variable-iff-that-variable-is-null-unassigned +DOCLAVA_JAR=${DOCLAVA_JAR:-'tools/lib/doclava.jar'} # Build lib locally + + +# Install java clear silver templates with: +# +# $ sudo apt install libjsilver-aosp-java #v 6.0.1+r55-1+build1 +JSILVER_JAR=${JSILVER_JAR:-'tools/lib/jsilver.jar'} # Build lib locally + + +######### DELETE OUTPUT_DIR ################# + +# Empty the output directory in case a class has been deleted +rm -rf "${OUTPUT_DIR:?}"/* +############ RUN DOCLAVA ################### + +# $FEDERATED_DOCS is a space-separated string of url,file pairs. +read -a api_pairs <<< "${FEDERATED_DOCS}" +FEDERATED_PARAMS="" +for i in "${!api_pairs[@]}"; do + api_pair_str="${api_pairs[$i]}" # "url,api.txt" + read -a api_pair <<< "${api_pair_str//,/ }" + # Using the index as the API "name", build the federation params. Note that + # using 0 as an API name will evaluate to false and cause rendering bugs, + # so we preface with "api_". + FEDERATED_PARAMS+=" -federate api_${i} ${api_pair[0]}" + FEDERATED_PARAMS+=" -federationapi api_${i} ${api_pair[1]}" +done + +# To install javadoc, for example, use +# +# sudo apt install openjdk-11-jdk +# +# doclava doesn't work with openjdk-13 +# ``` +# javadoc: error - Class com.google.doclava.Doclava is not a valid doclet. +# Note: As of JDK 13, the com.sun.javadoc API is no longer supported. +# ``` +# It's used here: https://android.googlesource.com/platform/external/doclava/+/refs/heads/master/src/com/google/doclava/Doclava.java + +# Each package in $PACKAGE needs to prefaced with -subpackages, so do that. +SUBPACKAGES="" +read -r -a packages <<< "${PACKAGE}" +for pkg in "${packages[@]}"; do + SUBPACKAGES+=" -subpackages ${pkg}" +done +( # Capture the return code. it may be non-zero for minor errors. + /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/javadoc \ + -sourcepath "${SOURCE_PATH}" \ + -docletpath "${DOCLAVA_JAR}:${JSILVER_JAR}" \ + -doclet com.google.doclava.Doclava \ + -toroot "${SITE_PATH}"/ \ + -yaml _toc.yaml \ + -templatedir "${TEMPLATES}" \ + -public \ + -d "${OUTPUT_DIR}" \ + ${FEDERATED_PARAMS} \ + ${SUBPACKAGES} +) + + +mv "${OUTPUT_DIR}"/reference/* "${OUTPUT_DIR}" + +################################################################### +################### START OF POST-PROCESSING ###################### +################################################################### +rm "${OUTPUT_DIR}/navtree_data.js" || true +rm "${OUTPUT_DIR}/hierarchy.html" || true + +find ${OUTPUT_DIR} -name "*.html" | xargs sed -i '' "s|${SITE_PATH}/reference|${SITE_PATH}|g" +find ${OUTPUT_DIR} -name "*.yaml" | xargs sed -i '' "s|${SITE_PATH}/reference|${SITE_PATH}|g" +find ${OUTPUT_DIR} -name "*.html" | xargs sed -i '' "s|a href=\"reference/org/tensorflow|a href=\"${SITE_PATH}/org/tensorflow|g" +find ${OUTPUT_DIR} -name "*.html" | xargs sed -i '' "s|a href=\"reference/com/google|a href=\"${SITE_PATH}/com/google|g" + +JAVA_LANG=https://docs.oracle.com/javase/8/docs/api +find ${OUTPUT_DIR} -name "*.html" | xargs sed -i '' "s|a href=\"reference/java/lang|a href=\"${JAVA_LANG}/java/lang|g" + +find ${OUTPUT_DIR} -name "*.html" | xargs sed -i '' 's|
|
|g'
+
+rm ${OUTPUT_DIR}/timestamp.js || true
+rm ${OUTPUT_DIR}/lists.js || true
+rm ${OUTPUT_DIR}/index.html || true
+
+cp ${TEMPLATES}/screen.css ${OUTPUT_DIR}/
+
+
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
new file mode 100644
index 00000000000..8729bca5af5
--- /dev/null
+++ b/docs/mkdocs.yml
@@ -0,0 +1,49 @@
+site_name: ''
+site_url: https://tensorflow.org
+repo_url: https://github.com/tensorflow/java
+site_description: Documentation of TensorFlow Java API and tools.
+copyright: "© TensorFlow Authors 2025"
+
+theme:
+  name: material
+  logo: assets/tensorflow.svg
+  features:
+    - navigation.indexes
+    - navigation.instant
+    - navigation.sections
+    - navigation.tabs
+    - navigation.tabs.sticky
+    - toc.follow
+  palette:
+    # Palette toggle for automatic mode
+    - media: "(prefers-color-scheme)"
+      toggle:
+        icon: material/brightness-auto
+        name: Switch to light mode
+    # Palette toggle for light mode
+    - media: "(prefers-color-scheme: light)"
+      scheme: default
+      primary: white
+      accent: orange
+      toggle:
+        icon: material/brightness-7
+        name: Switch to dark mode
+    # Palette toggle for dark mode
+    - media: "(prefers-color-scheme: dark)"
+      scheme: slate
+      primary: black
+      accent: orange
+      toggle:
+        icon: material/brightness-4
+        name: Switch to system preference
+
+extra_css:
+  - stylesheets/extra.css
+
+nav:
+  - Home:
+      - index.md
+  - Install:
+      - install.md
+  - References:
+      - apidocs/index.html
diff --git a/pom.xml b/pom.xml
index 83446408f5c..d39dedd9e2a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,13 @@
-
+
 
   4.0.0
 
   org.tensorflow
   tensorflow-java
-  0.1.0-SNAPSHOT
+  1.2.0-SNAPSHOT
   pom
 
   TensorFlow Java Parent
@@ -17,37 +19,45 @@
   
     
       The Apache Software License, Version 2.0
-      http://www.apache.org/licenses/LICENSE-2.0.txt
+      https://www.apache.org/licenses/LICENSE-2.0.txt
       repo
     
   
 
   
-    https://github.com/tensorflow/tensorflow.git
-    git@github.com:tensorflow/tensorflow.git
-    scm:git:https://github.com/tensorflow/tensorflow.git
+    https://github.com/tensorflow/java.git
+    scm:git@github.com:tensorflow/java.git
+    scm:git:https://github.com/tensorflow/java.git
   
 
   
-    tensorflow-tools
+    tensorflow-ndarray
     tensorflow-core
-    tensorflow-training
+    tensorflow-framework
   
 
   
-    ASCII
-    1.8
-    1.8
-    4.12
-    1.21
-    true
+    ${os.name}-${os.arch}
+
+    UTF8
+    11
+    11
+    11
+    5.10.0
+    1.37
+    2.7
+    2.25.0
+    true
+    true
+    true
+    2.46.1
   
 
   
     
-      sonatype-nexus-snapshots
-      Sonatype Nexus Snapshots
-      https://oss.sonatype.org/content/repositories/snapshots
+      central-snapshots
+      Maven Central Snapshots
+      https://central.sonatype.com/repository/maven-snapshots/
       
         false
       
@@ -56,11 +66,12 @@
       
     
   
+
   
     
-      sonatype-nexus-snapshots
-      Sonatype Nexus Snapshots
-      https://oss.sonatype.org/content/repositories/snapshots
+      central-snapshots
+      Maven Central Plugin Snapshots
+      https://central.sonatype.com/repository/maven-snapshots/
       
         false
       
@@ -70,74 +81,434 @@
     
   
 
+  
+    
+      central
+      https://central.sonatype.com/repository/maven-snapshots
+    
+    
+      central
+      https://ossrh-staging-api.central.sonatype.com/service/local/staging/deployByRepositoryId/${stagingRepositoryId}/
+    
+  
+
   
     
       
-        junit
-        junit
+        org.junit.jupiter
+        junit-jupiter-api
+        ${junit.version}
+        test
+      
+      
+        org.junit.jupiter
+        junit-jupiter-engine
         ${junit.version}
+        test
+      
+      
+        org.openjdk.jmh
+        jmh-core
+        ${jmh.version}
+        test
       
-	  
-	    org.openjdk.jmh
-	    jmh-core
-	    ${jmh.version}
-  	    test
-	  
-	  
-	    org.openjdk.jmh
-	    jmh-generator-annprocess
-	    ${jmh.version}
+      
+        org.openjdk.jmh
+        jmh-generator-annprocess
+        ${jmh.version}
         test
-	  
+      
     
   
 
-  
   
+    
     
-      ossrh
-      
-        
-        
-          ossrh
-          https://oss.sonatype.org/content/repositories/snapshots
-        
-        
-          ossrh
-          https://oss.sonatype.org/service/local/staging/deploy/maven2/
-        
-      
+      dev
+      
+        false
+      
+    
+
+    
+    
+      deploying
+      
+        false
+        false
+      
     
+
+    
     
-      bintray
-      
-        
+      releasing
+      
+        false
+      
+      
         
-          bintray
-          https://api.bintray.com/maven/google/tensorflow/tensorflow/;publish=0
+          ossrh-staging
+          OSSRH Sonatype Staging
+          
+            https://oss.sonatype.org/service/local/staging/deployByRepositoryId/${stagingRepositoryId}/
+          
+          
+            true
+          
+          
+            false
+          
         
-      
+      
+    
+
+    
+      jdk17
+      
+        17
+        17
+        17
+      
+    
+
+    
+    
+      lint
+      
+        
+        
+          lint.skip
+          !true
+        
+      
+      
+        
+          
+            org.apache.maven.plugins
+            maven-compiler-plugin
+            3.11.0
+            
+              true
+              
+                 
+                -Xlint:all
+                -XDcompilePolicy=simple
+                
+                -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
+                -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
+
+                
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+                -J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+              
+              
+                
+                  com.google.errorprone
+                  error_prone_core
+                  ${errorprone.version}
+                
+              
+            
+          
+        
+      
+    
+
+    
+    
+      apply-format
+      
+        
+          
+            com.diffplug.spotless
+            spotless-maven-plugin
+            ${spotless.version}
+
+            
+              
+                
+                spotless-apply
+                initialize
+                
+                  apply
+                
+              
+            
+          
+        
+      
+    
+
+    
+    
+      check-format
+      
+        
+          
+            com.diffplug.spotless
+            spotless-maven-plugin
+            ${spotless.version}
+
+            
+              
+                
+                spotless-check
+                initialize
+                
+                  check
+                
+              
+            
+          
+        
+      
+    
+
+    
+      linuxos
+      
+        linux
+      
+      
+        linux
+        linux
+      
+    
+    
+      linux-x86_64
+      
+        
+          linux
+          amd64
+        
+        
+          !javacpp.platform.extension
+        
+      
+    
+    
+      linux-x86_64-gpu
+      
+        
+          linux
+          amd64
+        
+        
+          javacpp.platform.extension
+          -gpu
+        
+      
+    
+    
+      linux-arm64
+      
+        
+          linux
+          aarch64
+        
+        
+          !javacpp.platform.extension
+        
+      
+    
+    
+      macosx
+      
+        mac os x
+      
+      
+        darwin
+        macosx
+      
+    
+    
+      macosx-x86_64
+      
+        
+          mac os x
+          x86_64
+        
+      
+    
+    
+      macosx-arm64
+      
+        
+          mac os x
+          aarch64
+        
+      
+    
+    
+      windowsos
+      
+        windows
+      
+      
+        windows
+        windows
+      
+    
+    
+      windows-x86_64
+      
+        
+          windows
+          x86_64
+        
+      
+    
+    
+      arm
+      
+        arm
+      
+      
+        armhf
+      
+    
+    
+      aarch64
+      
+        aarch64
+      
+      
+        arm64
+      
+    
+    
+      armv8
+      
+        armv8
+      
+      
+        arm64
+      
+    
+    
+      amd64
+      
+        amd64
+      
+      
+        x86_64
+      
+    
+    
+      x86-64
+      
+        x86-64
+      
+      
+        x86_64
+      
+    
+
+    
+      linux
+      
+        
+          unix
+          Linux
+        
+      
+      
+        linux
+      
+    
+    
+      darwin
+      
+        
+          unix
+          Mac OS X
+        
+      
+      
+        darwin
+      
+    
+    
+      windows
+      
+        
+          windows
+        
+      
+      
+        windows
+      
     
   
 
   
   
     
-      TensorFlowers
+      SIG JVM
       TensorFlow
-      http://www.tensorflow.org
+      https://www.tensorflow.org
     
   
 
   
     
-      
-      
+        
+      
+      
+        org.apache.maven.plugins
+        maven-enforcer-plugin
+        3.4.1
+        
+          
+            enforce
+            
+              
+                
+                
+                  3.6
+                
+              
+            
+            
+              enforce
+            
+          
+        
+      
+      
         org.apache.maven.plugins
         maven-gpg-plugin
-        1.5
+        3.1.0
         
           
             sign-artifacts
@@ -147,14 +518,117 @@
             
           
         
+        
+          
+            --pinentry-mode
+            loopback
+          
+        
+      
+      
+        maven-source-plugin
+        3.3.0
+        
+          
+            attach-sources
+            
+              jar-no-fork
+            
+          
+        
+      
+      
+        maven-javadoc-plugin
+        3.12.0
+      
+          ./docs/overview.md
+          
+          Copyright 2015, 2025 The TensorFlow Authors. All Rights Reserved.
+          
+              -Xmaxerrs
+              65536
+              -Xmaxwarns
+              65536
+          
+          false
+          256m
+          2048m
+          
+              https://tensorflow.github.io/java/javadoc-ndarray/v1.0.0/
+              https://protobuf.dev/reference/java/api-docs
+              https://bytedeco.org/javacpp/apidocs
+          
+      
+        
+            
+                javadoc-site
+                
+                    javadoc
+                
+            
+          
+            attach-javadocs
+            
+              jar
+            
+          
+        
+      
+      
+        org.codehaus.mojo
+        versions-maven-plugin
+        ${versions-plugin.version}
+        
+          false
+          true
+          true
+        
+      
+      
+        com.diffplug.spotless
+        spotless-maven-plugin
+        ${spotless.version}
+        
+          origin/master
+          
+          
+            
+              1.20.0
+            
+            
+          
+        
+      
+      
     
+
     
       
         
           org.apache.maven.plugins
           maven-jar-plugin
-          3.2.0
+          3.3.0
+        
+        
+          org.apache.maven.plugins
+          maven-surefire-plugin
+          3.1.2
+          
+            
+              **/*Test.java
+            
+            false
+          
         
       
     
diff --git a/release.sh b/release.sh
new file mode 100755
index 00000000000..acd1041d766
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,62 @@
+#!/usr/bin/env bash
+# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ==============================================================================
+#
+# Script to upload release artifacts for the TensorFlow Java library to
+# Maven Central. See RELEASE.md for explanation.
+
+cd $(dirname "$0")
+STAGING_SEQ="$1"
+shift
+shift
+CMD="$*"
+
+if [[ -z "${STAGING_SEQ}" ]]
+then
+  echo "Usage: ./release.sh  []"
+  exit 1
+fi
+
+# If release fails, debug with
+#   ./release.sh ${STAGING_SEQ} bash
+# To get a shell to poke around the maven artifacts with.
+if [[ -z "${CMD}" ]]
+then
+  CMD="mvn clean deploy -B -e --settings ./settings.xml -Pdeploying -Preleasing -DstagingRepositoryId=orgtensorflow-${STAGING_SEQ}"
+fi
+
+export GPG_TTY=$(tty)
+set -ex
+
+if [[ ! -f settings.xml ]]
+then
+  cp -f ~/.m2/settings.xml .
+fi
+
+docker run \
+  -e GPG_TTY="${GPG_TTY}" \
+  -v ${PWD}:/tensorflow-java \
+  -v ${HOME}/.gnupg:/root/.gnupg \
+  -w /tensorflow-java \
+  -it \
+  --platform linux/amd64 \
+  maven:3.8.6-jdk-11  \
+  ${CMD}
+
+echo
+echo "Uploaded to the staging repository"
+echo "After validating the release: "
+echo "* Login to https://oss.sonatype.org/#stagingRepositories"
+echo "* Find the 'org.tensorflow' staging release and click either 'Release' to release or 'Drop' to abort"
diff --git a/tensorflow-core/pom.xml b/tensorflow-core/pom.xml
index 0ed4903377c..cc87f6a76bc 100644
--- a/tensorflow-core/pom.xml
+++ b/tensorflow-core/pom.xml
@@ -22,7 +22,7 @@
   
     org.tensorflow
     tensorflow-java
-    0.1.0-SNAPSHOT
+    1.2.0-SNAPSHOT
   
   tensorflow-core
   pom
@@ -31,798 +31,47 @@
   Parent POM of TensorFlow core artifacts
 
   
+    tensorflow-core-native
     tensorflow-core-generator
     tensorflow-core-api
-    tensorflow-core-platform${javacpp.platform.extension}
   
 
   
+    
+    4.31.1
+
     ${javacpp.platform}${javacpp.platform.extension}
-    false       
-    false     
-    false 
     
     ${javacpp.platform}
-    linux-armhf${javacpp.platform.extension}
-    linux-arm64${javacpp.platform.extension}
-    linux-ppc64le${javacpp.platform.extension}
-    linux-x86${javacpp.platform.extension}
-    linux-x86_64${javacpp.platform.extension}
-    macosx-x86_64${javacpp.platform.extension}
-    windows-x86${javacpp.platform.extension}
-    windows-x86_64${javacpp.platform.extension}
-    1.5.3
-    0.21.4-${javacpp.version}
+    linux-armhf
+    linux-arm64
+    linux-x86_64
+    macosx-arm64
+    macosx-x86_64
+    windows-x86_64
+    linux-armhf${javacpp.platform.extension}
+    linux-arm64${javacpp.platform.extension}
+    linux-x86_64${javacpp.platform.extension}
+    macosx-arm64${javacpp.platform.extension}
+    macosx-x86_64${javacpp.platform.extension}
+    windows-x86_64${javacpp.platform.extension}
+    1.5.12
   
 
   
-    
-    
-      redeploy
-      
-        
-          org.tensorflow
-          tensorflow-core-platform
-          ${project.version}
-        
-        
-          org.tensorflow
-          tensorflow-core-platform-mkl
-          ${project.version}
-        
-        
-          org.tensorflow
-          tensorflow-core-platform-gpu
-          ${project.version}
-        
-        
-          org.tensorflow
-          tensorflow-core-platform-mkl-gpu
-          ${project.version}
-        
-      
-      
-        
-          
-            maven-deploy-plugin
-            2.8.2
-            
-              
-                deploy-file
-                deploy
-                
-                  deploy-file
-                
-                
-                  tensorflow-core-api-${project.version}.jar
-                  ${project.distributionManagement.snapshotRepository.id}
-                  ${project.distributionManagement.snapshotRepository.url}
-                  org.tensorflow
-                  tensorflow-core-api
-                  ${project.version}
-                  jar
-                
-              
-            
-          
-        
-      
-    
-
-    
-      javacpp-platform-default
-      
-        
-          !javacpp.platform
-        
-      
-      
-        ${os.name}-${os.arch}
-      
-    
-
-    
-      javacpp-platform-custom
-      
-        
-          javacpp.platform
-        
-      
-      
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-        ${javacpp.platform}${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp-platform-host
-      
-        
-          javacpp.platform.host
-        
-      
-      
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-        ${os.name}-${os.arch}${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-true
-      
-        
-          javacpp.platform.custom
-        
-      
-      
-        
-        
-        
-        
-        
-        
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-none
-      
-        
-          javacpp.platform.none
-        
-      
-      
-        
-        
-        
-        
-        
-        
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-linux-armhf
-      
-        
-          javacpp.platform
-          linux-armhf
-        
-      
-      
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-        
-        
-        
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-linux-arm64
-      
-        
-          javacpp.platform
-          linux-arm64
-        
-      
-      
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-        
-        
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-linux-ppc64le
-      
-        
-          javacpp.platform
-          linux-ppc64le
-        
-      
-      
-        
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-        
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-linux-x86
-      
-        
-          javacpp.platform
-          linux-x86
-        
-      
-      
-        
-        
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-linux-x86_64
-      
-        
-          javacpp.platform
-          linux-x86_64
-        
-      
-      
-        
-        
-        
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-        
-        
-      
-    
-
-    
-      javacpp-platform-macosx-x86_64
-      
-        
-          javacpp.platform
-          macosx-x86_64
-        
-      
-      
-        
-        
-        
-        
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-        
-      
-    
-
-    
-      javacpp-platform-windows-x86
-      
-        
-          javacpp.platform
-          windows-x86
-        
-      
-      
-        
-        
-        
-        
-        
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-        
-      
-    
-
-    
-      javacpp-platform-windows-x86_64
-      
-        
-          javacpp.platform
-          windows-x86_64
-        
-      
-      
-        
-        
-        
-        
-        
-        
-        
-        ${javacpp.platform}${javacpp.platform.extension}
-      
-    
-
-    
-    
-      no-platform-dependency
-      
-        
-          ${basedir}
-        
-      
-      
-        
-        
-        
-        
-        
-        
-        
-        
-      
-    
-
-    
-    
-      javacpp.platform.linux-armhf-true
-      
-        
-          javacpp.platform.linux-armhf
-        
-      
-      
-        linux-armhf${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.linux-arm64-true
-      
-        
-          javacpp.platform.linux-arm64
-        
-      
-      
-        linux-arm64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.linux-ppc64le-true
-      
-        
-          javacpp.platform.linux-ppc64le
-        
-      
-      
-        linux-ppc64le${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.linux-x86-true
-      
-        
-          javacpp.platform.linux-x86
-        
-      
-      
-        linux-x86${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.linux-x86_64-true
-      
-        
-          javacpp.platform.linux-x86_64
-        
-      
-      
-        linux-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.macosx-x86_64-true
-      
-        
-          javacpp.platform.macosx-x86_64
-        
-      
-      
-        macosx-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.windows-x86-true
-      
-        
-          javacpp.platform.windows-x86
-        
-      
-      
-        windows-x86${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.windows-x86_64-true
-      
-        
-          javacpp.platform.windows-x86_64
-        
-      
-      
-        windows-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-arm
-      
-        
-          javacpp.platform.host
-        
-        linuxarm
-      
-      
-        linux-armhf${javacpp.platform.extension}
-      
-    
-
     
-      javacpp.platform.custom-linux-armhf
-      
-        
-          javacpp.platform.host
-        
-        linuxarmhf
-      
-      
-        linux-armhf${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-aarch64
-      
-        
-          javacpp.platform.host
-        
-        linuxaarch64
-      
-      
-        linux-arm64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-armv8
-      
-        
-          javacpp.platform.host
-        
-        linuxarmv8
-      
-      
-        linux-arm64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-arm64
-      
-        
-          javacpp.platform.host
-        
-        linuxarm64
-      
-      
-        linux-arm64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-ppc64le
-      
-        
-          javacpp.platform.host
-        
-        linuxppc64le
-      
-      
-        linux-ppc64le${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-amd64
-      
-        
-          javacpp.platform.host
-        
-        linuxamd64
-      
-      
-        linux-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-x86-64
-      
-        
-          javacpp.platform.host
-        
-        linuxx86-64
-      
-      
-        linux-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-linux-x86_64
-      
-        
-          javacpp.platform.host
-        
-        linuxx86_64
-      
-      
-        linux-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-macosx-amd64
-      
-        
-          javacpp.platform.host
-        
-        mac os xamd64
-      
-      
-        macosx-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-macosx-x86-64
-      
-        
-          javacpp.platform.host
-        
-        mac os xx86-64
-      
-      
-        macosx-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-macosx-x86_64
-      
-        
-          javacpp.platform.host
-        
-        mac os xx86_64
-      
-      
-        macosx-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-windows-amd64
-      
-        
-          javacpp.platform.host
-        
-        windowsamd64
-      
-      
-        windows-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-windows-x86-64
-      
-        
-          javacpp.platform.host
-        
-        windowsx86-64
-      
-      
-        windows-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-      javacpp.platform.custom-windows-x86_64
-      
-        
-          javacpp.platform.host
-        
-        windowsx86_64
-      
-      
-        windows-x86_64${javacpp.platform.extension}
-      
-    
-
-    
-    
-      linuxos
-      
-        linux
-      
-      
-        linux
-        linux
-      
-    
-    
-      macosx
-      
-        mac os x
-      
-      
-        darwin
-        macosx
-      
-    
-    
-      windowsos
-      
-        windows
-      
-      
-        windows
-        windows
-      
-    
-    
-      arm
-      
-        arm
-      
-      
-        armhf
-      
-    
-    
-      aarch64
-      
-        aarch64
-      
-      
-        arm64
-      
-    
-    
-      armv8
-      
-        armv8
-      
-      
-        arm64
-      
-    
-    
-      i386
-      
-        i386
-      
-      
-        x86
-      
-    
-    
-      i486
-      
-        i486
-      
-      
-        x86
-      
-    
-    
-      i586
-      
-        i586
-      
-      
-        x86
-      
-    
-    
-      i686
-      
-        i686
-      
-      
-        x86
-      
-    
-    
-      amd64
-      
-        amd64
-      
-      
-        x86_64
-      
-    
-    
-      x86-64
-      
-        x86-64
-      
-      
-        x86_64
-      
-    
-
-    
-      linux
-      
-        
-          unix
-          Linux
-        
-      
-      
-        linux
-      
-    
-    
-      darwin
-      
-        
-          unix
-          Mac OS X
-        
-      
-      
-        darwin
-      
-    
-    
-      windows
-      
-        
-          windows
-        
-      
-      
-        windows
-      
+      
+      deploying
+      
+        tensorflow-core-platform
+      
     
   
-
 
-
diff --git a/tensorflow-core/tensorflow-core-api/.bazelrc b/tensorflow-core/tensorflow-core-api/.bazelrc
deleted file mode 100644
index 4b673d3fcfb..00000000000
--- a/tensorflow-core/tensorflow-core-api/.bazelrc
+++ /dev/null
@@ -1,172 +0,0 @@
-# Android configs. Bazel needs to have --cpu and --fat_apk_cpu both set to the
-# target CPU to build transient dependencies correctly. See
-# https://docs.bazel.build/versions/master/user-manual.html#flag--fat_apk_cpu
-build:android --crosstool_top=//external:android/crosstool
-build:android --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
-build:android_arm --config=android
-build:android_arm --cpu=armeabi-v7a
-build:android_arm --fat_apk_cpu=armeabi-v7a
-build:android_arm64 --config=android
-build:android_arm64 --cpu=arm64-v8a
-build:android_arm64 --fat_apk_cpu=arm64-v8a
-build:android_x86 --config=android
-build:android_x86 --cpu=x86
-build:android_x86 --fat_apk_cpu=x86
-build:android_x86_64 --config=android
-build:android_x86_64 --cpu=x86_64
-build:android_x86_64 --fat_apk_cpu=x86_64
-
-# Sets the default Apple platform to macOS.
-build --apple_platform_type=macos
-
-# Config to use a mostly-static build and disable modular op registration
-# support (this will revert to loading TensorFlow with RTLD_GLOBAL in Python).
-# By default, TensorFlow will build with a dependence on
-# //tensorflow:libtensorflow_framework.so.
-build:monolithic --define framework_shared_object=false
-
-# For projects which use TensorFlow as part of a Bazel build process, putting
-# nothing in a bazelrc will default to a monolithic build. The following line
-# opts in to modular op registration support by default.
-build --define framework_shared_object=true
-
-# Flags for open source build, always set to be true.
-build --define open_source_build=true
-test --define open_source_build=true
-
-# Please note that MKL on MacOS or windows is still not supported.
-# If you would like to use a local MKL instead of downloading, please set the
-# environment variable "TF_MKL_ROOT" every time before build.
-build:mkl --define=build_with_mkl=true --define=enable_mkl=true
-build:mkl --define=tensorflow_mkldnn_contraction_kernel=0
-build:mkl -c opt
-
-# This config option is used to enable MKL-DNN open source library only,
-# without depending on MKL binary version.
-build:mkl_open_source_only --define=build_with_mkl_dnn_only=true
-build:mkl_open_source_only --define=build_with_mkl_dnn_v1_only=true
-build:mkl_open_source_only --define=build_with_mkl=true --define=enable_mkl=true
-build:mkl_open_source_only --define=tensorflow_mkldnn_contraction_kernel=0
-
-build:download_clang --crosstool_top=@local_config_download_clang//:toolchain
-build:download_clang --define=using_clang=true
-build:download_clang --action_env TF_DOWNLOAD_CLANG=1
-# Instruct clang to use LLD for linking.
-# This only works with GPU builds currently, since Bazel sets -B/usr/bin in
-# auto-generated CPU crosstool, forcing /usr/bin/ld.lld to be preferred over
-# the downloaded one.
-build:download_clang_use_lld --linkopt='-fuse-ld=lld'
-
-# This config refers to building with CUDA available. It does not necessarily
-# mean that we build CUDA op kernels.
-build:using_cuda --define=using_cuda=true
-build:using_cuda --action_env TF_NEED_CUDA=1
-build:using_cuda --crosstool_top=@local_config_cuda//crosstool:toolchain
-
-# This config refers to building CUDA op kernels with nvcc.
-build:cuda --config=using_cuda
-build:cuda --define=using_cuda_nvcc=true
-
-# This config refers to building CUDA op kernels with clang.
-build:cuda_clang --config=using_cuda
-build:cuda_clang --define=using_cuda_clang=true
-build:cuda_clang --define=using_clang=true
-
-build:tensorrt --action_env TF_NEED_TENSORRT=1
-
-build:rocm --crosstool_top=@local_config_rocm//crosstool:toolchain
-build:rocm --define=using_rocm=true --define=using_rocm_hipcc=true
-build:rocm --action_env TF_NEED_ROCM=1
-
-build:sycl --crosstool_top=@local_config_sycl//crosstool:toolchain
-build:sycl --define=using_sycl=true
-build:sycl --action_env TF_NEED_OPENCL_SYCL=1
-
-build:sycl_nodouble --config=sycl
-build:sycl_nodouble --cxxopt -DTENSORFLOW_SYCL_NO_DOUBLE
-
-build:sycl_nodouble --config=sycl
-build:sycl_asan --copt -fno-omit-frame-pointer --copt -fsanitize-coverage=3 --copt -DGPR_NO_DIRECT_SYSCALLS --linkopt -fPIC --linkopt -fsanitize=address
-
-build:sycl_nodouble --config=sycl
-build:sycl_trisycl --define=using_trisycl=true
-
-# Options extracted from configure script
-build:gdr --define=with_gdr_support=true
-build:ngraph --define=with_ngraph_support=true
-build:verbs --define=with_verbs_support=true
-build:numa --define=with_numa_support=true
-
-# Options to disable default on features
-build:noaws --define=no_aws_support=true
-build:nogcp --define=no_gcp_support=true
-build:nohdfs --define=no_hdfs_support=true
-build:nokafka --define=no_kafka_support=true
-build:noignite --define=no_ignite_support=true
-build:nonccl --define=no_nccl_support=true
-
-build --define=use_fast_cpp_protos=true
-build --define=allow_oversize_protos=true
-
-build --spawn_strategy=standalone
-build --strategy=Genrule=standalone
-build -c opt
-
-# Make Bazel print out all options from rc files.
-build --announce_rc
-
-# Other build flags.
-build --define=grpc_no_ares=true
-
-# Modular TF build options
-build:dynamic_kernels --define=dynamic_loaded_kernels=true
-build:dynamic_kernels --copt=-DAUTOLOAD_DYNAMIC_KERNELS
-
-# Build TF with C++ 17 features.
-build:c++17 --cxxopt=-std=c++1z
-build:c++17 --cxxopt=-stdlib=libc++
-build:c++1z --config=c++17
-
-# Default paths for TF_SYSTEM_LIBS
-build --define=PREFIX=/usr
-build --define=LIBDIR=$(PREFIX)/lib
-build --define=INCLUDEDIR=$(PREFIX)/include
-
-# Suppress all warning messages.
-build:short_logs --output_filter=DONT_MATCH_ANYTHING
-
-# Options when using remote execution
-build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
-build:rbe --auth_enabled=true
-build:rbe --auth_scope=https://www.googleapis.com/auth/cloud-source-tools
-build:rbe --define=EXECUTOR=remote
-build:rbe --flaky_test_attempts=3
-build:rbe --jobs=200
-build:rbe --remote_accept_cached=true
-build:rbe --remote_cache=remotebuildexecution.googleapis.com
-build:rbe --remote_executor=remotebuildexecution.googleapis.com
-build:rbe --remote_local_fallback=false
-build:rbe --remote_timeout=600
-build:rbe --spawn_strategy=remote
-build:rbe --strategy=Genrule=remote
-build:rbe --strategy=Closure=remote
-build:rbe --strategy=Javac=remote
-build:rbe --strategy=TestRunner=remote
-build:rbe --tls_enabled
-test:rbe --test_env=USER=anon
-
-# Options to build TensorFlow 1.x or 2.x.
-build:v1 --define=tf_api_version=1
-build:v2 --define=tf_api_version=2
-test:v1 --test_env=TF2_BEHAVIOR=0
-test:v2 --test_env=TF2_BEHAVIOR=1
-build --config=v2
-test --config=v2
-
-# Default options should come above this line
-
-# Options from ./configure
-try-import %workspace%/.tf_configure.bazelrc
-
-# Put user-specific options in .bazelrc.user
-try-import %workspace%/.bazelrc.user
diff --git a/tensorflow-core/tensorflow-core-api/BUILD b/tensorflow-core/tensorflow-core-api/BUILD
deleted file mode 100644
index bd2c8e7edad..00000000000
--- a/tensorflow-core/tensorflow-core-api/BUILD
+++ /dev/null
@@ -1,85 +0,0 @@
-load("@org_tensorflow//tensorflow:tensorflow.bzl", "tf_copts", "tf_cc_binary")
-load("@rules_java//java:defs.bzl", "java_proto_library")
-load(":tensorflow-java.bzl", "tf_java_op_gen_srcjar")
-
-tf_java_op_gen_srcjar(
-    name = "java_op_gen_sources",
-    api_def_srcs = [
-        "@org_tensorflow//tensorflow/core/api_def:base_api_def",
-        ":java_api_def",
-    ],
-    base_package = "org.tensorflow.op",
-    gen_tool = ":java_op_gen_tool",
-)
-
-tf_cc_binary(
-    name = "java_op_gen_tool",
-    srcs = [
-        "src/bazel/op_generator/op_gen_main.cc",
-    ],
-    copts = tf_copts(),
-    linkopts = select({
-        "@org_tensorflow//tensorflow:windows": [],
-        "//conditions:default": ["-lm"],
-    }),
-    linkstatic = 1,
-    deps = [
-        ":java_op_gen_lib",
-        "@org_tensorflow//tensorflow/core:framework",
-        "@org_tensorflow//tensorflow/core:lib",
-        "@org_tensorflow//tensorflow/core:ops",
-    ],
-)
-
-cc_library(
-    name = "java_op_gen_lib",
-    srcs = [
-        "src/bazel/op_generator/op_generator.cc",
-        "src/bazel/op_generator/op_specs.cc",
-        "src/bazel/op_generator/source_writer.cc",
-    ],
-    hdrs = [
-        "src/bazel/op_generator/java_defs.h",
-        "src/bazel/op_generator/op_generator.h",
-        "src/bazel/op_generator/op_specs.h",
-        "src/bazel/op_generator/source_writer.h",
-    ],
-    copts = tf_copts(),
-    deps = [
-        "@org_tensorflow//tensorflow/core:framework",
-        "@org_tensorflow//tensorflow/core:lib",
-        "@org_tensorflow//tensorflow/core:op_gen_lib",
-        "@org_tensorflow//tensorflow/core:protos_all_cc",
-        "@com_googlesource_code_re2//:re2",
-    ],
-)
-
-filegroup(
-    name = "java_api_def",
-    srcs = glob(["src/bazel/api_def/*"])
-)
-
-tf_cc_binary(
-    name = "java_api_import",
-    srcs = [
-        "src/bazel/api_def/import/api_import.cc",
-    ],
-    copts = tf_copts() + ["-Wno-unused-result"],
-    linkopts = select({
-        "@org_tensorflow//tensorflow:windows": [],
-        "//conditions:default": ["-lm"],
-    }),
-    linkstatic = 1,
-    deps = [
-        "@org_tensorflow//tensorflow/core:framework",
-        "@org_tensorflow//tensorflow/core:lib",
-        "@org_tensorflow//tensorflow/core:ops",
-        "@org_tensorflow//tensorflow/core:op_gen_lib",
-        "@org_tensorflow//tensorflow/tools/api/lib:api_objects_proto_cc"
-    ],
-)
-
-java_proto_library(
-    name = "java_proto_gen_sources",
-    deps = ["@org_tensorflow//tensorflow/core:protos_all"]
-)
diff --git a/tensorflow-core/tensorflow-core-api/WORKSPACE b/tensorflow-core/tensorflow-core-api/WORKSPACE
deleted file mode 100644
index ebc34af8c19..00000000000
--- a/tensorflow-core/tensorflow-core-api/WORKSPACE
+++ /dev/null
@@ -1,46 +0,0 @@
-workspace(name = "tensorflow_core_api")
-
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-
-# TensorFlow archive
-# Note: Make sure to synchronize Maven dependencies inherited from TensorFlow binaries when updating
-# the version of this archive (e.g. google protobuf)
-http_archive(
-    name = "org_tensorflow",
-    patches = [
-        ":tensorflow-windows.patch", # https://github.com/tensorflow/tensorflow/issues/25213
-        ":tensorflow-proto.patch",
-        ":tensorflow-api-def.patch"
-    ],
-    patch_tool = "patch",
-    patch_args = ["-p1"],
-    patch_cmds = ["grep -rl 'java_package' tensorflow/core | xargs sed -i.bak 's/^\(.* java_package = \"org\.tensorflow\.\)\(.*\"\)/\\1proto.\\2'/"],
-    urls = [
-       "https://github.com/tensorflow/tensorflow/archive/v2.2.0-rc3.tar.gz",
-    ],
-    sha256 = "3a814b7b575b348b97aa6d231682195e2d9db808f550ae439ccb47f62cadb073",
-    strip_prefix = "tensorflow-2.2.0-rc3"
-)
-
-# START: Upstream TensorFlow dependencies
-# TensorFlow build depends on these dependencies.
-# Needs to be in-sync with TensorFlow sources.
-http_archive(
-    name = "io_bazel_rules_closure",
-    sha256 = "5b00383d08dd71f28503736db0500b6fb4dda47489ff5fc6bed42557c07c6ba9",
-    strip_prefix = "rules_closure-308b05b2419edb5c8ee0471b67a40403df940149",
-    urls = [
-        "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz",
-        "https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz",  # 2019-06-13
-    ],
-)
-# END: Upstream TensorFlow dependencies
-
-load("@org_tensorflow//tensorflow:workspace.bzl", "tf_workspace")
-tf_workspace()
-
-load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
-grpc_deps()
-
-load("@upb//bazel:repository_defs.bzl", "bazel_version_repository")
-bazel_version_repository(name = "bazel_version")
diff --git a/tensorflow-core/tensorflow-core-api/build.sh b/tensorflow-core/tensorflow-core-api/build.sh
deleted file mode 100755
index 7689d47e6df..00000000000
--- a/tensorflow-core/tensorflow-core-api/build.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-# Script to build native TensorFlow libraries
-set -eu
-
-# Allows us to use ccache with Bazel on Mac
-export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
-
-export BAZEL_VC="${VCINSTALLDIR:-}"
-if [[ -d $BAZEL_VC ]]; then
-    # Work around compiler issues on Windows documented mainly in configure.py but also elsewhere
-    export BUILD_FLAGS="--copt=//arch:AVX `#--copt=//arch:AVX2` --copt=-DWIN32_LEAN_AND_MEAN --host_copt=-DWIN32_LEAN_AND_MEAN --copt=-DNOGDI --host_copt=-DNOGDI --copt=-D_USE_MATH_DEFINES --host_copt=-D_USE_MATH_DEFINES --define=override_eigen_strong_inline=true"
-    # https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide#wind_B_S
-    export PATH=$PATH:$(pwd)/bazel-tensorflow-core-api/external/mkl_windows/lib/
-    export PYTHON_BIN_PATH=$(which python.exe)
-else
-    export BUILD_FLAGS="--copt=-msse4.1 --copt=-msse4.2 --copt=-mavx `#--copt=-mavx2 --copt=-mfma` --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --linkopt=-lstdc++ --host_linkopt=-lstdc++"
-    export PYTHON_BIN_PATH=$(which python3)
-fi
-
-if [[ "${EXTENSION:-}" == *mkl* ]]; then
-    export BUILD_FLAGS="$BUILD_FLAGS --config=mkl"
-fi
-
-if [[ "${EXTENSION:-}" == *gpu* ]]; then
-    export BUILD_FLAGS="$BUILD_FLAGS --config=cuda"
-    if [[ -z ${TF_CUDA_PATHS:-} ]] && [[ -d ${CUDA_PATH:-} ]]; then
-        # Work around some issue with Bazel preventing it from detecting CUDA on Windows
-        export TF_CUDA_PATHS="$CUDA_PATH"
-    fi
-fi
-
-# Build C API of TensorFlow itself including a target to generate ops for Java
-bazel build $BUILD_FLAGS --experimental_repo_remote_exec --python_path="$PYTHON_BIN_PATH" --config=monolithic --output_filter=DONT_MATCH_ANYTHING --verbose_failures \
-    @org_tensorflow//tensorflow:tensorflow \
-    @org_tensorflow//tensorflow/tools/lib_package:jnilicenses_generate \
-    :java_op_gen_sources \
-    :java_api_import \
-    :java_proto_gen_sources
-
-export BAZEL_BIN=$(pwd -P)/bazel-bin
-export TENSORFLOW_BIN=$BAZEL_BIN/external/org_tensorflow/tensorflow
-
-# Normalize some paths with symbolic links
-TENSORFLOW_SO=($TENSORFLOW_BIN/libtensorflow.so.?.?.?)
-if [[ -f $TENSORFLOW_SO ]]; then
-    ln -sf $(basename $TENSORFLOW_SO) $TENSORFLOW_BIN/libtensorflow.so
-    ln -sf $(basename $TENSORFLOW_SO) $TENSORFLOW_BIN/libtensorflow.so.2
-fi
-TENSORFLOW_DYLIB=($TENSORFLOW_BIN/libtensorflow.?.?.?.dylib)
-if [[ -f $TENSORFLOW_DYLIB ]]; then
-    ln -sf $(basename $TENSORFLOW_DYLIB) $TENSORFLOW_BIN/libtensorflow.dylib
-    ln -sf $(basename $TENSORFLOW_DYLIB) $TENSORFLOW_BIN/libtensorflow.2.dylib
-fi
-TENSORFLOW_LIBS=($TENSORFLOW_BIN/tensorflow.dll.if.lib $TENSORFLOW_BIN/libtensorflow.dll.ifso)
-for TENSORFLOW_LIB in ${TENSORFLOW_LIBS[@]}; do
-    if [[ -f $TENSORFLOW_LIB ]]; then
-        ln -sf $(basename $TENSORFLOW_LIB) $TENSORFLOW_BIN/tensorflow.lib
-    fi
-done
-ls -l $TENSORFLOW_BIN
-
-mkdir -p src/gen/java/
-cd src/gen/java
-
-# Copy only generated Java source files for ops
-cp -r $BAZEL_BIN/ops/src/* .
-
-# Copy generated Java protos from source jars
-find $TENSORFLOW_BIN/core -name \*-speed-src.jar -exec jar xf {} \;
-rm -rf META-INF
diff --git a/tensorflow-core/tensorflow-core-api/external/tensorflow-api-def.patch b/tensorflow-core/tensorflow-core-api/external/tensorflow-api-def.patch
deleted file mode 100644
index 1302bbd35b1..00000000000
--- a/tensorflow-core/tensorflow-core-api/external/tensorflow-api-def.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --ruN a/tensorflow/core/api_def/BUILD b/tensorflow/core/api_def/BUILD
---- a/tensorflow/core/api_def/BUILD 2020-03-26 18:19:19.000000000 -0400
-+++ b/tensorflow/core/api_def/BUILD	2020-04-01 22:50:37.000000000 -0400
-@@ -28,7 +28,7 @@ package(
- filegroup(
-     name = "base_api_def",
-     srcs = glob(["base_api/*"]),
--    visibility = ["//tensorflow:internal"],
-+    visibility = ["//visibility:public"],
- )
- 
- filegroup(
-diff -ruN a/tensorflow/tools/api/lib/BUILD b/tensorflow/tools/api/lib/BUILD
---- a/tensorflow/tools/api/lib/BUILD	2020-03-26 18:19:19.000000000 -0400
-+++ b/tensorflow/tools/api/lib/BUILD	2020-04-01 22:50:37.000000000 -0400
-@@ -13,6 +13,7 @@
- tf_proto_library(
-     name = "api_objects_proto",
-     srcs = ["api_objects.proto"],
-+    visibility = ["//visibility:public"],
- )
-
- py_library(
diff --git a/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch b/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch
deleted file mode 100644
index 06b42ccfd1d..00000000000
--- a/tensorflow-core/tensorflow-core-api/external/tensorflow-proto.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-diff -ruN a/tensorflow/core/protobuf/bfc_memory_map.proto b/tensorflow/core/protobuf/bfc_memory_map.proto
---- a/tensorflow/core/protobuf/bfc_memory_map.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/bfc_memory_map.proto	2020-03-30 23:43:29.000000000 -0400
-@@ -3,6 +3,9 @@
- package tensorflow;
- 
- option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto";
-+option java_outer_classname = "BfcMemoryMapProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.util";
- 
- // Some of the data from AllocatorStats
- message MemAllocatorStats {
-diff -ruN a/tensorflow/core/protobuf/data/experimental/snapshot.proto b/tensorflow/core/protobuf/data/experimental/snapshot.proto
---- a/tensorflow/core/protobuf/data/experimental/snapshot.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/data/experimental/snapshot.proto	2020-03-30 23:56:11.000000000 -0400
-@@ -6,6 +6,10 @@
- import "tensorflow/core/framework/tensor_shape.proto";
- import "tensorflow/core/framework/types.proto";
- 
-+option java_outer_classname = "SnapshotProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.util";
-+
- // Each SnapshotRecord represents one batch of pre-processed input data. A batch
- // consists of a list of tensors that we encode as TensorProtos. This message
- // doesn't store the structure of the batch.
-diff -ruN a/tensorflow/core/protobuf/device_properties.proto b/tensorflow/core/protobuf/device_properties.proto
---- a/tensorflow/core/protobuf/device_properties.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/device_properties.proto	2020-03-30 23:44:22.000000000 -0400
-@@ -19,6 +19,8 @@
- 
- option cc_enable_arenas = true;
- option java_outer_classname = "DevicePropertiesProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.framework";
- option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto";
- 
- message DeviceProperties {
-diff -ruN a/tensorflow/core/protobuf/saved_object_graph.proto b/tensorflow/core/protobuf/saved_object_graph.proto
---- a/tensorflow/core/protobuf/saved_object_graph.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/saved_object_graph.proto	2020-03-30 23:36:13.000000000 -0400
-@@ -11,6 +11,9 @@
- 
- option cc_enable_arenas = true;
- option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto";
-+option java_outer_classname = "SavedObjectGraphProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.framework";
- 
- // A SavedObjectGraph is part of object-based SavedModels in TF 2.0. It
- // describes the directed graph of Python objects (or equivalent in other
-diff -ruN a/tensorflow/core/protobuf/struct.proto b/tensorflow/core/protobuf/struct.proto
---- a/tensorflow/core/protobuf/struct.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/struct.proto	2020-03-30 23:45:26.000000000 -0400
-@@ -6,6 +6,9 @@
- import "tensorflow/core/framework/types.proto";
- 
- option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto";
-+option java_outer_classname = "StructProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.framework";
- 
- // `StructuredValue` represents a dynamically typed value representing various
- // data structures that are inspired by Python data structures typically used in
-diff -ruN a/tensorflow/core/protobuf/trackable_object_graph.proto b/tensorflow/core/protobuf/trackable_object_graph.proto
---- a/tensorflow/core/protobuf/trackable_object_graph.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/trackable_object_graph.proto	2020-03-30 23:51:22.000000000 -0400
-@@ -4,6 +4,9 @@
- 
- option cc_enable_arenas = true;
- option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto";
-+option java_outer_classname = "TrackableObjectGraphProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.framework";
- 
- // A TensorBundle addition which saves extra information about the objects which
- // own variables, allowing for more robust checkpoint loading into modified
-diff -ruN a/tensorflow/core/protobuf/transport_options.proto b/tensorflow/core/protobuf/transport_options.proto
---- a/tensorflow/core/protobuf/transport_options.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/protobuf/transport_options.proto	2020-03-30 23:53:15.000000000 -0400
-@@ -3,6 +3,7 @@
- package tensorflow;
- 
- option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/core_protos_go_proto";
-+option java_package = "org.tensorflow.distruntime";
- 
- // Extra data needed on a non-RDMA RecvBufResponse.
- message RecvBufRespExtra {
-diff -ruN a/tensorflow/core/lib/core/error_codes.proto b/tensorflow/core/lib/core/error_codes.proto
---- a/tensorflow/core/lib/core/error_codes.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/lib/core/error_codes.proto	2020-03-30 23:44:22.000000000 -0400
-@@ -1,3 +1,5 @@
- syntax = "proto3";
-
-+option java_package = "org.tensorflow.framework";
-+
- import public "tensorflow/core/protobuf/error_codes.proto";
-diff -ruN a/tensorflow/core/profiler/protobuf/xplane.proto b/tensorflow/core/profiler/protobuf/xplane.proto
---- a/tensorflow/core/profiler/protobuf/xplane.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/profiler/protobuf/xplane.proto	2020-03-30 23:44:22.000000000 -0400
-@@ -3,6 +3,9 @@
- package tensorflow.profiler;
-
- option cc_enable_arenas = true;
-+option java_outer_classname = "XPlaneProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.profiler";
-
- // A container of parallel XPlanes, generated by one or more profiling sources.
- // Next ID: 2
-diff -ruN a/tensorflow/core/util/memmapped_file_system.proto b/tensorflow/core/util/memmapped_file_system.proto
---- a/tensorflow/core/util/memmapped_file_system.proto	2020-03-31 00:00:24.000000000 -0400
-+++ b/tensorflow/core/util/memmapped_file_system.proto	2020-03-30 23:44:22.000000000 -0400
-@@ -17,6 +17,9 @@
- package tensorflow;
-
- option cc_enable_arenas = true;
-+option java_outer_classname = "MemmappedFileSystemProtos";
-+option java_multiple_files = true;
-+option java_package = "org.tensorflow.util";
-
- // A message that describes one region of memmapped file.
- message MemmappedFileSystemDirectoryElement {
diff --git a/tensorflow-core/tensorflow-core-api/external/tensorflow-windows.patch b/tensorflow-core/tensorflow-core-api/external/tensorflow-windows.patch
deleted file mode 100644
index df96098954f..00000000000
--- a/tensorflow-core/tensorflow-core-api/external/tensorflow-windows.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ruN tensorflow-1.14.0-rc1/third_party/mkl/mkl.BUILD tensorflow-1.14.0-rc1-windows/third_party/mkl/mkl.BUILD
---- tensorflow-1.14.0-rc1/third_party/mkl/mkl.BUILD	2019-06-08 11:23:20.000000000 +0900
-+++ tensorflow-1.14.0-rc1-windows/third_party/mkl/mkl.BUILD	2019-06-12 08:30:41.232683854 +0900
-@@ -35,11 +35,23 @@
-     visibility = ["//visibility:public"],
- )
- 
-+cc_import(
-+    name = "iomp5",
-+    interface_library = "lib/libiomp5md.lib",
-+    system_provided = 1,
-+)
-+
-+cc_import(
-+    name = "mklml",
-+    interface_library = "lib/mklml.lib",
-+    system_provided = 1,
-+)
-+
- cc_library(
-     name = "mkl_libs_windows",
--    srcs = [
--        "lib/libiomp5md.lib",
--        "lib/mklml.lib",
-+    deps = [
-+        "iomp5",
-+        "mklml",
-     ],
-     linkopts = ["/FORCE:MULTIPLE"],
-     visibility = ["//visibility:public"],
diff --git a/tensorflow-core/tensorflow-core-api/pom.xml b/tensorflow-core/tensorflow-core-api/pom.xml
index 92ea22ceea8..a4cd84dcf20 100644
--- a/tensorflow-core/tensorflow-core-api/pom.xml
+++ b/tensorflow-core/tensorflow-core-api/pom.xml
@@ -6,51 +6,46 @@
   
     org.tensorflow
     tensorflow-core
-    0.1.0-SNAPSHOT
+    1.2.0-SNAPSHOT
   
   tensorflow-core-api
   jar
 
-  TensorFlow Core API Library
+  TensorFlow API
   Platform-dependent native code and pure-Java code for the TensorFlow machine intelligence library.
 
   
-    
-    3.8.0
+    1.1.5
+    false
+    ${project.build.directory}/tf-text-download/
   
 
   
     
-      org.bytedeco
-      javacpp
-      ${javacpp.version}
-    
-    
-      org.bytedeco
-      javacpp
-      ${javacpp.version}
-      ${javacpp.platform}
-      test
-    
-    
-      com.google.protobuf
-      protobuf-java
-      ${protobuf.version}
+      org.tensorflow
+      tensorflow-ndarray
+      ${project.version}
     
     
       org.tensorflow
-      tensorflow-core-generator
+      tensorflow-core-native
       ${project.version}
-      true 
     
     
       org.tensorflow
-      tensorflow-tools
+      tensorflow-core-native
       ${project.version}
+      ${native.classifier}
+      test
+    
+    
+      org.junit.jupiter
+      junit-jupiter-api
+      test
     
     
-      junit
-      junit
+      org.junit.jupiter
+      junit-jupiter-engine
       test
     
     
@@ -58,6 +53,12 @@
       jmh-core
       test
     
+    
+      com.google.truth
+      truth
+      ${truth.version}
+      test
+    
     
       org.openjdk.jmh
       jmh-generator-annprocess
@@ -65,19 +66,131 @@
     
   
 
+  
+    
+      
+      generating
+      
+        
+          
+            org.codehaus.mojo
+            exec-maven-plugin
+            3.1.0
+            
+              
+                
+                generate-ops
+                
+                  java
+                
+                generate-sources
+                
+                  false
+                  true
+                  org.tensorflow.generator.op.OpGenerator
+                  
+                    -a
+                    ${project.basedir}/src/api
+                    -o
+                    ${project.basedir}/src/gen/java
+                    -c
+                  
+                
+              
+            
+            
+              
+                org.tensorflow
+                tensorflow-core-generator
+                ${project.version}
+              
+            
+          
+
+          
+            maven-compiler-plugin
+            3.11.0
+            
+              
+                
+                default-compile
+                
+                  
+                    org.tensorflow.generator.op.processor.OperatorProcessor
+                  
+                  
+                    
+                      org.tensorflow
+                      tensorflow-core-generator
+                      ${project.version}
+                    
+                  
+                  
+                  ${project.basedir}/src/gen/annotations
+                
+              
+            
+          
+
+          
+            maven-clean-plugin
+            3.3.2
+            
+              
+                
+                generated-sources-clean
+                clean
+                
+                  clean
+                
+                
+                  
+                    
+                      src/gen
+                    
+                  
+                
+              
+            
+          
+        
+      
+    
+  
+
   
     
       
         org.codehaus.mojo
         build-helper-maven-plugin
-        3.0.0
+        3.4.0
         
-          
           
+            
             add-gen-sources
             generate-sources
             
@@ -86,285 +199,54 @@
             
               
                 ${project.basedir}/src/gen/java
+                ${project.basedir}/src/gen/annotations
               
             
           
         
       
+
       
-        maven-compiler-plugin
-        3.8.0
+        maven-source-plugin
+        3.3.0
         
-          
-          
-            default-compile
-            
-              
-                org.tensorflow.processor.operator.OperatorProcessor
-              
-              
-              ${project.basedir}/src/gen/annotations
-            
-          
-          
           
-            javacpp-parser
-            generate-sources
+            attach-sources
             
-              compile
+              jar-no-fork
             
-            
-              
-                org/tensorflow/internal/c_api/presets/*.java
-              
-            
           
         
       
+
       
-        org.bytedeco
-        javacpp
-        ${javacpp.version}
-        
-          ${javacpp.platform.properties}
-          
-            
-              platform.root
-              ${javacpp.platform.root}
-            
-            
-              platform.compiler
-              ${javacpp.platform.compiler}
-            
-            
-              platform.extension
-              ${javacpp.platform.extension}
-            
-          
-          ${project.build.outputDirectory}
-          
-            ${project.basedir}/
-            ${project.basedir}/bazel-${project.artifactId}/external/org_tensorflow/
-          
-          
-            ${project.basedir}/bazel-bin/external/org_tensorflow/tensorflow/
-          
-          
-            ${project.basedir}/../../
-            ${project.basedir}/bazel-bin/external/org_tensorflow/tensorflow/tools/lib_package/
-          
-          
-            ${project.basedir}/bazel-${project.artifactId}/external/mkl_linux/lib/
-            ${project.basedir}/bazel-${project.artifactId}/external/mkl_darwin/lib/
-            ${project.basedir}/bazel-${project.artifactId}/external/mkl_windows/lib/
-          
-        
+        org.codehaus.mojo
+        exec-maven-plugin
+        3.1.0
         
           
             
-            javacpp-validate
-            validate
-            
-              build
-            
-          
-          
-            
-            javacpp-build
-            initialize
+            dist-download
+            test-compile
             
-              build
+              exec
             
             
-              ${javacpp.build.skip}
-              
-                bash
-                ${project.basedir}/build.sh
-              
+              ${test.download.skip}
+              bash
+              
+                scripts/test_download.sh
+                ${test.download.folder}
+              
               
-                ${javacpp.platform.extension}
+                ${native.classifier}
               
               ${project.basedir}
             
           
-          
-            
-            javacpp-clean
-            clean
-            
-              build
-            
-            
-              ${javacpp.build.skip}
-              
-                bazel
-                clean
-              
-              ${project.basedir}
-            
-          
-          
-            
-            javacpp-parser
-            generate-sources
-            
-              parse
-            
-            
-              ${javacpp.parser.skip}
-              ${project.basedir}/src/gen/java
-              org.tensorflow.internal.c_api.presets.*
-            
-          
-          
-            
-            javacpp-compiler
-            process-classes
-            
-              build
-            
-            
-              ${project.build.directory}/native/org/tensorflow/internal/c_api/${native.classifier}/
-              ${javacpp.compiler.skip}
-              org.tensorflow.internal.c_api.**
-              true
-              true
-            
-          
         
-        
-          
-            com.google.protobuf
-            protobuf-java
-            ${protobuf.version}
-          
-        
-      
-      
-        maven-jar-plugin
-        3.1.0
-        
-          
-            
-            native-jar
-            package
-            
-              jar
-            
-            
-              ${native.classifier}
-              true
-               
-                
-                org/tensorflow/internal/c_api/${native.classifier}/
-              
-              ${project.build.directory}/native
-              
-                org/tensorflow/internal/c_api/${native.classifier}/*.exp
-                org/tensorflow/internal/c_api/${native.classifier}/*.lib
-                org/tensorflow/internal/c_api/${native.classifier}/*.obj
-                org/tensorflow/internal/c_api/${native.classifier}/*mklml*
-                org/tensorflow/internal/c_api/${native.classifier}/*iomp5*
-                org/tensorflow/internal/c_api/${native.classifier}/*msvcr120*
-              
-            
-          
-        
-      
-      
-        maven-surefire-plugin
-        2.22.0
-        
-          
-          
-            -Djava.library.path=${project.build.directory}/native/org/tensorflow/internal/c_api/${native.classifier}
-          
-          ${project.build.directory}/native/
-        
-      
-      
-        maven-source-plugin
-        3.0.1
-        
-          
-            attach-sources
-            leave-disabled-to-not-generate-sources-twice-on-release
-          
-          
-            attach-source
-            
-              jar-no-fork
-            
-          
-        
-      
-      
-        maven-javadoc-plugin
-        3.0.1
-        
-          
-            attach-javadocs
-            
-              jar
-            
-            
-              false
-              256m
-              2048m
-              true
-              
-                http://bytedeco.org/javacpp/apidocs
-              
-            
-          
-        
-      
-      
-        maven-assembly-plugin
-        3.2.0
-        
-          
-            jar-with-dependencies
-          
-        
       
     
   
diff --git a/tensorflow-core/tensorflow-core-api/scripts/test_download.sh b/tensorflow-core/tensorflow-core-api/scripts/test_download.sh
new file mode 100755
index 00000000000..22666bb2b80
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/scripts/test_download.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+set -e
+
+DOWNLOAD_FOLDER="$1"
+
+case ${PLATFORM:-} in
+  'linux-x86_64')
+    TEXT_WHEEL_URL='https://files.pythonhosted.org/packages/a9/b9/02707723d44e5d0fe5f7d27ba4237528bc654bac1b0f638efe37988584b1/tensorflow_text-2.20.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl'
+    ;;
+  'linux-arm64')
+    TEXT_WHEEL_URL='https://files.pythonhosted.org/packages/17/99/b397038628a660a1446bb79c8be284443a28500d072227a77ebaeb5cd149/tensorflow_text-2.20.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl'
+    ;;
+  'macosx-arm64')
+    TEXT_WHEEL_URL='https://files.pythonhosted.org/packages/61/b8/ccb0c3b048f268860f4c92f6bb7ab55c6af6c2fe4e26746c8dc384063915/tensorflow_text-2.20.1-cp313-cp313-macosx_11_0_arm64.whl'
+    ;;
+  *)
+    echo "TensorFlow Text distribution for ${PLATFORM} is not supported for download"
+    exit 0;
+esac
+
+mkdir -p "$DOWNLOAD_FOLDER"
+cd "$DOWNLOAD_FOLDER"
+
+if [[ -n "$TEXT_WHEEL_URL" ]]; then
+  echo "Downloading $TEXT_WHEEL_URL"
+  if [ ! -f 'tensorflow-text.whl' ]; then
+    curl -L $TEXT_WHEEL_URL --output 'tensorflow-text.whl'
+  fi
+  yes | unzip -q -u 'tensorflow-text.whl' # use 'yes' because for some reasons -u does not work on Windows
+fi
+
+ls -l .
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Abort.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Abort.pbtxt
new file mode 100644
index 00000000000..7d90f6d9fc7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Abort.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Abort"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Abs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Abs.pbtxt
new file mode 100644
index 00000000000..5ae7934e3cf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Abs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Abs"
+  endpoint {
+    name: "math.Abs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulateNV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulateNV2.pbtxt
new file mode 100644
index 00000000000..ae2d6e0c7fd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulateNV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AccumulateNV2"
+  endpoint {
+    name: "math.AccumulateN"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorApplyGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorApplyGradient.pbtxt
new file mode 100644
index 00000000000..ecf18bfde4d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorApplyGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AccumulatorApplyGradient"
+  endpoint {
+    name: "train.AccumulatorApplyGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorNumAccumulated.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorNumAccumulated.pbtxt
new file mode 100644
index 00000000000..c9f5db313ee
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorNumAccumulated.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AccumulatorNumAccumulated"
+  endpoint {
+    name: "train.AccumulatorNumAccumulated"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorSetGlobalStep.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorSetGlobalStep.pbtxt
new file mode 100644
index 00000000000..53dbca3a28a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorSetGlobalStep.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AccumulatorSetGlobalStep"
+  endpoint {
+    name: "train.AccumulatorSetGlobalStep"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorTakeGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorTakeGradient.pbtxt
new file mode 100644
index 00000000000..d8482bfef55
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AccumulatorTakeGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AccumulatorTakeGradient"
+  endpoint {
+    name: "train.AccumulatorTakeGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Acos.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Acos.pbtxt
new file mode 100644
index 00000000000..d730005b322
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Acos.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Acos"
+  endpoint {
+    name: "math.Acos"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Acosh.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Acosh.pbtxt
new file mode 100644
index 00000000000..7f880491eae
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Acosh.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Acosh"
+  endpoint {
+    name: "math.Acosh"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Add.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Add.pbtxt
new file mode 100644
index 00000000000..b213eb8dd32
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Add.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Add"
+  endpoint {
+    name: "math.Add"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AddManySparseToTensorsMap.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddManySparseToTensorsMap.pbtxt
new file mode 100644
index 00000000000..8dcebf4c82b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddManySparseToTensorsMap.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AddManySparseToTensorsMap"
+  endpoint {
+    name: "sparse.AddManySparseToTensorsMap"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AddN.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddN.pbtxt
new file mode 100644
index 00000000000..8807e161276
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddN.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AddN"
+  endpoint {
+    name: "math.AddN"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AddSparseToTensorsMap.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddSparseToTensorsMap.pbtxt
new file mode 100644
index 00000000000..d46dc06cd51
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddSparseToTensorsMap.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AddSparseToTensorsMap"
+  endpoint {
+    name: "sparse.AddSparseToTensorsMap"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AddV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AddV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AddV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_AddV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AdjustContrast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustContrast.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AdjustContrast.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustContrast.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustContrastv2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustContrastv2.pbtxt
new file mode 100644
index 00000000000..bbf539a05de
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustContrastv2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AdjustContrastv2"
+  endpoint {
+    name: "image.AdjustContrast"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustHue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustHue.pbtxt
new file mode 100644
index 00000000000..9cfca205fb5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustHue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AdjustHue"
+  endpoint {
+    name: "image.AdjustHue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustSaturation.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustSaturation.pbtxt
new file mode 100644
index 00000000000..679b1d48ab9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AdjustSaturation.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AdjustSaturation"
+  endpoint {
+    name: "image.AdjustSaturation"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_All.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_All.pbtxt
new file mode 100644
index 00000000000..89ab8929419
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_All.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "All"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AllCandidateSampler.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AllCandidateSampler.pbtxt
new file mode 100644
index 00000000000..2a260b630af
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AllCandidateSampler.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AllCandidateSampler"
+  endpoint {
+    name: "random.AllCandidateSampler"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AllToAll.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AllToAll.pbtxt
new file mode 100644
index 00000000000..1ce77f7d74a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AllToAll.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AllToAll"
+  endpoint {
+    name: "tpu.AllToAll"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Angle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Angle.pbtxt
new file mode 100644
index 00000000000..fd3770221f8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Angle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Angle"
+  endpoint {
+    name: "math.Angle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousHashTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousHashTable.pbtxt
new file mode 100644
index 00000000000..5b60d123270
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousHashTable.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousHashTable"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AnonymousIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIterator.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AnonymousIterator.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIterator.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIteratorV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIteratorV2.pbtxt
new file mode 100644
index 00000000000..71b6959cf2d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIteratorV2.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "AnonymousIteratorV2"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIteratorV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIteratorV3.pbtxt
new file mode 100644
index 00000000000..0f12f6f369c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousIteratorV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "AnonymousIteratorV3"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.AnonymousIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMemoryCache.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMemoryCache.pbtxt
new file mode 100644
index 00000000000..fcde7026956
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMemoryCache.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousMemoryCache"
+  endpoint {
+    name: "data.AnonymousMemoryCache"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMultiDeviceIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMultiDeviceIterator.pbtxt
new file mode 100644
index 00000000000..f7b39a05c9c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMultiDeviceIterator.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "AnonymousMultiDeviceIterator"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMultiDeviceIteratorV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMultiDeviceIteratorV3.pbtxt
new file mode 100644
index 00000000000..08238a57e52
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMultiDeviceIteratorV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "AnonymousMultiDeviceIteratorV3"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.AnonymousMultiDeviceIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableDenseHashTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableDenseHashTable.pbtxt
new file mode 100644
index 00000000000..fe75322c561
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableDenseHashTable.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousMutableDenseHashTable"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableHashTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableHashTable.pbtxt
new file mode 100644
index 00000000000..69f531da488
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableHashTable.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousMutableHashTable"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableHashTableOfTensors.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableHashTableOfTensors.pbtxt
new file mode 100644
index 00000000000..409abc6f6d0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousMutableHashTableOfTensors.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousMutableHashTableOfTensors"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousRandomSeedGenerator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousRandomSeedGenerator.pbtxt
new file mode 100644
index 00000000000..4c3c3cd98a6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousRandomSeedGenerator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousRandomSeedGenerator"
+  endpoint {
+    name: "random.AnonymousRandomSeedGenerator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousSeedGenerator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousSeedGenerator.pbtxt
new file mode 100644
index 00000000000..cf4c8f4f339
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AnonymousSeedGenerator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AnonymousSeedGenerator"
+  endpoint {
+    name: "random.AnonymousSeedGenerator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Any.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Any.pbtxt
new file mode 100644
index 00000000000..c96baa7525d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Any.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Any"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdaMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdaMax.pbtxt
new file mode 100644
index 00000000000..b552249c876
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdaMax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAdaMax"
+  endpoint {
+    name: "train.ApplyAdaMax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdadelta.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdadelta.pbtxt
new file mode 100644
index 00000000000..e16875bc976
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdadelta.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAdadelta"
+  endpoint {
+    name: "train.ApplyAdadelta"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagrad.pbtxt
new file mode 100644
index 00000000000..3de2b67d1b5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAdagrad"
+  endpoint {
+    name: "train.ApplyAdagrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagradDA.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagradDA.pbtxt
new file mode 100644
index 00000000000..e51c4bd8155
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagradDA.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAdagradDA"
+  endpoint {
+    name: "train.ApplyAdagradDa"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagradV2.pbtxt
new file mode 100644
index 00000000000..cfa90ac82c2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdagradV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAdagradV2"
+  endpoint {
+    name: "train.ApplyAdagradV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdam.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdam.pbtxt
new file mode 100644
index 00000000000..85ff2d1bad3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAdam.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAdam"
+  endpoint {
+    name: "train.ApplyAdam"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAddSign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAddSign.pbtxt
new file mode 100644
index 00000000000..21a5f40a078
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyAddSign.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyAddSign"
+  endpoint {
+    name: "train.ApplyAddSign"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyCenteredRMSProp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyCenteredRMSProp.pbtxt
new file mode 100644
index 00000000000..ec1b6380779
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyCenteredRMSProp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyCenteredRMSProp"
+  endpoint {
+    name: "train.ApplyCenteredRmsProp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ApplyFtrl.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyFtrl.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ApplyFtrl.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyFtrl.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyFtrlV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyFtrlV2.pbtxt
new file mode 100644
index 00000000000..08a86347aef
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyFtrlV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyFtrlV2"
+  endpoint {
+    name: "train.ApplyFtrl"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyGradientDescent.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyGradientDescent.pbtxt
new file mode 100644
index 00000000000..335095ef520
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyGradientDescent.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyGradientDescent"
+  endpoint {
+    name: "train.ApplyGradientDescent"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyMomentum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyMomentum.pbtxt
new file mode 100644
index 00000000000..4a7079316b4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyMomentum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyMomentum"
+  endpoint {
+    name: "train.ApplyMomentum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyPowerSign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyPowerSign.pbtxt
new file mode 100644
index 00000000000..0a816803266
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyPowerSign.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyPowerSign"
+  endpoint {
+    name: "train.ApplyPowerSign"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyProximalAdagrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyProximalAdagrad.pbtxt
new file mode 100644
index 00000000000..774d00e707c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyProximalAdagrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyProximalAdagrad"
+  endpoint {
+    name: "train.ApplyProximalAdagrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyProximalGradientDescent.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyProximalGradientDescent.pbtxt
new file mode 100644
index 00000000000..3458df77763
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyProximalGradientDescent.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyProximalGradientDescent"
+  endpoint {
+    name: "train.ApplyProximalGradientDescent"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyRMSProp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyRMSProp.pbtxt
new file mode 100644
index 00000000000..259b5512e16
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApplyRMSProp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApplyRMSProp"
+  endpoint {
+    name: "train.ApplyRmsProp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApproxTopK.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApproxTopK.pbtxt
new file mode 100644
index 00000000000..51b0cc7c01f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApproxTopK.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApproxTopK"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ApproximateEqual.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApproximateEqual.pbtxt
new file mode 100644
index 00000000000..d392987d60a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ApproximateEqual.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ApproximateEqual"
+  endpoint {
+    name: "math.ApproximateEqual"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ArgMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ArgMax.pbtxt
new file mode 100644
index 00000000000..5627186359b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ArgMax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ArgMax"
+  endpoint {
+    name: "math.ArgMax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ArgMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ArgMin.pbtxt
new file mode 100644
index 00000000000..e01e5f2e72b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ArgMin.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ArgMin"
+  endpoint {
+    name: "math.ArgMin"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AsString.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AsString.pbtxt
new file mode 100644
index 00000000000..a020c7aef85
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AsString.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AsString"
+  endpoint {
+    name: "dtypes.AsString"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Asin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Asin.pbtxt
new file mode 100644
index 00000000000..7b71c08eede
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Asin.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Asin"
+  endpoint {
+    name: "math.Asin"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Asinh.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Asinh.pbtxt
new file mode 100644
index 00000000000..2a371a10071
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Asinh.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Asinh"
+  endpoint {
+    name: "math.Asinh"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Assert.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Assert.pbtxt
new file mode 100644
index 00000000000..44d1ce33dd7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Assert.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Assert"
+  endpoint {
+    name: "AssertThat"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertCardinalityDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertCardinalityDataset.pbtxt
new file mode 100644
index 00000000000..fc93c13b627
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertCardinalityDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "AssertCardinalityDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.AssertCardinalityDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertNextDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertNextDataset.pbtxt
new file mode 100644
index 00000000000..d85694ae56e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertNextDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "AssertNextDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.AssertNextDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertPrevDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertPrevDataset.pbtxt
new file mode 100644
index 00000000000..246fdd58a4a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssertPrevDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssertPrevDataset"
+  endpoint {
+    name: "data.AssertPrevDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Assign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Assign.pbtxt
new file mode 100644
index 00000000000..51c43e54d2e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Assign.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Assign"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignAdd.pbtxt
new file mode 100644
index 00000000000..9f29218e945
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssignAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignAddVariableOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignAddVariableOp.pbtxt
new file mode 100644
index 00000000000..f724f706878
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignAddVariableOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssignAddVariableOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignSub.pbtxt
new file mode 100644
index 00000000000..a492c335154
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignSub.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssignSub"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignSubVariableOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignSubVariableOp.pbtxt
new file mode 100644
index 00000000000..768f4c47169
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignSubVariableOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssignSubVariableOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignVariableOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignVariableOp.pbtxt
new file mode 100644
index 00000000000..9e61072ca68
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignVariableOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssignVariableOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignVariableXlaConcatND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignVariableXlaConcatND.pbtxt
new file mode 100644
index 00000000000..9bf3d7734a6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AssignVariableXlaConcatND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AssignVariableXlaConcatND"
+  endpoint {
+    name: "xla.AssignVariableConcatND"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Atan.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Atan.pbtxt
new file mode 100644
index 00000000000..bb00076b52d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Atan.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Atan"
+  endpoint {
+    name: "math.Atan"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Atan2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Atan2.pbtxt
new file mode 100644
index 00000000000..f313a44b032
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Atan2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Atan2"
+  endpoint {
+    name: "math.Atan2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Atanh.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Atanh.pbtxt
new file mode 100644
index 00000000000..59e98471ce1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Atanh.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Atanh"
+  endpoint {
+    name: "math.Atanh"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSpectrogram.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSpectrogram.pbtxt
new file mode 100644
index 00000000000..8731927d50c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSpectrogram.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AudioSpectrogram"
+  endpoint {
+    name: "audio.AudioSpectrogram"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AudioSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSummary.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_AudioSummary.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSummary.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSummaryV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSummaryV2.pbtxt
new file mode 100644
index 00000000000..954dbf9bb50
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AudioSummaryV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AudioSummaryV2"
+  endpoint {
+    name: "summary.AudioSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AutoShardDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AutoShardDataset.pbtxt
new file mode 100644
index 00000000000..75488eb84eb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AutoShardDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "AutoShardDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.AutoShardDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool.pbtxt
new file mode 100644
index 00000000000..970557d9c96
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AvgPool"
+  endpoint {
+    name: "nn.AvgPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool3D.pbtxt
new file mode 100644
index 00000000000..be8667cf31c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AvgPool3D"
+  endpoint {
+    name: "nn.AvgPool3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool3DGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool3DGrad.pbtxt
new file mode 100644
index 00000000000..6bc2df28667
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPool3DGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AvgPool3DGrad"
+  endpoint {
+    name: "nn.AvgPool3dGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPoolGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPoolGrad.pbtxt
new file mode 100644
index 00000000000..097ba7213f1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_AvgPoolGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "AvgPoolGrad"
+  endpoint {
+    name: "nn.AvgPoolGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BandedTriangularSolve.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BandedTriangularSolve.pbtxt
new file mode 100644
index 00000000000..9cf217624c6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BandedTriangularSolve.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BandedTriangularSolve"
+  endpoint {
+    name: "linalg.BandedTriangularSolve"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Barrier.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Barrier.pbtxt
new file mode 100644
index 00000000000..7aada11ec00
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Barrier.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Barrier"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierClose.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierClose.pbtxt
new file mode 100644
index 00000000000..75d923401c4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierClose.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BarrierClose"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierIncompleteSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierIncompleteSize.pbtxt
new file mode 100644
index 00000000000..53729fe5652
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierIncompleteSize.pbtxt
@@ -0,0 +1,8 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BarrierIncompleteSize"
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierInsertMany.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierInsertMany.pbtxt
new file mode 100644
index 00000000000..163cfbeae5b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierInsertMany.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BarrierInsertMany"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierReadySize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierReadySize.pbtxt
new file mode 100644
index 00000000000..f648bb15560
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierReadySize.pbtxt
@@ -0,0 +1,8 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BarrierReadySize"
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierTakeMany.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierTakeMany.pbtxt
new file mode 100644
index 00000000000..5c6508a6963
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BarrierTakeMany.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BarrierTakeMany"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Batch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Batch.pbtxt
new file mode 100644
index 00000000000..0204a66e576
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Batch.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "Batch"
+  visibility: VISIBLE
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchCholesky.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchCholesky.pbtxt
new file mode 100644
index 00000000000..c1cdb6b892e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchCholesky.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchCholesky"
+  endpoint {
+    name: "linalg.BatchCholesky"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchCholeskyGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchCholeskyGrad.pbtxt
new file mode 100644
index 00000000000..c8e9b4060e7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchCholeskyGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchCholeskyGrad"
+  endpoint {
+    name: "linalg.BatchCholeskyGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchDataset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BatchDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BatchDataset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchDatasetV2.pbtxt
new file mode 100644
index 00000000000..4fb0ad6f29c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "BatchDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.BatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT.pbtxt
new file mode 100644
index 00000000000..cf02316b08c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchFFT"
+  endpoint {
+    name: "signal.BatchFft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT2D.pbtxt
new file mode 100644
index 00000000000..4b09c73a82b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchFFT2D"
+  endpoint {
+    name: "signal.BatchFft2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT3D.pbtxt
new file mode 100644
index 00000000000..0b4cdfac071
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFFT3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchFFT3D"
+  endpoint {
+    name: "signal.BatchFft3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFunction.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFunction.pbtxt
new file mode 100644
index 00000000000..2160e9f7b8a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchFunction.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchFunction"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT.pbtxt
new file mode 100644
index 00000000000..491d21ad4c4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchIFFT"
+  endpoint {
+    name: "signal.BatchIfft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT2D.pbtxt
new file mode 100644
index 00000000000..61a773b3f76
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchIFFT2D"
+  endpoint {
+    name: "signal.BatchIfft2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT3D.pbtxt
new file mode 100644
index 00000000000..6111f4c6006
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchIFFT3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchIFFT3D"
+  endpoint {
+    name: "signal.BatchIfft3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BatchMatMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMul.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BatchMatMul.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMul.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMulV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMulV2.pbtxt
new file mode 100644
index 00000000000..a3fd55b55f5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMulV2.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "BatchMatMulV2"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMulV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMulV3.pbtxt
new file mode 100644
index 00000000000..8a70e8e6e55
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatMulV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatMulV3"
+  endpoint {
+    name: "train.BatchMatMul"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixBandPart.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixBandPart.pbtxt
new file mode 100644
index 00000000000..af80b346df8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixBandPart.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixBandPart"
+  endpoint {
+    name: "linalg.BatchMatrixBandPart"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDeterminant.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDeterminant.pbtxt
new file mode 100644
index 00000000000..ac3c9b2a5ec
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDeterminant.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixDeterminant"
+  endpoint {
+    name: "linalg.BatchMatrixDeterminant"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDiag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDiag.pbtxt
new file mode 100644
index 00000000000..c30ccfb3e28
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDiag.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixDiag"
+  endpoint {
+    name: "linalg.BatchMatrixDiag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDiagPart.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDiagPart.pbtxt
new file mode 100644
index 00000000000..cf215430e8e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixDiagPart.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixDiagPart"
+  endpoint {
+    name: "linalg.BatchMatrixDiagPart"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixInverse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixInverse.pbtxt
new file mode 100644
index 00000000000..113f9e268d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixInverse.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixInverse"
+  endpoint {
+    name: "linalg.BatchMatrixInverse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSetDiag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSetDiag.pbtxt
new file mode 100644
index 00000000000..4d402f61466
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSetDiag.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixSetDiag"
+  endpoint {
+    name: "linalg.BatchMatrixSetDiag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSolve.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSolve.pbtxt
new file mode 100644
index 00000000000..2b5a9c70205
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSolve.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixSolve"
+  endpoint {
+    name: "linalg.BatchMatrixSolve"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSolveLs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSolveLs.pbtxt
new file mode 100644
index 00000000000..b95a4b7f1aa
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixSolveLs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixSolveLs"
+  endpoint {
+    name: "linalg.BatchMatrixSolveLs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixTriangularSolve.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixTriangularSolve.pbtxt
new file mode 100644
index 00000000000..39f614c58a2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchMatrixTriangularSolve.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchMatrixTriangularSolve"
+  endpoint {
+    name: "linalg.BatchMatrixTriangularSolve"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchNormWithGlobalNormalization.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchNormWithGlobalNormalization.pbtxt
new file mode 100644
index 00000000000..0b8ed84a609
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchNormWithGlobalNormalization.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchNormWithGlobalNormalization"
+  endpoint {
+    name: "nn.BatchNormWithGlobalNormalization"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchNormWithGlobalNormalizationGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchNormWithGlobalNormalizationGrad.pbtxt
new file mode 100644
index 00000000000..4aa3b421147
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchNormWithGlobalNormalizationGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchNormWithGlobalNormalizationGrad"
+  endpoint {
+    name: "nn.BatchNormWithGlobalNormalizationGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BatchSelfAdjointEig.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSelfAdjointEig.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BatchSelfAdjointEig.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSelfAdjointEig.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSelfAdjointEigV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSelfAdjointEigV2.pbtxt
new file mode 100644
index 00000000000..4137098cf32
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSelfAdjointEigV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchSelfAdjointEigV2"
+  endpoint {
+    name: "linalg.BatchSelfAdjointEig"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSvd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSvd.pbtxt
new file mode 100644
index 00000000000..73f619b157c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchSvd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchSvd"
+  endpoint {
+    name: "linalg.BatchSvd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchToSpace.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchToSpace.pbtxt
new file mode 100644
index 00000000000..2cd926bf567
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchToSpace.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchToSpace"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchToSpaceND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchToSpaceND.pbtxt
new file mode 100644
index 00000000000..93d4335ac31
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BatchToSpaceND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BatchToSpaceND"
+  endpoint {
+    name: "BatchToSpaceNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI0.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI0.pbtxt
new file mode 100644
index 00000000000..88301e94ba7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI0.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselI0"
+  endpoint {
+    name: "math.BesselI0"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI0e.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI0e.pbtxt
new file mode 100644
index 00000000000..f80adf8b7e6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI0e.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselI0e"
+  endpoint {
+    name: "math.BesselI0e"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI1.pbtxt
new file mode 100644
index 00000000000..bbba9f7549f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI1.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselI1"
+  endpoint {
+    name: "math.BesselI1"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI1e.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI1e.pbtxt
new file mode 100644
index 00000000000..e91b37684b8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselI1e.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselI1e"
+  endpoint {
+    name: "math.BesselI1e"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselJ0.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselJ0.pbtxt
new file mode 100644
index 00000000000..1898e526094
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselJ0.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselJ0"
+  endpoint {
+    name: "math.special.BesselJ0"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselJ1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselJ1.pbtxt
new file mode 100644
index 00000000000..cbe95c525cc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselJ1.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselJ1"
+  endpoint {
+    name: "math.special.BesselJ1"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK0.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK0.pbtxt
new file mode 100644
index 00000000000..ba380554645
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK0.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselK0"
+  endpoint {
+    name: "math.special.BesselK0"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK0e.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK0e.pbtxt
new file mode 100644
index 00000000000..09659504093
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK0e.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselK0e"
+  endpoint {
+    name: "math.special.BesselK0e"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK1.pbtxt
new file mode 100644
index 00000000000..91c3f998864
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK1.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselK1"
+  endpoint {
+    name: "math.special.BesselK1"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK1e.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK1e.pbtxt
new file mode 100644
index 00000000000..334c1025b5f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselK1e.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselK1e"
+  endpoint {
+    name: "math.special.BesselK1e"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselY0.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselY0.pbtxt
new file mode 100644
index 00000000000..a813593994b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselY0.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselY0"
+  endpoint {
+    name: "math.special.BesselY0"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselY1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselY1.pbtxt
new file mode 100644
index 00000000000..cb7a004e1a2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BesselY1.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BesselY1"
+  endpoint {
+    name: "math.special.BesselY1"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Betainc.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Betainc.pbtxt
new file mode 100644
index 00000000000..1931537fa76
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Betainc.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Betainc"
+  endpoint {
+    name: "math.Betainc"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAdd.pbtxt
new file mode 100644
index 00000000000..fa509206f83
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAdd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BiasAdd"
+  endpoint {
+    name: "nn.BiasAdd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAddGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAddGrad.pbtxt
new file mode 100644
index 00000000000..f36f4d41ca5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAddGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BiasAddGrad"
+  endpoint {
+    name: "nn.BiasAddGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BiasAddV1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAddV1.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BiasAddV1.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BiasAddV1.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BigQueryReader.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BigQueryReader.pbtxt
similarity index 80%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BigQueryReader.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BigQueryReader.pbtxt
index 5b6e11687a2..b98f8304793 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BigQueryReader.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BigQueryReader.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "BigQueryReader"
   endpoint {
     name: "io.BigQueryReader"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Bincount.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Bincount.pbtxt
new file mode 100644
index 00000000000..d16999a510b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Bincount.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Bincount"
+  endpoint {
+    name: "math.Bincount"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Bitcast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Bitcast.pbtxt
new file mode 100644
index 00000000000..0b55c90620a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Bitcast.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Bitcast"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseAnd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseAnd.pbtxt
new file mode 100644
index 00000000000..0b791ac5dda
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseAnd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BitwiseAnd"
+  endpoint {
+    name: "bitwise.BitwiseAnd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseOr.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseOr.pbtxt
new file mode 100644
index 00000000000..45796b0bf30
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseOr.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BitwiseOr"
+  endpoint {
+    name: "bitwise.BitwiseOr"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseXor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseXor.pbtxt
new file mode 100644
index 00000000000..c83fee544c6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BitwiseXor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BitwiseXor"
+  endpoint {
+    name: "bitwise.BitwiseXor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BlockLSTM.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTM.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BlockLSTM.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTM.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BlockLSTMGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMGrad.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_BlockLSTMGrad.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMGrad.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMGradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMGradV2.pbtxt
new file mode 100644
index 00000000000..d88c6c62f86
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMGradV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BlockLSTMGradV2"
+  endpoint {
+    name: "nn.BlockLSTMGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMV2.pbtxt
new file mode 100644
index 00000000000..f20e824d7dc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BlockLSTMV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BlockLSTMV2"
+  endpoint {
+    name: "nn.BlockLSTM"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesAggregateStats.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesAggregateStats.pbtxt
new file mode 100644
index 00000000000..58978e6b6ba
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesAggregateStats.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesAggregateStats"
+  endpoint {
+    name: "estimator.BoostedTreesAggregateStats"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesBucketize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesBucketize.pbtxt
new file mode 100644
index 00000000000..d55fffeb182
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesBucketize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesBucketize"
+  endpoint {
+    name: "estimator.BoostedTreesBucketize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestFeatureSplit.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestFeatureSplit.pbtxt
new file mode 100644
index 00000000000..43ce3d8a8b8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestFeatureSplit.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesCalculateBestFeatureSplit"
+  endpoint {
+    name: "estimator.BoostedTreesCalculateBestFeatureSplit"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestFeatureSplitV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestFeatureSplitV2.pbtxt
new file mode 100644
index 00000000000..d920e9bf6b5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestFeatureSplitV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesCalculateBestFeatureSplitV2"
+  endpoint {
+    name: "estimator.BoostedTreesCalculateBestFeatureSplitV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestGainsPerFeature.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestGainsPerFeature.pbtxt
new file mode 100644
index 00000000000..cab624efd61
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCalculateBestGainsPerFeature.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesCalculateBestGainsPerFeature"
+  endpoint {
+    name: "estimator.BoostedTreesCalculateBestGainsPerFeature"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCenterBias.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCenterBias.pbtxt
new file mode 100644
index 00000000000..055cb5b067d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCenterBias.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesCenterBias"
+  endpoint {
+    name: "estimator.BoostedTreesCenterBias"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCreateEnsemble.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCreateEnsemble.pbtxt
new file mode 100644
index 00000000000..01e25eb2270
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCreateEnsemble.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesCreateEnsemble"
+  endpoint {
+    name: "estimator.BoostedTreesCreateEnsemble"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCreateQuantileStreamResource.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCreateQuantileStreamResource.pbtxt
new file mode 100644
index 00000000000..7105d2a13ca
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesCreateQuantileStreamResource.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesCreateQuantileStreamResource"
+  endpoint {
+    name: "estimator.BoostedTreesCreateQuantileStreamResource"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesDeserializeEnsemble.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesDeserializeEnsemble.pbtxt
new file mode 100644
index 00000000000..7dbb508bad1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesDeserializeEnsemble.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesDeserializeEnsemble"
+  endpoint {
+    name: "estimator.BoostedTreesDeserializeEnsemble"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesEnsembleResourceHandleOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesEnsembleResourceHandleOp.pbtxt
new file mode 100644
index 00000000000..43f0f618a9d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesEnsembleResourceHandleOp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesEnsembleResourceHandleOp"
+  endpoint {
+    name: "estimator.BoostedTreesEnsembleResourceHandleOp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesExampleDebugOutputs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesExampleDebugOutputs.pbtxt
new file mode 100644
index 00000000000..0768f7ea464
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesExampleDebugOutputs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesExampleDebugOutputs"
+  endpoint {
+    name: "estimator.BoostedTreesExampleDebugOutputs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesFlushQuantileSummaries.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesFlushQuantileSummaries.pbtxt
new file mode 100644
index 00000000000..c5949350c42
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesFlushQuantileSummaries.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesFlushQuantileSummaries"
+  endpoint {
+    name: "estimator.BoostedTreesFlushQuantileSummaries"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesGetEnsembleStates.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesGetEnsembleStates.pbtxt
new file mode 100644
index 00000000000..1973e3ce0b6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesGetEnsembleStates.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesGetEnsembleStates"
+  endpoint {
+    name: "estimator.BoostedTreesGetEnsembleStates"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesMakeQuantileSummaries.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesMakeQuantileSummaries.pbtxt
new file mode 100644
index 00000000000..f4de8855e9a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesMakeQuantileSummaries.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesMakeQuantileSummaries"
+  endpoint {
+    name: "estimator.BoostedTreesMakeQuantileSummaries"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesMakeStatsSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesMakeStatsSummary.pbtxt
new file mode 100644
index 00000000000..5414e2aae97
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesMakeStatsSummary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesMakeStatsSummary"
+  endpoint {
+    name: "estimator.BoostedTreesMakeStatsSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesPredict.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesPredict.pbtxt
new file mode 100644
index 00000000000..7c93fcfdfc2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesPredict.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesPredict"
+  endpoint {
+    name: "estimator.BoostedTreesPredict"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceAddSummaries.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceAddSummaries.pbtxt
new file mode 100644
index 00000000000..ab449a57d5c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceAddSummaries.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesQuantileStreamResourceAddSummaries"
+  endpoint {
+    name: "estimator.BoostedTreesQuantileStreamResourceAddSummaries"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceDeserialize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceDeserialize.pbtxt
new file mode 100644
index 00000000000..45103ae088a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceDeserialize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesQuantileStreamResourceDeserialize"
+  endpoint {
+    name: "estimator.BoostedTreesQuantileStreamResourceDeserialize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceFlush.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceFlush.pbtxt
new file mode 100644
index 00000000000..16b68e4ac83
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceFlush.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesQuantileStreamResourceFlush"
+  endpoint {
+    name: "estimator.BoostedTreesQuantileStreamResourceFlush"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceGetBucketBoundaries.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceGetBucketBoundaries.pbtxt
new file mode 100644
index 00000000000..990abb4effe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceGetBucketBoundaries.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesQuantileStreamResourceGetBucketBoundaries"
+  endpoint {
+    name: "estimator.BoostedTreesQuantileStreamResourceGetBucketBoundaries"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceHandleOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceHandleOp.pbtxt
new file mode 100644
index 00000000000..12600896ec9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesQuantileStreamResourceHandleOp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesQuantileStreamResourceHandleOp"
+  endpoint {
+    name: "estimator.BoostedTreesQuantileStreamResourceHandleOp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSerializeEnsemble.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSerializeEnsemble.pbtxt
new file mode 100644
index 00000000000..5880c132063
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSerializeEnsemble.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesSerializeEnsemble"
+  endpoint {
+    name: "estimator.BoostedTreesSerializeEnsemble"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSparseAggregateStats.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSparseAggregateStats.pbtxt
new file mode 100644
index 00000000000..109f3bae4e2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSparseAggregateStats.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesSparseAggregateStats"
+  endpoint {
+    name: "estimator.BoostedTreesSparseAggregateStats"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSparseCalculateBestFeatureSplit.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSparseCalculateBestFeatureSplit.pbtxt
new file mode 100644
index 00000000000..aae4c225f7e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesSparseCalculateBestFeatureSplit.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesSparseCalculateBestFeatureSplit"
+  endpoint {
+    name: "estimator.BoostedTreesSparseCalculateBestFeatureSplit"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesTrainingPredict.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesTrainingPredict.pbtxt
new file mode 100644
index 00000000000..d4696dc6182
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesTrainingPredict.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesTrainingPredict"
+  endpoint {
+    name: "estimator.BoostedTreesTrainingPredict"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesUpdateEnsemble.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesUpdateEnsemble.pbtxt
new file mode 100644
index 00000000000..77f30bc409f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesUpdateEnsemble.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesUpdateEnsemble"
+  endpoint {
+    name: "estimator.BoostedTreesUpdateEnsemble"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesUpdateEnsembleV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesUpdateEnsembleV2.pbtxt
new file mode 100644
index 00000000000..df4e978b422
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BoostedTreesUpdateEnsembleV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "BoostedTreesUpdateEnsembleV2"
+  endpoint {
+    name: "estimator.BoostedTreesUpdateEnsembleV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastArgs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastArgs.pbtxt
new file mode 100644
index 00000000000..ebc44eacd85
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastArgs.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BroadcastArgs"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastGradientArgs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastGradientArgs.pbtxt
new file mode 100644
index 00000000000..6e6f0d1b9b7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastGradientArgs.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BroadcastGradientArgs"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastTo.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastTo.pbtxt
new file mode 100644
index 00000000000..c5b07af0a18
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BroadcastTo.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "BroadcastTo"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Bucketize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Bucketize.pbtxt
new file mode 100644
index 00000000000..a600ac3634d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Bucketize.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Bucketize"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_BytesProducedStatsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_BytesProducedStatsDataset.pbtxt
new file mode 100644
index 00000000000..b9d81b54105
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_BytesProducedStatsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "BytesProducedStatsDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.BytesProducedStatsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixComponents.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixComponents.pbtxt
new file mode 100644
index 00000000000..24b7e34e16b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixComponents.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CSRSparseMatrixComponents"
+  endpoint {
+    name: "linalg.sparse.CSRSparseMatrixComponents"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixToDense.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixToDense.pbtxt
new file mode 100644
index 00000000000..62baeff7b47
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixToDense.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CSRSparseMatrixToDense"
+  endpoint {
+    name: "linalg.sparse.CSRSparseMatrixToDense"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixToSparseTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixToSparseTensor.pbtxt
new file mode 100644
index 00000000000..6be3fd9219b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSRSparseMatrixToSparseTensor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CSRSparseMatrixToSparseTensor"
+  endpoint {
+    name: "linalg.sparse.CSRSparseMatrixToSparseTensor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CSVDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSVDataset.pbtxt
new file mode 100644
index 00000000000..b4637f34b40
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSVDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CSVDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CSVDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSVDatasetV2.pbtxt
new file mode 100644
index 00000000000..2c2848e9a74
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CSVDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "CSVDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.CSVDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCBeamSearchDecoder.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCBeamSearchDecoder.pbtxt
new file mode 100644
index 00000000000..113d683f6be
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCBeamSearchDecoder.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CTCBeamSearchDecoder"
+  endpoint {
+    name: "nn.CtcBeamSearchDecoder"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCGreedyDecoder.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCGreedyDecoder.pbtxt
new file mode 100644
index 00000000000..f82f1789f23
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCGreedyDecoder.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CTCGreedyDecoder"
+  endpoint {
+    name: "nn.CtcGreedyDecoder"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCLoss.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCLoss.pbtxt
new file mode 100644
index 00000000000..0c4d2f7843a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCLoss.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CTCLoss"
+  endpoint {
+    name: "nn.CtcLoss"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCLossV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCLossV2.pbtxt
new file mode 100644
index 00000000000..4ea107e1445
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CTCLossV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CTCLossV2"
+  endpoint {
+    name: "nn.CTCLossV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CacheDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CacheDataset.pbtxt
new file mode 100644
index 00000000000..4b4b9bb3b53
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CacheDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CacheDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CacheDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CacheDatasetV2.pbtxt
new file mode 100644
index 00000000000..8c5b58383c3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CacheDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "CacheDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.CacheDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Case.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Case.pbtxt
new file mode 100644
index 00000000000..eb371486f04
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Case.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Case"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cast.pbtxt
new file mode 100644
index 00000000000..bd6b1b27204
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cast.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cast"
+  endpoint {
+    name: "dtypes.Cast"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Ceil.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Ceil.pbtxt
new file mode 100644
index 00000000000..41c23c44712
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Ceil.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Ceil"
+  endpoint {
+    name: "math.Ceil"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CheckNumerics.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckNumerics.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CheckNumerics.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CheckNumerics.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckNumericsV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckNumericsV2.pbtxt
new file mode 100644
index 00000000000..3085f985715
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckNumericsV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CheckNumericsV2"
+  endpoint {
+    name: "debugging.CheckNumerics"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckPinned.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckPinned.pbtxt
new file mode 100644
index 00000000000..fff873c9bbf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CheckPinned.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "CheckPinned"
+  endpoint {
+    name: "CheckPinned"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cholesky.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cholesky.pbtxt
new file mode 100644
index 00000000000..0c1f48317d1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cholesky.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cholesky"
+  endpoint {
+    name: "linalg.Cholesky"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CholeskyGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CholeskyGrad.pbtxt
new file mode 100644
index 00000000000..22e4aa89a6f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CholeskyGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CholeskyGrad"
+  endpoint {
+    name: "linalg.CholeskyGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ChooseFastestBranchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ChooseFastestBranchDataset.pbtxt
new file mode 100644
index 00000000000..b3be1a9cd3b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ChooseFastestBranchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ChooseFastestBranchDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ChooseFastestBranchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ChooseFastestDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ChooseFastestDataset.pbtxt
new file mode 100644
index 00000000000..a25508efebc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ChooseFastestDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ChooseFastestDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ChooseFastestDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ClipByValue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ClipByValue.pbtxt
new file mode 100644
index 00000000000..b6c8fae964f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ClipByValue.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ClipByValue"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CloseSummaryWriter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CloseSummaryWriter.pbtxt
new file mode 100644
index 00000000000..2d1ca9631d3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CloseSummaryWriter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CloseSummaryWriter"
+  endpoint {
+    name: "summary.CloseSummaryWriter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollateTPUEmbeddingMemory.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollateTPUEmbeddingMemory.pbtxt
new file mode 100644
index 00000000000..7e2b1aef93b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollateTPUEmbeddingMemory.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollateTPUEmbeddingMemory"
+  endpoint {
+    name: "tpu.CollateTPUEmbeddingMemory"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAllToAllV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAllToAllV2.pbtxt
new file mode 100644
index 00000000000..6460f0455c0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAllToAllV2.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CollectiveAllToAllV2"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAllToAllV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAllToAllV3.pbtxt
new file mode 100644
index 00000000000..b2356ee5b36
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAllToAllV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveAllToAllV3"
+  endpoint {
+    name: "collective.CollectiveAllToAll"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAssignGroupV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAssignGroupV2.pbtxt
new file mode 100644
index 00000000000..d414cd66079
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveAssignGroupV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveAssignGroupV2"
+  endpoint {
+    name: "collective.CollectiveAssignGroup"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastRecv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastRecv.pbtxt
new file mode 100644
index 00000000000..48feac2efa0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastRecv.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CollectiveBcastRecv"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastRecvV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastRecvV2.pbtxt
new file mode 100644
index 00000000000..be74a35b7f9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastRecvV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveBcastRecvV2"
+  endpoint {
+    name: "collective.CollectiveBcastRecv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastSend.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastSend.pbtxt
new file mode 100644
index 00000000000..3d444c00bf2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastSend.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CollectiveBcastSend"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastSendV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastSendV2.pbtxt
new file mode 100644
index 00000000000..1fb22afed54
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveBcastSendV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveBcastSendV2"
+  endpoint {
+    name: "collective.CollectiveBcastSend"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveGather.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveGather.pbtxt
new file mode 100644
index 00000000000..8479efea1a8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveGather.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CollectiveGather"
+  visibility: SKIP
+}
\ No newline at end of file
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveGatherV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveGatherV2.pbtxt
new file mode 100644
index 00000000000..d220f2ab11f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveGatherV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveGatherV2"
+  endpoint: {
+    name: "collective.CollectiveGather"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveInitializeCommunicator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveInitializeCommunicator.pbtxt
new file mode 100644
index 00000000000..fba9e620843
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveInitializeCommunicator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveInitializeCommunicator"
+  endpoint {
+    name: "collective.CollectiveInitializeCommunicator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectivePermute.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectivePermute.pbtxt
new file mode 100644
index 00000000000..5fa5a659df4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectivePermute.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectivePermute"
+  endpoint {
+    name: "collective.CollectivePermute"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduce.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduce.pbtxt
new file mode 100644
index 00000000000..e810cfb06da
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduce.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CollectiveReduce"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceScatterV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceScatterV2.pbtxt
new file mode 100644
index 00000000000..b36c3830ca1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceScatterV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveReduceScatterV2"
+  endpoint {
+    name: "collective.CollectiveReduceScatter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceV2.pbtxt
new file mode 100644
index 00000000000..4fe3c35b51e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceV2.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "CollectiveReduceV2"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceV3.pbtxt
new file mode 100644
index 00000000000..3a2779461d2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CollectiveReduceV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CollectiveReduceV3"
+  endpoint {
+    name: "collective.CollectiveReduce"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CombinedNonMaxSuppression.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CombinedNonMaxSuppression.pbtxt
new file mode 100644
index 00000000000..836a46a42b2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CombinedNonMaxSuppression.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CombinedNonMaxSuppression"
+  endpoint {
+    name: "image.CombinedNonMaxSuppression"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CompareAndBitpack.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompareAndBitpack.pbtxt
similarity index 81%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CompareAndBitpack.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CompareAndBitpack.pbtxt
index d744fbbc90f..4e5a5e1a2af 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CompareAndBitpack.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompareAndBitpack.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "CompareAndBitpack"
   endpoint {
     name: "math.CompareAndBitpack"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Complex.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Complex.pbtxt
new file mode 100644
index 00000000000..f649707afb8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Complex.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Complex"
+  endpoint {
+    name: "dtypes.Complex"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComplexAbs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComplexAbs.pbtxt
new file mode 100644
index 00000000000..be6aa59c92e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComplexAbs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ComplexAbs"
+  endpoint {
+    name: "math.ComplexAbs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CompositeTensorVariantFromComponents.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompositeTensorVariantFromComponents.pbtxt
new file mode 100644
index 00000000000..adb638940d8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompositeTensorVariantFromComponents.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CompositeTensorVariantFromComponents"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CompositeTensorVariantToComponents.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompositeTensorVariantToComponents.pbtxt
new file mode 100644
index 00000000000..b34054ead77
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompositeTensorVariantToComponents.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CompositeTensorVariantToComponents"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CompressElement.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompressElement.pbtxt
new file mode 100644
index 00000000000..09a543581d2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CompressElement.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CompressElement"
+  endpoint {
+    name: "data.CompressElement"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeAccidentalHits.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeAccidentalHits.pbtxt
new file mode 100644
index 00000000000..8c4d834016b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeAccidentalHits.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ComputeAccidentalHits"
+  endpoint {
+    name: "nn.ComputeAccidentalHits"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeBatchSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeBatchSize.pbtxt
new file mode 100644
index 00000000000..826f51ac87d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeBatchSize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ComputeBatchSize"
+  endpoint {
+    name: "train.ComputeBatchSize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataSize.pbtxt
new file mode 100644
index 00000000000..3bedfe49d78
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataSize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ComputeDedupDataSize"
+  visibility: SKIP
+  endpoint {
+    name: "tpu.ComputeDedupDataSize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataSizeV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataSizeV2.pbtxt
new file mode 100644
index 00000000000..af5bdc31f13
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataSizeV2.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "ComputeDedupDataSizeV2"
+  endpoint {
+    name: "tpu.ComputeDedupDataSize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataTupleMask.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataTupleMask.pbtxt
new file mode 100644
index 00000000000..cb0cd71c3f3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataTupleMask.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "ComputeDedupDataTupleMask"
+  endpoint {
+    name: "tpu.ComputeDedupDataTupleMask"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataTupleMaskV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataTupleMaskV2.pbtxt
new file mode 100644
index 00000000000..75e34703b13
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ComputeDedupDataTupleMaskV2.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "ComputeDedupDataTupleMaskV2"
+  endpoint {
+    name: "tpu.ComputeDedupDataTupleMask"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Concat.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Concat.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Concat.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Concat.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatOffset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatOffset.pbtxt
new file mode 100644
index 00000000000..876db502770
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatOffset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConcatOffset"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatV2.pbtxt
new file mode 100644
index 00000000000..9bf9a9b8648
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConcatV2"
+  endpoint {
+    name: "Concat"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatenateDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatenateDataset.pbtxt
new file mode 100644
index 00000000000..d4878f5925b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConcatenateDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ConcatenateDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ConcatenateDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConditionalAccumulator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConditionalAccumulator.pbtxt
new file mode 100644
index 00000000000..3e8dd5299a1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConditionalAccumulator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConditionalAccumulator"
+  endpoint {
+    name: "train.ConditionalAccumulator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureAndInitializeGlobalTPU.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureAndInitializeGlobalTPU.pbtxt
new file mode 100644
index 00000000000..5ee6c848dee
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureAndInitializeGlobalTPU.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConfigureAndInitializeGlobalTPU"
+  endpoint {
+    name: "tpu.ConfigureAndInitializeGlobalTPU"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureDistributedTPU.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureDistributedTPU.pbtxt
new file mode 100644
index 00000000000..1dc468d8666
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureDistributedTPU.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConfigureDistributedTPU"
+  endpoint {
+    name: "tpu.ConfigureDistributedTPU"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbedding.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbedding.pbtxt
new file mode 100644
index 00000000000..1cd8caf6d34
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbedding.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConfigureTPUEmbedding"
+  endpoint {
+    name: "tpu.ConfigureTPUEmbedding"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbeddingHost.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbeddingHost.pbtxt
new file mode 100644
index 00000000000..aa4265b80ba
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbeddingHost.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConfigureTPUEmbeddingHost"
+  endpoint {
+    name: "tpu.ConfigureTPUEmbeddingHost"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbeddingMemory.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbeddingMemory.pbtxt
new file mode 100644
index 00000000000..51b142d5c15
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConfigureTPUEmbeddingMemory.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConfigureTPUEmbeddingMemory"
+  endpoint {
+    name: "tpu.ConfigureTPUEmbeddingMemory"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conj.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conj.pbtxt
new file mode 100644
index 00000000000..0fb1ddc5788
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conj.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Conj"
+  endpoint {
+    name: "math.Conj"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConjugateTranspose.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConjugateTranspose.pbtxt
new file mode 100644
index 00000000000..42fad3b7ee6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConjugateTranspose.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConjugateTranspose"
+  endpoint {
+    name: "linalg.ConjugateTranspose"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConnectTPUEmbeddingHosts.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConnectTPUEmbeddingHosts.pbtxt
new file mode 100644
index 00000000000..030cd71468e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConnectTPUEmbeddingHosts.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConnectTPUEmbeddingHosts"
+  endpoint {
+    name: "tpu.ConnectTPUEmbeddingHosts"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Const.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Const.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Const.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Const.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConsumeMutexLock.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConsumeMutexLock.pbtxt
new file mode 100644
index 00000000000..78c8099b9ac
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConsumeMutexLock.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ConsumeMutexLock"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ControlTrigger.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ControlTrigger.pbtxt
new file mode 100644
index 00000000000..8dc64a98773
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ControlTrigger.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ControlTrigger"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv.pbtxt
new file mode 100644
index 00000000000..cdc59f52e68
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Conv"
+  endpoint {
+    name: "nn.Conv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2D.pbtxt
new file mode 100644
index 00000000000..1752f424f38
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Conv2D"
+  endpoint {
+    name: "nn.Conv2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropFilter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropFilter.pbtxt
new file mode 100644
index 00000000000..30b696c51d1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropFilter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "Conv2DBackpropFilter"
+  visibility: VISIBLE
+  endpoint {
+    name: "nn.Conv2dBackpropFilter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropFilterV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropFilterV2.pbtxt
new file mode 100644
index 00000000000..83c1d10a28f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropFilterV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "Conv2DBackpropFilterV2"
+  visibility: HIDDEN
+  endpoint {
+    name: "nn.Conv2dBackpropFilterV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropInput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropInput.pbtxt
new file mode 100644
index 00000000000..9c7eb533cca
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropInput.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "Conv2DBackpropInput"
+  visibility: VISIBLE
+  endpoint {
+    name: "nn.Conv2dBackpropInput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropInputV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropInputV2.pbtxt
new file mode 100644
index 00000000000..821f284ad44
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv2DBackpropInputV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "Conv2DBackpropInputV2"
+  visibility: HIDDEN
+  endpoint {
+    name: "nn.Conv2dBackpropInputV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3D.pbtxt
new file mode 100644
index 00000000000..abafc5a703d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Conv3D"
+  endpoint {
+    name: "nn.Conv3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Conv3DBackpropFilter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropFilter.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Conv3DBackpropFilter.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropFilter.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropFilterV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropFilterV2.pbtxt
new file mode 100644
index 00000000000..257a0e6f7fe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropFilterV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Conv3DBackpropFilterV2"
+  endpoint {
+    name: "nn.Conv3dBackpropFilter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Conv3DBackpropInput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropInput.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Conv3DBackpropInput.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropInput.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropInputV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropInputV2.pbtxt
new file mode 100644
index 00000000000..e192e5feedc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Conv3DBackpropInputV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Conv3DBackpropInputV2"
+  endpoint {
+    name: "nn.Conv3dBackpropInput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToCooTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToCooTensor.pbtxt
new file mode 100644
index 00000000000..3047ada98b7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToCooTensor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ConvertToCooTensor"
+  visibility: VISIBLE
+  endpoint {
+    name: "tpu.ConvertToCooTensor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToListOfSparseCoreCooTensors.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToListOfSparseCoreCooTensors.pbtxt
new file mode 100644
index 00000000000..99d2ebea438
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToListOfSparseCoreCooTensors.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ConvertToListOfSparseCoreCooTensors"
+  visibility: VISIBLE
+  endpoint {
+    name: "sparse.ConvertToListOfSparseCoreCooTensors"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToSparseCoreCsrWrappedCooTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToSparseCoreCsrWrappedCooTensor.pbtxt
new file mode 100644
index 00000000000..6b78c0b216c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ConvertToSparseCoreCsrWrappedCooTensor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ConvertToSparseCoreCsrWrappedCooTensor"
+  visibility: VISIBLE
+  endpoint {
+    name: "sparse.ConvertToSparseCoreCsrWrappedCooTensor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Copy.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Copy.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Copy.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Copy.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CopyHost.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyHost.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CopyHost.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CopyHost.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyToMesh.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyToMesh.pbtxt
new file mode 100644
index 00000000000..e70bf4ade58
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyToMesh.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CopyToMesh"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyToMeshGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyToMeshGrad.pbtxt
new file mode 100644
index 00000000000..5e3d38dd349
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CopyToMeshGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CopyToMeshGrad"
+  endpoint {
+    name: "CopyToMeshGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cos.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cos.pbtxt
new file mode 100644
index 00000000000..a8006cadd6b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cos.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cos"
+  endpoint {
+    name: "math.Cos"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cosh.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cosh.pbtxt
new file mode 100644
index 00000000000..6f08a1b1862
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cosh.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cosh"
+  endpoint {
+    name: "math.Cosh"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CountUpTo.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CountUpTo.pbtxt
new file mode 100644
index 00000000000..bdc63ba1e04
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CountUpTo.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CountUpTo"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CreateSummaryDbWriter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CreateSummaryDbWriter.pbtxt
new file mode 100644
index 00000000000..0c9840034b5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CreateSummaryDbWriter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CreateSummaryDbWriter"
+  endpoint {
+    name: "summary.CreateSummaryDbWriter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CreateSummaryFileWriter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CreateSummaryFileWriter.pbtxt
new file mode 100644
index 00000000000..b85f13b6de4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CreateSummaryFileWriter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CreateSummaryFileWriter"
+  endpoint {
+    name: "summary.CreateSummaryFileWriter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResize.pbtxt
new file mode 100644
index 00000000000..b41932cf5ab
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CropAndResize"
+  endpoint {
+    name: "image.CropAndResize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResizeGradBoxes.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResizeGradBoxes.pbtxt
new file mode 100644
index 00000000000..8b29c975468
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResizeGradBoxes.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CropAndResizeGradBoxes"
+  endpoint {
+    name: "image.CropAndResizeGradBoxes"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResizeGradImage.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResizeGradImage.pbtxt
new file mode 100644
index 00000000000..85607c39878
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CropAndResizeGradImage.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CropAndResizeGradImage"
+  endpoint {
+    name: "image.CropAndResizeGradImage"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cross.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cross.pbtxt
new file mode 100644
index 00000000000..a9717d3bc7d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cross.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cross"
+  endpoint {
+    name: "linalg.Cross"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CrossReplicaSum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CrossReplicaSum.pbtxt
new file mode 100644
index 00000000000..f83642ef04a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CrossReplicaSum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CrossReplicaSum"
+  endpoint {
+    name: "tpu.CrossReplicaSum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNN.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNN.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNN.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNN.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNBackprop.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackprop.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNBackprop.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackprop.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNBackpropV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackpropV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNBackpropV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackpropV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackpropV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackpropV3.pbtxt
new file mode 100644
index 00000000000..eb7800c71df
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNBackpropV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CudnnRNNBackpropV3"
+  endpoint {
+    name: "nn.CudnnRNNBackprop"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNCanonicalToParams.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNCanonicalToParams.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNCanonicalToParams.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNCanonicalToParams.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNCanonicalToParamsV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNCanonicalToParamsV2.pbtxt
new file mode 100644
index 00000000000..99b144ed11c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNCanonicalToParamsV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CudnnRNNCanonicalToParamsV2"
+  endpoint {
+    name: "nn.CudnnRNNCanonicalToParams"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsSize.pbtxt
new file mode 100644
index 00000000000..e0b34db1680
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsSize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CudnnRNNParamsSize"
+  endpoint {
+    name: "nn.CudnnRnnParamsSize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNParamsToCanonical.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsToCanonical.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNParamsToCanonical.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsToCanonical.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsToCanonicalV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsToCanonicalV2.pbtxt
new file mode 100644
index 00000000000..4542b63afcc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNParamsToCanonicalV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CudnnRNNParamsToCanonicalV2"
+  endpoint {
+    name: "nn.CudnnRNNParamsToCanonical"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_CudnnRNNV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNV3.pbtxt
new file mode 100644
index 00000000000..0e07477c874
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CudnnRNNV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CudnnRNNV3"
+  endpoint {
+    name: "nn.CudnnRNN"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cumprod.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cumprod.pbtxt
new file mode 100644
index 00000000000..b49217a6d13
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cumprod.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cumprod"
+  endpoint {
+    name: "math.Cumprod"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Cumsum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cumsum.pbtxt
new file mode 100644
index 00000000000..30db71c3b58
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Cumsum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Cumsum"
+  endpoint {
+    name: "math.Cumsum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_CumulativeLogsumexp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_CumulativeLogsumexp.pbtxt
new file mode 100644
index 00000000000..5e815bd9dab
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_CumulativeLogsumexp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "CumulativeLogsumexp"
+  endpoint {
+    name: "math.CumulativeLogsumexp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorRestoreV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorRestoreV2.pbtxt
new file mode 100644
index 00000000000..c494af28b78
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorRestoreV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DTensorRestoreV2"
+  endpoint {
+    name: "tpu.DTensorRestore"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorSetGlobalTPUArray.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorSetGlobalTPUArray.pbtxt
new file mode 100644
index 00000000000..9eb54c892bb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorSetGlobalTPUArray.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DTensorSetGlobalTPUArray"
+  endpoint {
+    name: "tpu.ExecuteTPUEmbeddingPartitioner"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorShardedPrefix.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorShardedPrefix.pbtxt
new file mode 100644
index 00000000000..28a477a0351
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DTensorShardedPrefix.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DTensorShardedPrefix"
+  endpoint {
+    name: "tpu.DTensorShardedPrefix"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DataFormatDimMap.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataFormatDimMap.pbtxt
new file mode 100644
index 00000000000..8d1015ddf8a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataFormatDimMap.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DataFormatDimMap"
+  endpoint {
+    name: "nn.DataFormatDimMap"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DataFormatVecPermute.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataFormatVecPermute.pbtxt
new file mode 100644
index 00000000000..61766b93905
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataFormatVecPermute.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DataFormatVecPermute"
+  endpoint {
+    name: "nn.DataFormatVecPermute"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDataset.pbtxt
new file mode 100644
index 00000000000..cfe0fc978fc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "DataServiceDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV2.pbtxt
new file mode 100644
index 00000000000..63f9d0c5aae
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV2.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "DataServiceDatasetV2"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV3.pbtxt
new file mode 100644
index 00000000000..67371f27cbf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV3.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "DataServiceDatasetV3"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV4.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV4.pbtxt
new file mode 100644
index 00000000000..4798e5bd703
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DataServiceDatasetV4.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DataServiceDatasetV4"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DataServiceDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetCardinality.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetCardinality.pbtxt
new file mode 100644
index 00000000000..6a699fc214e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetCardinality.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DatasetCardinality"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DatasetCardinality"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetFingerprint.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetFingerprint.pbtxt
new file mode 100644
index 00000000000..61e0086729b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetFingerprint.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DatasetFingerprint"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DatasetFingerprint"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetFromGraph.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetFromGraph.pbtxt
new file mode 100644
index 00000000000..80ea2a57196
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetFromGraph.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DatasetFromGraph"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DatasetFromGraph"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DatasetToGraph.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToGraph.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DatasetToGraph.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToGraph.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToGraphV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToGraphV2.pbtxt
new file mode 100644
index 00000000000..99be66c5e54
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToGraphV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DatasetToGraphV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DatasetToGraph"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToSingleElement.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToSingleElement.pbtxt
new file mode 100644
index 00000000000..0f0407914d4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToSingleElement.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DatasetToSingleElement"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DatasetToSingleElement"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToTFRecord.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToTFRecord.pbtxt
new file mode 100644
index 00000000000..c4d256969f7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DatasetToTFRecord.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DatasetToTFRecord"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DatasetToTfRecord"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Dawsn.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dawsn.pbtxt
new file mode 100644
index 00000000000..8cd2717a601
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dawsn.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Dawsn"
+  endpoint {
+    name: "math.special.Dawsn"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugGradientIdentity.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugGradientIdentity.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugGradientIdentity.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DebugGradientIdentity.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugGradientRefIdentity.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugGradientRefIdentity.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugGradientRefIdentity.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DebugGradientRefIdentity.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugIdentity.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentity.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugIdentity.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentity.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentityV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentityV2.pbtxt
new file mode 100644
index 00000000000..e9c29efad27
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentityV2.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "DebugIdentityV2"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentityV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentityV3.pbtxt
new file mode 100644
index 00000000000..ec79f482e44
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugIdentityV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DebugIdentityV3"
+  visibility: HIDDEN
+  endpoint {
+    name: "debugging.DebugIdentity"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugNanCount.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugNanCount.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugNanCount.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DebugNanCount.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugNumericSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugNumericSummary.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugNumericSummary.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DebugNumericSummary.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugNumericSummaryV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DebugNumericSummaryV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DebugNumericSummaryV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DebugNumericSummaryV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeAndCropJpeg.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeAndCropJpeg.pbtxt
new file mode 100644
index 00000000000..13ffab4d225
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeAndCropJpeg.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeAndCropJpeg"
+  endpoint {
+    name: "image.DecodeAndCropJpeg"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeBase64.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeBase64.pbtxt
new file mode 100644
index 00000000000..6d091e3a52e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeBase64.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeBase64"
+  endpoint {
+    name: "io.DecodeBase64"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeBmp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeBmp.pbtxt
new file mode 100644
index 00000000000..03f5e2d7aa0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeBmp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeBmp"
+  endpoint {
+    name: "image.DecodeBmp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeCSV.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeCSV.pbtxt
new file mode 100644
index 00000000000..f8c881d807f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeCSV.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeCSV"
+  endpoint {
+    name: "io.DecodeCsv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeCompressed.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeCompressed.pbtxt
new file mode 100644
index 00000000000..e688002e944
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeCompressed.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeCompressed"
+  endpoint {
+    name: "io.DecodeCompressed"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeGif.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeGif.pbtxt
new file mode 100644
index 00000000000..ac36d9bc1f2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeGif.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeGif"
+  endpoint {
+    name: "image.DecodeGif"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeImage.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeImage.pbtxt
new file mode 100644
index 00000000000..80516c0e1b1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeImage.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeImage"
+  endpoint {
+    name: "image.DecodeImage"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeJSONExample.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeJSONExample.pbtxt
new file mode 100644
index 00000000000..d78f8891a22
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeJSONExample.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeJSONExample"
+  endpoint {
+    name: "io.DecodeJsonExample"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeJpeg.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeJpeg.pbtxt
new file mode 100644
index 00000000000..f1d5b1238d9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeJpeg.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeJpeg"
+  endpoint {
+    name: "image.DecodeJpeg"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodePaddedRaw.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodePaddedRaw.pbtxt
new file mode 100644
index 00000000000..daaabcd76c4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodePaddedRaw.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodePaddedRaw"
+  endpoint {
+    name: "io.DecodePaddedRaw"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodePng.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodePng.pbtxt
new file mode 100644
index 00000000000..aed9c898a29
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodePng.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodePng"
+  endpoint {
+    name: "image.DecodePng"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeProtoV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeProtoV2.pbtxt
new file mode 100644
index 00000000000..b831161f690
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeProtoV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeProtoV2"
+  endpoint {
+    name: "DecodeProto"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeRaw.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeRaw.pbtxt
new file mode 100644
index 00000000000..d91490cc854
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeRaw.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeRaw"
+  endpoint {
+    name: "io.DecodeRaw"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeWav.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeWav.pbtxt
new file mode 100644
index 00000000000..f63a147de11
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeWav.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DecodeWav"
+  endpoint {
+    name: "audio.DecodeWav"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeWebP.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeWebP.pbtxt
new file mode 100644
index 00000000000..5bd8c3f5508
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DecodeWebP.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "DecodeWebP"
+  endpoint {
+    name: "image.DecodeWebP"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeepCopy.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeepCopy.pbtxt
new file mode 100644
index 00000000000..e55a4c21ffe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeepCopy.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeepCopy"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteIterator.pbtxt
new file mode 100644
index 00000000000..9a612e9ad6c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteIterator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DeleteIterator"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DeleteIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteMemoryCache.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteMemoryCache.pbtxt
new file mode 100644
index 00000000000..e9ddbda3ed9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteMemoryCache.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeleteMemoryCache"
+  endpoint {
+    name: "data.DeleteMemoryCache"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteMultiDeviceIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteMultiDeviceIterator.pbtxt
new file mode 100644
index 00000000000..b93b8c3541e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteMultiDeviceIterator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeleteMultiDeviceIterator"
+  endpoint {
+    name: "data.DeleteMultiDeviceIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteRandomSeedGenerator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteRandomSeedGenerator.pbtxt
new file mode 100644
index 00000000000..f1d06eccdbb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteRandomSeedGenerator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeleteRandomSeedGenerator"
+  endpoint {
+    name: "random.DeleteRandomSeedGenerator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteSeedGenerator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteSeedGenerator.pbtxt
new file mode 100644
index 00000000000..24e5394bf3f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteSeedGenerator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeleteSeedGenerator"
+  endpoint {
+    name: "random.DeleteSeedGenerator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteSessionTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteSessionTensor.pbtxt
new file mode 100644
index 00000000000..a7e2ca5bfed
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeleteSessionTensor.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeleteSessionTensor"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseBincount.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseBincount.pbtxt
new file mode 100644
index 00000000000..38af1580e36
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseBincount.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DenseBincount"
+  endpoint {
+    name: "math.DenseBincount"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseCountSparseOutput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseCountSparseOutput.pbtxt
new file mode 100644
index 00000000000..6496cb1c446
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseCountSparseOutput.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DenseCountSparseOutput"
+  endpoint {
+    name: "sparse.DenseCountSparseOutput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToCSRSparseMatrix.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToCSRSparseMatrix.pbtxt
new file mode 100644
index 00000000000..dc7ecd1a204
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToCSRSparseMatrix.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DenseToCSRSparseMatrix"
+  endpoint {
+    name: "linalg.sparse.DenseToCSRSparseMatrix"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToDenseSetOperation.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToDenseSetOperation.pbtxt
new file mode 100644
index 00000000000..8772c2c0e3a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToDenseSetOperation.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DenseToDenseSetOperation"
+  endpoint {
+    name: "sparse.DenseToDenseSetOperation"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToSparseBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToSparseBatchDataset.pbtxt
new file mode 100644
index 00000000000..106059e48f0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToSparseBatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DenseToSparseBatchDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DenseToSparseBatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToSparseSetOperation.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToSparseSetOperation.pbtxt
new file mode 100644
index 00000000000..80455026338
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DenseToSparseSetOperation.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DenseToSparseSetOperation"
+  endpoint {
+    name: "sparse.DenseToSparseSetOperation"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthToSpace.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthToSpace.pbtxt
new file mode 100644
index 00000000000..da338027869
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthToSpace.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DepthToSpace"
+  endpoint {
+    name: "nn.DepthToSpace"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNative.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNative.pbtxt
new file mode 100644
index 00000000000..eb20bbab725
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNative.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DepthwiseConv2dNative"
+  endpoint {
+    name: "nn.DepthwiseConv2dNative"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNativeBackpropFilter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNativeBackpropFilter.pbtxt
new file mode 100644
index 00000000000..e534f662ea2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNativeBackpropFilter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DepthwiseConv2dNativeBackpropFilter"
+  endpoint {
+    name: "nn.DepthwiseConv2dNativeBackpropFilter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNativeBackpropInput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNativeBackpropInput.pbtxt
new file mode 100644
index 00000000000..892160034cd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DepthwiseConv2dNativeBackpropInput.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DepthwiseConv2dNativeBackpropInput"
+  endpoint {
+    name: "nn.DepthwiseConv2dNativeBackpropInput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Dequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dequantize.pbtxt
new file mode 100644
index 00000000000..7b32cd14882
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Dequantize"
+  endpoint {
+    name: "quantization.Dequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeIterator.pbtxt
new file mode 100644
index 00000000000..cb296d27127
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeIterator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeserializeIterator"
+  endpoint {
+    name: "data.DeserializeIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeManySparse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeManySparse.pbtxt
new file mode 100644
index 00000000000..b57141ed844
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeManySparse.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeserializeManySparse"
+  endpoint {
+    name: "io.DeserializeManySparse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeSparse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeSparse.pbtxt
new file mode 100644
index 00000000000..8b46d1060b8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeserializeSparse.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeserializeSparse"
+  endpoint {
+    name: "sparse.DeserializeSparse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DestroyResourceOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DestroyResourceOp.pbtxt
new file mode 100644
index 00000000000..dbdcf2f0cea
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DestroyResourceOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DestroyResourceOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DestroyTemporaryVariable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DestroyTemporaryVariable.pbtxt
new file mode 100644
index 00000000000..e9f167bd1fc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DestroyTemporaryVariable.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DestroyTemporaryVariable"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DeviceIndex.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeviceIndex.pbtxt
new file mode 100644
index 00000000000..de7b5bc2b58
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DeviceIndex.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DeviceIndex"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Diag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Diag.pbtxt
new file mode 100644
index 00000000000..de116a55651
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Diag.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Diag"
+  endpoint {
+    name: "linalg.TensorDiag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DiagPart.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DiagPart.pbtxt
new file mode 100644
index 00000000000..b9ef4010d99
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DiagPart.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DiagPart"
+  endpoint {
+    name: "linalg.TensorDiagPart"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Digamma.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Digamma.pbtxt
new file mode 100644
index 00000000000..fafcf4cc8bc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Digamma.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Digamma"
+  endpoint {
+    name: "math.Digamma"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2D.pbtxt
new file mode 100644
index 00000000000..523cf20b08d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Dilation2D"
+  endpoint {
+    name: "nn.Dilation2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2DBackpropFilter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2DBackpropFilter.pbtxt
new file mode 100644
index 00000000000..0b7b84c8b5d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2DBackpropFilter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Dilation2DBackpropFilter"
+  endpoint {
+    name: "nn.Dilation2dBackpropFilter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2DBackpropInput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2DBackpropInput.pbtxt
new file mode 100644
index 00000000000..c8d15a56c8b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Dilation2DBackpropInput.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Dilation2DBackpropInput"
+  endpoint {
+    name: "nn.Dilation2dBackpropInput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DirectedInterleaveDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DirectedInterleaveDataset.pbtxt
new file mode 100644
index 00000000000..60c9729704e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DirectedInterleaveDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "DirectedInterleaveDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.DirectedInterleaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DisableCopyOnRead.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DisableCopyOnRead.pbtxt
new file mode 100644
index 00000000000..4e6dae43607
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DisableCopyOnRead.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DisableCopyOnRead"
+  endpoint {
+    name: "io.DisableCopyOnRead"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DistributedSave.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DistributedSave.pbtxt
new file mode 100644
index 00000000000..74a8b4ddfc1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DistributedSave.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DistributedSave"
+  endpoint {
+    name: "train.DistributedSave"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Div.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Div.pbtxt
new file mode 100644
index 00000000000..70007de3ae0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Div.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Div"
+  endpoint {
+    name: "math.Div"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DivNoNan.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DivNoNan.pbtxt
new file mode 100644
index 00000000000..c8dcc9f80aa
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DivNoNan.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DivNoNan"
+  endpoint {
+    name: "math.DivNoNan"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DrawBoundingBoxes.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DrawBoundingBoxes.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_DrawBoundingBoxes.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_DrawBoundingBoxes.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DrawBoundingBoxesV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DrawBoundingBoxesV2.pbtxt
new file mode 100644
index 00000000000..1a1bcc3c284
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DrawBoundingBoxesV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DrawBoundingBoxesV2"
+  endpoint {
+    name: "image.DrawBoundingBoxes"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DummyIterationCounter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DummyIterationCounter.pbtxt
new file mode 100644
index 00000000000..837647279de
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DummyIterationCounter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DummyIterationCounter"
+  endpoint {
+    name: "data.DummyIterationCounter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DummyMemoryCache.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DummyMemoryCache.pbtxt
new file mode 100644
index 00000000000..ac86013215f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DummyMemoryCache.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DummyMemoryCache"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DummySeedGenerator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DummySeedGenerator.pbtxt
new file mode 100644
index 00000000000..3d2cf2618ff
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DummySeedGenerator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DummySeedGenerator"
+  endpoint {
+    name: "random.DummySeedGenerator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicEnqueueTPUEmbeddingArbitraryTensorBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicEnqueueTPUEmbeddingArbitraryTensorBatch.pbtxt
new file mode 100644
index 00000000000..935786de8fa
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicEnqueueTPUEmbeddingArbitraryTensorBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DynamicEnqueueTPUEmbeddingArbitraryTensorBatch"
+  endpoint {
+    name: "tpu.DynamicEnqueueTPUEmbeddingArbitraryTensorBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicEnqueueTPUEmbeddingRaggedTensorBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicEnqueueTPUEmbeddingRaggedTensorBatch.pbtxt
new file mode 100644
index 00000000000..2f59cca069b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicEnqueueTPUEmbeddingRaggedTensorBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DynamicEnqueueTPUEmbeddingRaggedTensorBatch"
+  endpoint {
+    name: "tpu.DynamicEnqueueTPUEmbeddingRaggedTensorBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicPartition.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicPartition.pbtxt
new file mode 100644
index 00000000000..4550ff6fbbc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicPartition.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DynamicPartition"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicStitch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicStitch.pbtxt
new file mode 100644
index 00000000000..609515974a7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_DynamicStitch.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "DynamicStitch"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_EagerPyFunc.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EagerPyFunc.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_EagerPyFunc.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_EagerPyFunc.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EditDistance.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EditDistance.pbtxt
new file mode 100644
index 00000000000..8e6dabb659f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EditDistance.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EditDistance"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Eig.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Eig.pbtxt
new file mode 100644
index 00000000000..fb0d5c4b045
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Eig.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Eig"
+  endpoint {
+    name: "linalg.Eig"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Einsum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Einsum.pbtxt
new file mode 100644
index 00000000000..fbfc95e1380
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Einsum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Einsum"
+  endpoint {
+    name: "linalg.Einsum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Elu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Elu.pbtxt
new file mode 100644
index 00000000000..432d2a70692
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Elu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Elu"
+  endpoint {
+    name: "nn.Elu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EluGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EluGrad.pbtxt
new file mode 100644
index 00000000000..e8722cc7d24
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EluGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EluGrad"
+  endpoint {
+    name: "nn.EluGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Empty.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Empty.pbtxt
new file mode 100644
index 00000000000..e2dfb53ab7b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Empty.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Empty"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EmptyTensorList.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EmptyTensorList.pbtxt
new file mode 100644
index 00000000000..df92f263af1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EmptyTensorList.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EmptyTensorList"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EmptyTensorMap.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EmptyTensorMap.pbtxt
new file mode 100644
index 00000000000..a2141d3fbd3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EmptyTensorMap.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EmptyTensorMap"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeBase64.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeBase64.pbtxt
new file mode 100644
index 00000000000..a060a92104d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeBase64.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EncodeBase64"
+  endpoint {
+    name: "io.EncodeBase64"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeJpeg.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeJpeg.pbtxt
new file mode 100644
index 00000000000..af995121608
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeJpeg.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EncodeJpeg"
+  endpoint {
+    name: "image.EncodeJpeg"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeJpegVariableQuality.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeJpegVariableQuality.pbtxt
new file mode 100644
index 00000000000..bb8eeba21b3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeJpegVariableQuality.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EncodeJpegVariableQuality"
+  endpoint {
+    name: "image.EncodeJpegVariableQuality"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodePng.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodePng.pbtxt
new file mode 100644
index 00000000000..b806e4917ff
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodePng.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EncodePng"
+  endpoint {
+    name: "image.EncodePng"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeProto.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeProto.pbtxt
new file mode 100644
index 00000000000..87b2c6ac4bc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeProto.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EncodeProto"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeWav.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeWav.pbtxt
new file mode 100644
index 00000000000..96ed73270da
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EncodeWav.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EncodeWav"
+  endpoint {
+    name: "audio.EncodeWav"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_EnqueueInQueueDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueInQueueDataset.pbtxt
similarity index 82%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_EnqueueInQueueDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueInQueueDataset.pbtxt
index 26051ab446f..804c2fc317e 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_EnqueueInQueueDataset.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueInQueueDataset.pbtxt
@@ -1,5 +1,6 @@
 op {
   graph_op_name: "EnqueueInQueueDataset"
+  visibility: VISIBLE
   endpoint {
     name: "data.EnqueueInQueueDataset"
   }
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingArbitraryTensorBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingArbitraryTensorBatch.pbtxt
new file mode 100644
index 00000000000..7335cf4e1cc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingArbitraryTensorBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnqueueTPUEmbeddingArbitraryTensorBatch"
+  endpoint {
+    name: "tpu.EnqueueTPUEmbeddingArbitraryTensorBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingBatch.pbtxt
new file mode 100644
index 00000000000..a14d72b4a72
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnqueueTPUEmbeddingBatch"
+  endpoint {
+    name: "tpu.EnqueueTPUEmbeddingBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingIntegerBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingIntegerBatch.pbtxt
new file mode 100644
index 00000000000..97b471f0ddd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingIntegerBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnqueueTPUEmbeddingIntegerBatch"
+  endpoint {
+    name: "tpu.EnqueueTPUEmbeddingIntegerBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingRaggedTensorBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingRaggedTensorBatch.pbtxt
new file mode 100644
index 00000000000..d1d250dd27a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingRaggedTensorBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnqueueTPUEmbeddingRaggedTensorBatch"
+  endpoint {
+    name: "tpu.EnqueueTPUEmbeddingRaggedTensorBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingSparseBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingSparseBatch.pbtxt
new file mode 100644
index 00000000000..b346dd636a9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingSparseBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnqueueTPUEmbeddingSparseBatch"
+  endpoint {
+    name: "tpu.EnqueueTPUEmbeddingSparseBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingSparseTensorBatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingSparseTensorBatch.pbtxt
new file mode 100644
index 00000000000..56864f899be
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnqueueTPUEmbeddingSparseTensorBatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnqueueTPUEmbeddingSparseTensorBatch"
+  endpoint {
+    name: "tpu.EnqueueTPUEmbeddingSparseTensorBatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EnsureShape.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnsureShape.pbtxt
new file mode 100644
index 00000000000..4e7d8ac0a55
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EnsureShape.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EnsureShape"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Enter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Enter.pbtxt
new file mode 100644
index 00000000000..07abdf23784
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Enter.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Enter"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Equal.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Equal.pbtxt
new file mode 100644
index 00000000000..afd1c9fcf85
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Equal.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Equal"
+  endpoint {
+    name: "math.Equal"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Erf.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Erf.pbtxt
new file mode 100644
index 00000000000..0f3d2e6dc03
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Erf.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Erf"
+  endpoint {
+    name: "math.Erf"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Erfc.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Erfc.pbtxt
new file mode 100644
index 00000000000..b1da0c02862
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Erfc.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Erfc"
+  endpoint {
+    name: "math.Erfc"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Erfinv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Erfinv.pbtxt
new file mode 100644
index 00000000000..68358ebb137
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Erfinv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Erfinv"
+  endpoint {
+    name: "math.erfinv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_EuclideanNorm.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_EuclideanNorm.pbtxt
new file mode 100644
index 00000000000..f4afae29cd7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_EuclideanNorm.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "EuclideanNorm"
+  endpoint {
+    name: "linalg.EuclideanNorm"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExecuteTPUEmbeddingPartitioner.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExecuteTPUEmbeddingPartitioner.pbtxt
new file mode 100644
index 00000000000..125aeb61d93
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExecuteTPUEmbeddingPartitioner.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExecuteTPUEmbeddingPartitioner"
+  endpoint {
+    name: "tpu.ExecuteTPUEmbeddingPartitioner"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Exit.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Exit.pbtxt
new file mode 100644
index 00000000000..0ca26a5aa7d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Exit.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Exit"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Exp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Exp.pbtxt
new file mode 100644
index 00000000000..7947019a666
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Exp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Exp"
+  endpoint {
+    name: "math.Exp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExpandDims.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExpandDims.pbtxt
new file mode 100644
index 00000000000..01c82186792
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExpandDims.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExpandDims"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalAssertNextDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalAssertNextDataset.pbtxt
new file mode 100644
index 00000000000..28e46dce87d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalAssertNextDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalAssertNextDataset"
+  endpoint {
+    name: "data.experimental.AssertNextDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalAutoShardDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalAutoShardDataset.pbtxt
new file mode 100644
index 00000000000..df08aef09b3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalAutoShardDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalAutoShardDataset"
+  endpoint {
+    name: "data.experimental.AutoShardDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalBytesProducedStatsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalBytesProducedStatsDataset.pbtxt
new file mode 100644
index 00000000000..272f9e1eaae
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalBytesProducedStatsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalBytesProducedStatsDataset"
+  endpoint {
+    name: "data.experimental.BytesProducedStatsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalCSVDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalCSVDataset.pbtxt
new file mode 100644
index 00000000000..d548e72a07a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalCSVDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalCSVDataset"
+  endpoint {
+    name:  "data.experimental.CSVDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalChooseFastestDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalChooseFastestDataset.pbtxt
new file mode 100644
index 00000000000..d818de9d33e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalChooseFastestDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalChooseFastestDataset"
+  endpoint {
+    name: "data.experimental.ChooseFastestDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDatasetCardinality.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDatasetCardinality.pbtxt
new file mode 100644
index 00000000000..743bc536a0f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDatasetCardinality.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalDatasetCardinality"
+  endpoint {
+    name: "data.experimental.DatasetCardinality"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDatasetToTFRecord.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDatasetToTFRecord.pbtxt
new file mode 100644
index 00000000000..45ca0a09034
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDatasetToTFRecord.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalDatasetToTFRecord"
+  endpoint {
+    name: "data.experimental.DatasetToTFRecord"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDenseToSparseBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDenseToSparseBatchDataset.pbtxt
new file mode 100644
index 00000000000..492eeee03a2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDenseToSparseBatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalDenseToSparseBatchDataset"
+  endpoint {
+    name: "data.experimental.DenseToSparseBatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDirectedInterleaveDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDirectedInterleaveDataset.pbtxt
new file mode 100644
index 00000000000..d0acd7ea288
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalDirectedInterleaveDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalDirectedInterleaveDataset"
+  endpoint {
+    name: "data.experimental.DirectedInterleaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResource.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResource.pbtxt
similarity index 86%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResource.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResource.pbtxt
index fef2a0fd2f2..f35eca43ca4 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResource.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResource.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "ExperimentalFunctionBufferingResource"
   endpoint {
     name: "data.experimental.FunctionBufferingResource"
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResourceGetNext.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResourceGetNext.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResourceGetNext.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResourceGetNext.pbtxt
index 4c614345d59..e1b5ae6fac6 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResourceGetNext.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResourceGetNext.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "ExperimentalFunctionBufferingResourceGetNext"
   endpoint {
     name: "data.experimental.FunctionBufferingResourceGetNext"
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResourceReset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResourceReset.pbtxt
similarity index 86%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResourceReset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResourceReset.pbtxt
index b819eeab663..8c9bdb4de26 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ExperimentalFunctionBufferingResourceReset.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalFunctionBufferingResourceReset.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "ExperimentalFunctionBufferingResourceReset"
   endpoint {
     name: "data.experimental.FunctionBufferingResourceReset"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalGroupByReducerDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalGroupByReducerDataset.pbtxt
new file mode 100644
index 00000000000..8cf62d85942
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalGroupByReducerDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalGroupByReducerDataset"
+  endpoint {
+    name: "data.experimental.GroupByReducerDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalGroupByWindowDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalGroupByWindowDataset.pbtxt
new file mode 100644
index 00000000000..875aaa78dd8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalGroupByWindowDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalGroupByWindowDataset"
+  endpoint {
+    name: "data.experimental.GroupByWindowDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalIgnoreErrorsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalIgnoreErrorsDataset.pbtxt
new file mode 100644
index 00000000000..ad31e9738d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalIgnoreErrorsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalIgnoreErrorsDataset"
+  endpoint {
+    name: "data.experimental.IgnoreErrorsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalIteratorGetDevice.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalIteratorGetDevice.pbtxt
new file mode 100644
index 00000000000..b1f2dfcf5c9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalIteratorGetDevice.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalIteratorGetDevice"
+  endpoint {
+    name: "data.experimental.IteratorGetDevice"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalLMDBDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalLMDBDataset.pbtxt
new file mode 100644
index 00000000000..a427a85e631
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalLMDBDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalLMDBDataset"
+  endpoint {
+    name: "data.experimental.LmdbDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalLatencyStatsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalLatencyStatsDataset.pbtxt
new file mode 100644
index 00000000000..21ed0bfde64
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalLatencyStatsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalLatencyStatsDataset"
+  endpoint {
+    name: "data.experimental.LatencyStatsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMapAndBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMapAndBatchDataset.pbtxt
new file mode 100644
index 00000000000..fa88e18887b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMapAndBatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalMapAndBatchDataset"
+  endpoint {
+    name: "data.experimental.MapAndBatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMapDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMapDataset.pbtxt
new file mode 100644
index 00000000000..cdfa66a022e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMapDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalMapDataset"
+  endpoint {
+    name: "data.experimental.MapDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMatchingFilesDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMatchingFilesDataset.pbtxt
new file mode 100644
index 00000000000..ae0210b3f3e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMatchingFilesDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalMatchingFilesDataset"
+  endpoint {
+    name: "data.experimental.MatchingFilesDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMaxIntraOpParallelismDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMaxIntraOpParallelismDataset.pbtxt
new file mode 100644
index 00000000000..afe63cd09fe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalMaxIntraOpParallelismDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalMaxIntraOpParallelismDataset"
+  endpoint {
+    name: "data.experimental.MaxIntraOpParallelismDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalNonSerializableDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalNonSerializableDataset.pbtxt
new file mode 100644
index 00000000000..5e3386e8483
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalNonSerializableDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalNonSerializableDataset"
+  endpoint {
+    name: "data.experimental.NonSerializableDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalParallelInterleaveDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalParallelInterleaveDataset.pbtxt
new file mode 100644
index 00000000000..ad33fe82aa8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalParallelInterleaveDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalParallelInterleaveDataset"
+  endpoint {
+    name: "data.experimental.ParallelInterleaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalParseExampleDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalParseExampleDataset.pbtxt
new file mode 100644
index 00000000000..741b6b1a96a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalParseExampleDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalParseExampleDataset"
+  endpoint {
+    name: "data.experimental.ParseExampleDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalPrivateThreadPoolDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalPrivateThreadPoolDataset.pbtxt
new file mode 100644
index 00000000000..667d9f53047
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalPrivateThreadPoolDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalPrivateThreadPoolDataset"
+  endpoint {
+    name: "data.experimental.PrivateThreadPoolDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalRandomDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalRandomDataset.pbtxt
new file mode 100644
index 00000000000..687e7c2782a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalRandomDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalRandomDataset"
+  endpoint {
+    name: "data.experimental.RandomDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalRebatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalRebatchDataset.pbtxt
new file mode 100644
index 00000000000..8012dbae620
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalRebatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalRebatchDataset"
+  endpoint {
+    name: "data.experimental.RebatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalScanDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalScanDataset.pbtxt
new file mode 100644
index 00000000000..910fb561988
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalScanDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalScanDataset"
+  endpoint {
+    name: "data.experimental.ScanDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSetStatsAggregatorDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSetStatsAggregatorDataset.pbtxt
new file mode 100644
index 00000000000..d3039499942
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSetStatsAggregatorDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalSetStatsAggregatorDataset"
+  endpoint {
+    name: "data.experimental.SetStatsAggregatorDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSleepDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSleepDataset.pbtxt
new file mode 100644
index 00000000000..7c160528fcc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSleepDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalSleepDataset"
+  endpoint {
+    name: "data.experimental.SleepDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSlidingWindowDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSlidingWindowDataset.pbtxt
new file mode 100644
index 00000000000..aa0fe454722
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSlidingWindowDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalSlidingWindowDataset"
+  endpoint {
+    name: "data.experimental.SlidingWindowDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSqlDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSqlDataset.pbtxt
new file mode 100644
index 00000000000..f827b21b8b7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalSqlDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalSqlDataset"
+  endpoint {
+    name: "data.experimental.SqlDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalStatsAggregatorHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalStatsAggregatorHandle.pbtxt
new file mode 100644
index 00000000000..ec2f2aff7ca
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalStatsAggregatorHandle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalStatsAggregatorHandle"
+  endpoint {
+    name: "data.experimental.StatsAggregatorHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalStatsAggregatorSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalStatsAggregatorSummary.pbtxt
new file mode 100644
index 00000000000..6f9b79ac777
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalStatsAggregatorSummary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalStatsAggregatorSummary"
+  endpoint {
+    name: "data.experimental.StatsAggregatorSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalTakeWhileDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalTakeWhileDataset.pbtxt
new file mode 100644
index 00000000000..2b494bd04c4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalTakeWhileDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalTakeWhileDataset"
+  endpoint {
+    name: "data.experimental.TakeWhileDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalThreadPoolDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalThreadPoolDataset.pbtxt
new file mode 100644
index 00000000000..55fc4665fd9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalThreadPoolDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalThreadPoolDataset"
+  endpoint {
+    name: "data.experimental.ThreadPoolDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalThreadPoolHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalThreadPoolHandle.pbtxt
new file mode 100644
index 00000000000..ecaa0ceb2c9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalThreadPoolHandle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalThreadPoolHandle"
+  endpoint {
+    name: "data.experimental.ThreadPoolHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalUnbatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalUnbatchDataset.pbtxt
new file mode 100644
index 00000000000..c08a60749be
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalUnbatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalUnbatchDataset"
+  endpoint {
+    name: "data.experimental.UnbatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalUniqueDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalUniqueDataset.pbtxt
new file mode 100644
index 00000000000..d644078b402
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExperimentalUniqueDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExperimentalUniqueDataset"
+  endpoint {
+    name: "data.experimental.UniqueDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Expint.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Expint.pbtxt
new file mode 100644
index 00000000000..64b09ca6ab7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Expint.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Expint"
+  endpoint {
+    name: "math.special.Expint"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Expm1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Expm1.pbtxt
new file mode 100644
index 00000000000..df2ece3b9e8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Expm1.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Expm1"
+  endpoint {
+    name: "math.Expm1"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractGlimpse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractGlimpse.pbtxt
new file mode 100644
index 00000000000..b44183c1178
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractGlimpse.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "ExtractGlimpse"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractGlimpseV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractGlimpseV2.pbtxt
new file mode 100644
index 00000000000..e0491472fc4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractGlimpseV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExtractGlimpseV2"
+  endpoint {
+    name: "image.ExtractGlimpse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractImagePatches.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractImagePatches.pbtxt
new file mode 100644
index 00000000000..ab6177b5247
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractImagePatches.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExtractImagePatches"
+  endpoint {
+    name: "image.ExtractImagePatches"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractJpegShape.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractJpegShape.pbtxt
new file mode 100644
index 00000000000..da8258cc5b2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractJpegShape.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExtractJpegShape"
+  endpoint {
+    name: "image.ExtractJpegShape"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractVolumePatches.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractVolumePatches.pbtxt
new file mode 100644
index 00000000000..5d5d80ce08f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ExtractVolumePatches.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ExtractVolumePatches"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT.pbtxt
new file mode 100644
index 00000000000..a50549a383e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FFT"
+  endpoint {
+    name: "signal.Fft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT2D.pbtxt
new file mode 100644
index 00000000000..ffbf0a00050
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FFT2D"
+  endpoint {
+    name: "signal.Fft2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT3D.pbtxt
new file mode 100644
index 00000000000..a7415cc5d03
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFT3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FFT3D"
+  endpoint {
+    name: "signal.Fft3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FFTND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFTND.pbtxt
new file mode 100644
index 00000000000..753cdcb1997
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FFTND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FFTND"
+  endpoint {
+    name: "signal.FftNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FIFOQueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FIFOQueue.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FIFOQueue.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FIFOQueue.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FIFOQueueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FIFOQueueV2.pbtxt
new file mode 100644
index 00000000000..797fe75a0b5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FIFOQueueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FIFOQueueV2"
+  endpoint {
+    name: "io.FifoQueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Fact.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Fact.pbtxt
new file mode 100644
index 00000000000..f60455d31a5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Fact.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Fact"
+  endpoint {
+    name: "math.Fact"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeParam.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeParam.pbtxt
new file mode 100644
index 00000000000..3310fb8af02
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeParam.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeParam"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxArgs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxArgs.pbtxt
new file mode 100644
index 00000000000..61723a6b616
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxArgs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQuantWithMinMaxArgs"
+  endpoint {
+    name: "quantization.FakeQuantWithMinMaxArgs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxArgsGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxArgsGradient.pbtxt
new file mode 100644
index 00000000000..a995fff37e4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxArgsGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQuantWithMinMaxArgsGradient"
+  endpoint {
+    name: "quantization.FakeQuantWithMinMaxArgsGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVars.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVars.pbtxt
new file mode 100644
index 00000000000..7318899ee3f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVars.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQuantWithMinMaxVars"
+  endpoint {
+    name: "quantization.FakeQuantWithMinMaxVars"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsGradient.pbtxt
new file mode 100644
index 00000000000..7738b510c20
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQuantWithMinMaxVarsGradient"
+  endpoint {
+    name: "quantization.FakeQuantWithMinMaxVarsGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsPerChannel.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsPerChannel.pbtxt
new file mode 100644
index 00000000000..270c2644610
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsPerChannel.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQuantWithMinMaxVarsPerChannel"
+  endpoint {
+    name: "quantization.FakeQuantWithMinMaxVarsPerChannel"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsPerChannelGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsPerChannelGradient.pbtxt
new file mode 100644
index 00000000000..0cd372b0162
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQuantWithMinMaxVarsPerChannelGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQuantWithMinMaxVarsPerChannelGradient"
+  endpoint {
+    name: "quantization.FakeQuantWithMinMaxVarsPerChannelGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQueue.pbtxt
new file mode 100644
index 00000000000..b49719e8142
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FakeQueue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FakeQueue"
+  endpoint {
+    name: "io.FakeQueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FileSystemSetConfiguration.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FileSystemSetConfiguration.pbtxt
new file mode 100644
index 00000000000..48a9f01c087
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FileSystemSetConfiguration.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FileSystemSetConfiguration"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Fill.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Fill.pbtxt
new file mode 100644
index 00000000000..b0883b54e03
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Fill.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Fill"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FilterByLastComponentDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FilterByLastComponentDataset.pbtxt
new file mode 100644
index 00000000000..4ad74385bce
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FilterByLastComponentDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "FilterByLastComponentDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.FilterByLastComponentDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FilterDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FilterDataset.pbtxt
new file mode 100644
index 00000000000..c8e587eeedd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FilterDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "FilterDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.FilterDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeDataset.pbtxt
new file mode 100644
index 00000000000..78b37455e28
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "FinalizeDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.FinalizeDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeTPUEmbedding.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeTPUEmbedding.pbtxt
new file mode 100644
index 00000000000..5a5262fbe5a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeTPUEmbedding.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "FinalizeTPUEmbedding"
+  endpoint {
+    name: "tpu.FinalizeTPUEmbedding"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeTPUEmbeddingV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeTPUEmbeddingV2.pbtxt
new file mode 100644
index 00000000000..7a8840309e4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FinalizeTPUEmbeddingV2.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "FinalizeTPUEmbeddingV2"
+  endpoint {
+    name: "tpu.FinalizeTPUEmbedding"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Fingerprint.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Fingerprint.pbtxt
new file mode 100644
index 00000000000..42f780314bb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Fingerprint.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Fingerprint"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FixedLengthRecordDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordDataset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FixedLengthRecordDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordDataset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordDatasetV2.pbtxt
new file mode 100644
index 00000000000..b0f66ca1642
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "FixedLengthRecordDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.FixedLengthRecordDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FixedLengthRecordReader.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordReader.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FixedLengthRecordReader.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordReader.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordReaderV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordReaderV2.pbtxt
new file mode 100644
index 00000000000..c6acb018dc2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedLengthRecordReaderV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FixedLengthRecordReaderV2"
+  endpoint {
+    name: "io.FixedLengthRecordReader"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedUnigramCandidateSampler.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedUnigramCandidateSampler.pbtxt
new file mode 100644
index 00000000000..b4e26238201
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FixedUnigramCandidateSampler.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FixedUnigramCandidateSampler"
+  endpoint {
+    name: "nn.FixedUnigramCandidateSampler"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FlatMapDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FlatMapDataset.pbtxt
new file mode 100644
index 00000000000..54b443d247c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FlatMapDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "FlatMapDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.FlatMapDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Floor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Floor.pbtxt
new file mode 100644
index 00000000000..9cbf0eb0e4e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Floor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Floor"
+  endpoint {
+    name: "math.Floor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FloorDiv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FloorDiv.pbtxt
new file mode 100644
index 00000000000..693eed27e08
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FloorDiv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FloorDiv"
+  endpoint {
+    name: "math.FloorDiv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FloorMod.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FloorMod.pbtxt
new file mode 100644
index 00000000000..c6c7ea42659
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FloorMod.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FloorMod"
+  endpoint {
+    name: "math.FloorMod"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FlushSummaryWriter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FlushSummaryWriter.pbtxt
new file mode 100644
index 00000000000..5731ce679d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FlushSummaryWriter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FlushSummaryWriter"
+  endpoint {
+    name: "summary.FlushSummaryWriter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_For.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_For.pbtxt
new file mode 100644
index 00000000000..4d01b94bd26
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_For.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "For"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalAvgPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalAvgPool.pbtxt
new file mode 100644
index 00000000000..1e2afb0ca3b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalAvgPool.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FractionalAvgPool"
+  endpoint {
+    name: "nn.FractionalAvgPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalAvgPoolGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalAvgPoolGrad.pbtxt
new file mode 100644
index 00000000000..f51859f903e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalAvgPoolGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FractionalAvgPoolGrad"
+  endpoint {
+    name: "nn.FractionalAvgPoolGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalMaxPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalMaxPool.pbtxt
new file mode 100644
index 00000000000..ad0fddc2bc6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalMaxPool.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FractionalMaxPool"
+  endpoint {
+    name: "nn.FractionalMaxPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalMaxPoolGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalMaxPoolGrad.pbtxt
new file mode 100644
index 00000000000..00bf30c2b68
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FractionalMaxPoolGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FractionalMaxPoolGrad"
+  endpoint {
+    name: "nn.FractionalMaxPoolGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FresnelCos.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FresnelCos.pbtxt
new file mode 100644
index 00000000000..239ea452c59
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FresnelCos.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FresnelCos"
+  endpoint {
+    name: "math.special.FresnelCos"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FresnelSin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FresnelSin.pbtxt
new file mode 100644
index 00000000000..01e64aa2368
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FresnelSin.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FresnelSin"
+  endpoint {
+    name: "math.special.FresnelSin"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNorm.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNorm.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNorm.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNorm.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNormGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGrad.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNormGrad.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGrad.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNormGradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGradV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNormGradV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGradV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGradV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGradV3.pbtxt
new file mode 100644
index 00000000000..bf2ae00fd7f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormGradV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FusedBatchNormGradV3"
+  endpoint {
+    name: "nn.FusedBatchNormGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNormV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_FusedBatchNormV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormV3.pbtxt
new file mode 100644
index 00000000000..e3cc882ca7d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedBatchNormV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FusedBatchNormV3"
+  endpoint {
+    name: "nn.FusedBatchNorm"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedPadConv2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedPadConv2D.pbtxt
new file mode 100644
index 00000000000..7e0d6eb913d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedPadConv2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FusedPadConv2D"
+  endpoint {
+    name: "nn.FusedPadConv2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedResizeAndPadConv2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedResizeAndPadConv2D.pbtxt
new file mode 100644
index 00000000000..fc92f057104
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_FusedResizeAndPadConv2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "FusedResizeAndPadConv2D"
+  endpoint {
+    name: "nn.FusedResizeAndPadConv2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GRUBlockCell.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GRUBlockCell.pbtxt
new file mode 100644
index 00000000000..0b5ab9c8b0b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GRUBlockCell.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GRUBlockCell"
+  endpoint {
+    name: "nn.GRUBlockCell"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GRUBlockCellGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GRUBlockCellGrad.pbtxt
new file mode 100644
index 00000000000..642a35b7945
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GRUBlockCellGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GRUBlockCellGrad"
+  endpoint {
+    name: "nn.GRUBlockCellGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Gather.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Gather.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Gather.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Gather.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GatherNd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GatherNd.pbtxt
new file mode 100644
index 00000000000..80ed9a514c5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GatherNd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GatherNd"
+  endpoint {
+    name: "GatherNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GatherV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GatherV2.pbtxt
new file mode 100644
index 00000000000..d27fd30efa0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GatherV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GatherV2"
+  endpoint {
+    name: "Gather"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GcsConfigureBlockCache.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GcsConfigureBlockCache.pbtxt
new file mode 100644
index 00000000000..0878563c93b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GcsConfigureBlockCache.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GcsConfigureBlockCache"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GcsConfigureCredentials.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GcsConfigureCredentials.pbtxt
new file mode 100644
index 00000000000..1653b16c4ee
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GcsConfigureCredentials.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GcsConfigureCredentials"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateBigQueryReaderPartitions.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateBigQueryReaderPartitions.pbtxt
new file mode 100644
index 00000000000..3b037ef31c6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateBigQueryReaderPartitions.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GenerateBigQueryReaderPartitions"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateBoundingBoxProposals.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateBoundingBoxProposals.pbtxt
new file mode 100644
index 00000000000..069e9b74fff
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateBoundingBoxProposals.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GenerateBoundingBoxProposals"
+  endpoint {
+    name: "image.GenerateBoundingBoxProposals"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateVocabRemapping.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateVocabRemapping.pbtxt
new file mode 100644
index 00000000000..02c132223ec
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GenerateVocabRemapping.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GenerateVocabRemapping"
+  endpoint {
+    name: "train.GenerateVocabRemapping"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GeneratorDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GeneratorDataset.pbtxt
new file mode 100644
index 00000000000..9ff9c28330a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GeneratorDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GeneratorDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.GeneratorDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetElementAtIndex.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetElementAtIndex.pbtxt
new file mode 100644
index 00000000000..9fac3335954
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetElementAtIndex.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GetElementAtIndex"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetMinibatchSplitsWithPhysicalReplica.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetMinibatchSplitsWithPhysicalReplica.pbtxt
new file mode 100644
index 00000000000..a9a8710fdb5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetMinibatchSplitsWithPhysicalReplica.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GetMinibatchSplitsWithPhysicalReplica"
+  visibility: VISIBLE
+  endpoint {
+    name: "tpu.GetMinibatchSplitsWithPhysicalReplica"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetMinibatchesInCsrWithPhysicalReplica.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetMinibatchesInCsrWithPhysicalReplica.pbtxt
new file mode 100644
index 00000000000..9ee5d7e2e5b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetMinibatchesInCsrWithPhysicalReplica.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GetMinibatchesInCsrWithPhysicalReplica"
+  visibility: VISIBLE
+  endpoint {
+    name: "tpu.GetMinibatchesInCsrWithPhysicalReplica"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetOptions.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetOptions.pbtxt
new file mode 100644
index 00000000000..eeb6d4c91d8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetOptions.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GetOptions"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_GetSessionHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionHandle.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_GetSessionHandle.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionHandle.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionHandleV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionHandleV2.pbtxt
new file mode 100644
index 00000000000..3484fbcd5d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionHandleV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GetSessionHandleV2"
+  endpoint {
+    name: "GetSessionHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionTensor.pbtxt
new file mode 100644
index 00000000000..496b31c6ef0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetSessionTensor.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GetSessionTensor"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetStatsFromListOfSparseCoreCooTensors.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetStatsFromListOfSparseCoreCooTensors.pbtxt
new file mode 100644
index 00000000000..11a2b9eccba
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetStatsFromListOfSparseCoreCooTensors.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GetStatsFromListOfSparseCoreCooTensors"
+  visibility: VISIBLE
+  endpoint {
+    name: "sparse.GetStatsFromListOfSparseCoreCooTensors"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GetTpuTaskId.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetTpuTaskId.pbtxt
new file mode 100644
index 00000000000..1072689506c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GetTpuTaskId.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GetTpuTaskId"
+  visibility: VISIBLE
+  endpoint {
+    name: "tpu.GetTpuTaskId"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GlobalIterId.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GlobalIterId.pbtxt
new file mode 100644
index 00000000000..8a795a8ef23
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GlobalIterId.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GlobalIterId"
+  visibility: VISIBLE
+  endpoint {
+    name: "tpu.GlobalIterId"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GlobalShuffleDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GlobalShuffleDataset.pbtxt
new file mode 100644
index 00000000000..ed286d3ae31
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GlobalShuffleDataset.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "GlobalShuffleDataset"
+  endpoint {
+    name: "data.GlobalShuffleDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Greater.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Greater.pbtxt
new file mode 100644
index 00000000000..a84b4c9bc6b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Greater.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Greater"
+  endpoint {
+    name: "math.Greater"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GreaterEqual.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GreaterEqual.pbtxt
new file mode 100644
index 00000000000..57f8c014728
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GreaterEqual.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GreaterEqual"
+  endpoint {
+    name: "math.GreaterEqual"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GroupByReducerDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GroupByReducerDataset.pbtxt
new file mode 100644
index 00000000000..57b781c5a0a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GroupByReducerDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GroupByReducerDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.GroupByReducerDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GroupByWindowDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GroupByWindowDataset.pbtxt
new file mode 100644
index 00000000000..529ca47d86e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GroupByWindowDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "GroupByWindowDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.GroupByWindowDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_GuaranteeConst.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_GuaranteeConst.pbtxt
new file mode 100644
index 00000000000..56a115a0603
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_GuaranteeConst.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "GuaranteeConst"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_HSVToRGB.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_HSVToRGB.pbtxt
new file mode 100644
index 00000000000..5689d054353
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_HSVToRGB.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "HSVToRGB"
+  endpoint {
+    name: "image.HsvToRgb"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_HashTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_HashTable.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_HashTable.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_HashTable.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_HashTableV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_HashTableV2.pbtxt
new file mode 100644
index 00000000000..4cde617757a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_HashTableV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "HashTableV2"
+  endpoint {
+    name: "HashTable"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_HistogramFixedWidth.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_HistogramFixedWidth.pbtxt
new file mode 100644
index 00000000000..f3d2065032f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_HistogramFixedWidth.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "HistogramFixedWidth"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_HistogramSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_HistogramSummary.pbtxt
new file mode 100644
index 00000000000..6c2c3b8254a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_HistogramSummary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "HistogramSummary"
+  endpoint {
+    name: "summary.HistogramSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_HostConst.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_HostConst.pbtxt
new file mode 100644
index 00000000000..f2a7160eccd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_HostConst.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "HostConst"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT.pbtxt
new file mode 100644
index 00000000000..a84e2d6dd57
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IFFT"
+  endpoint {
+    name: "signal.Ifft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT2D.pbtxt
new file mode 100644
index 00000000000..3380f459463
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IFFT2D"
+  endpoint {
+    name: "signal.Ifft2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT3D.pbtxt
new file mode 100644
index 00000000000..02db3a66379
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFT3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IFFT3D"
+  endpoint {
+    name: "signal.Ifft3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFTND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFTND.pbtxt
new file mode 100644
index 00000000000..214a8bfc0b8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IFFTND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IFFTND"
+  endpoint {
+    name: "signal.IfftNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT.pbtxt
new file mode 100644
index 00000000000..ebd31423283
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IRFFT"
+  endpoint {
+    name: "signal.Irfft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT2D.pbtxt
new file mode 100644
index 00000000000..e73397a832f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IRFFT2D"
+  endpoint {
+    name: "signal.Irfft2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT3D.pbtxt
new file mode 100644
index 00000000000..e6a064cfa6c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFT3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IRFFT3D"
+  endpoint {
+    name: "signal.Irfft3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFTND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFTND.pbtxt
new file mode 100644
index 00000000000..848e444c33e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IRFFTND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IRFFTND"
+  endpoint {
+    name: "signal.IrfftNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Identity.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Identity.pbtxt
new file mode 100644
index 00000000000..f90a3e1b0f9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Identity.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Identity"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityN.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityN.pbtxt
new file mode 100644
index 00000000000..a39e00d4106
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityN.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IdentityN"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_IdentityReader.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityReader.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_IdentityReader.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityReader.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityReaderV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityReaderV2.pbtxt
new file mode 100644
index 00000000000..92bc4a10279
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IdentityReaderV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IdentityReaderV2"
+  endpoint {
+    name: "io.IdentityReader"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_If.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_If.pbtxt
new file mode 100644
index 00000000000..292c093587e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_If.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "If"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Igamma.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Igamma.pbtxt
new file mode 100644
index 00000000000..e0134f5acc4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Igamma.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Igamma"
+  endpoint {
+    name: "math.Igamma"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IgammaGradA.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IgammaGradA.pbtxt
new file mode 100644
index 00000000000..46eaba97345
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IgammaGradA.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IgammaGradA"
+  endpoint {
+    name: "math.IgammaGradA"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Igammac.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Igammac.pbtxt
new file mode 100644
index 00000000000..3114d90fd61
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Igammac.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Igammac"
+  endpoint {
+    name: "math.Igammac"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IgnoreErrorsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IgnoreErrorsDataset.pbtxt
new file mode 100644
index 00000000000..a8812f70e1a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IgnoreErrorsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "IgnoreErrorsDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.IgnoreErrorsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Imag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Imag.pbtxt
new file mode 100644
index 00000000000..66427ed58bd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Imag.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Imag"
+  endpoint {
+    name: "math.Imag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageProjectiveTransformV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageProjectiveTransformV2.pbtxt
new file mode 100644
index 00000000000..ae6bb8507be
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageProjectiveTransformV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ImageProjectiveTransformV2"
+  endpoint {
+    name: "image.ImageProjectiveTransformV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageProjectiveTransformV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageProjectiveTransformV3.pbtxt
new file mode 100644
index 00000000000..2f477c6d695
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageProjectiveTransformV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ImageProjectiveTransformV3"
+  endpoint {
+    name: "image.ImageProjectiveTransformV3"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageSummary.pbtxt
new file mode 100644
index 00000000000..5c3bd5f5047
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImageSummary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ImageSummary"
+  endpoint {
+    name: "summary.ImageSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ImmutableConst.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImmutableConst.pbtxt
new file mode 100644
index 00000000000..6f7a34c5a69
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImmutableConst.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ImmutableConst"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ImportEvent.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImportEvent.pbtxt
new file mode 100644
index 00000000000..630a8894724
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ImportEvent.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ImportEvent"
+  endpoint {
+    name: "summary.ImportEvent"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_InTopK.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InTopK.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_InTopK.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_InTopK.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InTopKV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InTopKV2.pbtxt
new file mode 100644
index 00000000000..0fc46096895
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InTopKV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InTopKV2"
+  endpoint {
+    name: "nn.InTopK"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IndexFlatMapDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IndexFlatMapDataset.pbtxt
new file mode 100644
index 00000000000..682904a7504
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IndexFlatMapDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "IndexFlatMapDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.IndexFlatMapDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedDequeue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedDequeue.pbtxt
new file mode 100644
index 00000000000..0d57c36ce27
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedDequeue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InfeedDequeue"
+  endpoint {
+    name: "tpu.InfeedDequeue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedDequeueTuple.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedDequeueTuple.pbtxt
new file mode 100644
index 00000000000..3655572e592
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedDequeueTuple.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InfeedDequeueTuple"
+  endpoint {
+    name: "tpu.InfeedDequeueTuple"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueue.pbtxt
new file mode 100644
index 00000000000..889c70cbfb1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InfeedEnqueue"
+  endpoint {
+    name: "tpu.InfeedEnqueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueuePrelinearizedBuffer.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueuePrelinearizedBuffer.pbtxt
new file mode 100644
index 00000000000..e37e5ed26cf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueuePrelinearizedBuffer.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InfeedEnqueuePrelinearizedBuffer"
+  endpoint {
+    name: "tpu.InfeedEnqueuePrelinearizedBuffer"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueueTuple.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueueTuple.pbtxt
new file mode 100644
index 00000000000..99c1cc4f0a1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InfeedEnqueueTuple.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InfeedEnqueueTuple"
+  endpoint {
+    name: "tpu.InfeedEnqueueTuple"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_InitializeTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTable.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_InitializeTable.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTable.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromDataset.pbtxt
new file mode 100644
index 00000000000..bfd98dd2d1c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "InitializeTableFromDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.InitializeTableFromDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_InitializeTableFromTextFile.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromTextFile.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_InitializeTableFromTextFile.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromTextFile.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromTextFileV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromTextFileV2.pbtxt
new file mode 100644
index 00000000000..34712e89316
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableFromTextFileV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InitializeTableFromTextFileV2"
+  endpoint {
+    name: "InitializeTableFromTextFile"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableV2.pbtxt
new file mode 100644
index 00000000000..efb93c75341
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InitializeTableV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InitializeTableV2"
+  endpoint {
+    name: "InitializeTable"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceAdd.pbtxt
new file mode 100644
index 00000000000..c5b62051abe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InplaceAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceSub.pbtxt
new file mode 100644
index 00000000000..2b6359ab957
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceSub.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InplaceSub"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceUpdate.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceUpdate.pbtxt
new file mode 100644
index 00000000000..8d3a0f9d699
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InplaceUpdate.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InplaceUpdate"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InterleaveDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InterleaveDataset.pbtxt
new file mode 100644
index 00000000000..dcc02c855ed
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InterleaveDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "InterleaveDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.InterleaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Inv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Inv.pbtxt
new file mode 100644
index 00000000000..543e2c9bbe8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Inv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Inv"
+  endpoint {
+    name: "linalg.Inv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InvGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InvGrad.pbtxt
new file mode 100644
index 00000000000..560855ffcf2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InvGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InvGrad"
+  endpoint {
+    name: "nn.InvGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Invert.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Invert.pbtxt
new file mode 100644
index 00000000000..6119fb19629
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Invert.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Invert"
+  endpoint {
+    name: "bitwise.Invert"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_InvertPermutation.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_InvertPermutation.pbtxt
new file mode 100644
index 00000000000..3fa442de299
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_InvertPermutation.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "InvertPermutation"
+  endpoint {
+    name: "math.InvertPermutation"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsBoostedTreesEnsembleInitialized.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsBoostedTreesEnsembleInitialized.pbtxt
new file mode 100644
index 00000000000..9efd7cd8357
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsBoostedTreesEnsembleInitialized.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "IsBoostedTreesEnsembleInitialized"
+  endpoint {
+    name: "estimator.IsBoostedTreesEnsembleInitialized"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsBoostedTreesQuantileStreamResourceInitialized.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsBoostedTreesQuantileStreamResourceInitialized.pbtxt
new file mode 100644
index 00000000000..630406cc2f0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsBoostedTreesQuantileStreamResourceInitialized.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "IsBoostedTreesQuantileStreamResourceInitialized"
+  endpoint {
+    name: "estimator.IsBoostedTreesQuantileStreamResourceInitialized"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsFinite.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsFinite.pbtxt
new file mode 100644
index 00000000000..1c33eae3169
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsFinite.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IsFinite"
+  endpoint {
+    name: "math.IsFinite"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsInf.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsInf.pbtxt
new file mode 100644
index 00000000000..dbe157edb81
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsInf.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IsInf"
+  endpoint {
+    name: "math.IsInf"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsNan.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsNan.pbtxt
new file mode 100644
index 00000000000..a5575098082
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsNan.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IsNan"
+  endpoint {
+    name: "math.IsNan"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsTPUEmbeddingInitialized.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsTPUEmbeddingInitialized.pbtxt
new file mode 100644
index 00000000000..8f99e9b3e71
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsTPUEmbeddingInitialized.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IsTPUEmbeddingInitialized"
+  endpoint {
+    name: "tpu.IsTPUEmbeddingInitialized"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsVariableInitialized.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsVariableInitialized.pbtxt
new file mode 100644
index 00000000000..b5f0f182125
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsVariableInitialized.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IsVariableInitialized"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IsotonicRegression.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsotonicRegression.pbtxt
new file mode 100644
index 00000000000..e0d1edb67aa
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IsotonicRegression.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IsotonicRegression"
+  endpoint {
+    name: "nn.IsotonicRegression"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Iterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Iterator.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Iterator.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Iterator.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_IteratorFromStringHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorFromStringHandle.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_IteratorFromStringHandle.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorFromStringHandle.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorFromStringHandleV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorFromStringHandleV2.pbtxt
new file mode 100644
index 00000000000..214318f4aea
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorFromStringHandleV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IteratorFromStringHandleV2"
+  endpoint {
+    name: "data.IteratorFromStringHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetDevice.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetDevice.pbtxt
new file mode 100644
index 00000000000..9da26e5af9f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetDevice.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IteratorGetDevice"
+  endpoint {
+    name: "data.IteratorGetDevice"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetModelProto.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetModelProto.pbtxt
new file mode 100644
index 00000000000..588803255e0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetModelProto.pbtxt
@@ -0,0 +1,6 @@
+op {
+  graph_op_name: "IteratorGetModelProto"
+  endpoint {
+    name: "data.IteratorGetModelProto"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNext.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNext.pbtxt
new file mode 100644
index 00000000000..b0c4c39a0f9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNext.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "IteratorGetNext"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.IteratorGetNext"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNextAsOptional.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNextAsOptional.pbtxt
new file mode 100644
index 00000000000..95ea8dc4224
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNextAsOptional.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IteratorGetNextAsOptional"
+  endpoint {
+    name: "data.IteratorGetNextAsOptional"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNextSync.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNextSync.pbtxt
new file mode 100644
index 00000000000..5f74f24e12f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorGetNextSync.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IteratorGetNextSync"
+  endpoint {
+    name: "data.IteratorGetNextSync"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorToStringHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorToStringHandle.pbtxt
new file mode 100644
index 00000000000..0a7723ac676
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorToStringHandle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "IteratorToStringHandle"
+  endpoint {
+    name: "data.IteratorToStringHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorV2.pbtxt
new file mode 100644
index 00000000000..841bbba687f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_IteratorV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "IteratorV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.Iterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_KMC2ChainInitialization.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_KMC2ChainInitialization.pbtxt
new file mode 100644
index 00000000000..5c2ed95566d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_KMC2ChainInitialization.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "KMC2ChainInitialization"
+  endpoint {
+    name: "cluster.KMC2ChainInitialization"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_KafkaDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_KafkaDataset.pbtxt
similarity index 79%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_KafkaDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_KafkaDataset.pbtxt
index 5f0da216cbb..6055a53c894 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_KafkaDataset.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_KafkaDataset.pbtxt
@@ -1,5 +1,6 @@
 op {
   graph_op_name: "KafkaDataset"
+  visibility: VISIBLE
   endpoint {
     name: "data.KafkaDataset"
   }
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_KmeansPlusPlusInitialization.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_KmeansPlusPlusInitialization.pbtxt
new file mode 100644
index 00000000000..b4cb77a981b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_KmeansPlusPlusInitialization.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "KmeansPlusPlusInitialization"
+  endpoint {
+    name: "cluster.KmeansPlusPlusInitialization"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_KthOrderStatistic.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_KthOrderStatistic.pbtxt
new file mode 100644
index 00000000000..98c602c5ebe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_KthOrderStatistic.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "KthOrderStatistic"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_L2Loss.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_L2Loss.pbtxt
new file mode 100644
index 00000000000..e00de2d3643
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_L2Loss.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "L2Loss"
+  endpoint {
+    name: "nn.L2Loss"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LMDBDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LMDBDataset.pbtxt
new file mode 100644
index 00000000000..68de33fde0b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LMDBDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "LMDBDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.LMDBDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LMDBReader.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LMDBReader.pbtxt
new file mode 100644
index 00000000000..cff04abb5f5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LMDBReader.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LMDBReader"
+  endpoint {
+    name: "io.LmdbReader"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LRN.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LRN.pbtxt
new file mode 100644
index 00000000000..5990d283ee7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LRN.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LRN"
+  endpoint {
+    name: "nn.LocalResponseNormalization"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LRNGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LRNGrad.pbtxt
new file mode 100644
index 00000000000..f6c64ca6d04
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LRNGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LRNGrad"
+  endpoint {
+    name: "nn.LocalResponseNormalizationGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LSTMBlockCell.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LSTMBlockCell.pbtxt
new file mode 100644
index 00000000000..dd8baae2a1e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LSTMBlockCell.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LSTMBlockCell"
+  endpoint {
+    name: "nn.LSTMBlockCell"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LSTMBlockCellGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LSTMBlockCellGrad.pbtxt
new file mode 100644
index 00000000000..518a29ef8b1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LSTMBlockCellGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LSTMBlockCellGrad"
+  endpoint {
+    name: "nn.LSTMBlockCellGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LatencyStatsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LatencyStatsDataset.pbtxt
new file mode 100644
index 00000000000..8447fb7e287
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LatencyStatsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "LatencyStatsDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.LatencyStatsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LeakyRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LeakyRelu.pbtxt
new file mode 100644
index 00000000000..3573bff4fa8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LeakyRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "LeakyRelu"
+  visibility: VISIBLE
+  endpoint {
+    name: "nn.LeakyRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LeakyReluGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LeakyReluGrad.pbtxt
new file mode 100644
index 00000000000..0b6ab5953da
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LeakyReluGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LeakyReluGrad"
+  endpoint {
+    name: "data.LeakyReluGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LearnedUnigramCandidateSampler.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LearnedUnigramCandidateSampler.pbtxt
new file mode 100644
index 00000000000..bc4ab82cdc2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LearnedUnigramCandidateSampler.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LearnedUnigramCandidateSampler"
+  endpoint {
+    name: "nn.LearnedUnigramCandidateSampler"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LeftShift.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LeftShift.pbtxt
new file mode 100644
index 00000000000..e00c50f0d68
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LeftShift.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LeftShift"
+  endpoint {
+    name: "bitwise.LeftShift"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LegacyParallelInterleaveDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LegacyParallelInterleaveDatasetV2.pbtxt
new file mode 100644
index 00000000000..4046256a580
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LegacyParallelInterleaveDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "LegacyParallelInterleaveDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.LegacyParallelInterleaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Less.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Less.pbtxt
new file mode 100644
index 00000000000..0fa328a0f94
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Less.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Less"
+  endpoint {
+    name: "math.Less"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LessEqual.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LessEqual.pbtxt
new file mode 100644
index 00000000000..7faf528185e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LessEqual.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LessEqual"
+  endpoint {
+    name: "math.LessEqual"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Lgamma.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Lgamma.pbtxt
new file mode 100644
index 00000000000..b6e817d9d69
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Lgamma.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Lgamma"
+  endpoint {
+    name: "math.Lgamma"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LinSpace.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LinSpace.pbtxt
new file mode 100644
index 00000000000..09eb5212385
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LinSpace.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LinSpace"
+  endpoint {
+    name: "LinSpace"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ListDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ListDataset.pbtxt
new file mode 100644
index 00000000000..434f9b2c332
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ListDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ListDataset"
+  endpoint {
+    name: "data.ListDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ListDiff.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ListDiff.pbtxt
new file mode 100644
index 00000000000..4cac575906b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ListDiff.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ListDiff"
+  endpoint {
+    name: "SetDiff1d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ListSnapshotChunksDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ListSnapshotChunksDataset.pbtxt
new file mode 100644
index 00000000000..e48c7bf0a11
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ListSnapshotChunksDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ListSnapshotChunksDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ListSnapshotChunksDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadAllTPUEmbeddingParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadAllTPUEmbeddingParameters.pbtxt
new file mode 100644
index 00000000000..1c5cf1f526e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadAllTPUEmbeddingParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadAllTPUEmbeddingParameters"
+  endpoint {
+    name: "tpu.LoadAllTPUEmbeddingParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadAndRemapMatrix.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadAndRemapMatrix.pbtxt
new file mode 100644
index 00000000000..3c8984a6cb6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadAndRemapMatrix.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadAndRemapMatrix"
+  endpoint {
+    name: "linalg.LoadAndRemapMatrix"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadDataset.pbtxt
new file mode 100644
index 00000000000..7bbd800c889
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "LoadDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.LoadDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingADAMParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingADAMParameters.pbtxt
new file mode 100644
index 00000000000..a591533cf42
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingADAMParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingADAMParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingADAMParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingADAMParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
index 6702f33be77..cd5c2cf8a4d 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingADAMParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingADAMParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdadeltaParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdadeltaParameters.pbtxt
new file mode 100644
index 00000000000..4b4466b3ebe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdadeltaParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingAdadeltaParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingAdadeltaParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
index 3b4a4a8de5a..3e6fbd0cda8 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingAdadeltaParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingAdadeltaParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradMomentumParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradMomentumParameters.pbtxt
new file mode 100644
index 00000000000..4ab6b43fb23
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradMomentumParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingAdagradMomentumParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingAdagradMomentumParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradParameters.pbtxt
new file mode 100644
index 00000000000..53dc92a921c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingAdagradParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingAdagradParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
index bd6f676de12..fa8a345407c 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingAdagradParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingAdagradParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingCenteredRMSPropParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingCenteredRMSPropParameters.pbtxt
new file mode 100644
index 00000000000..f1781c96808
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingCenteredRMSPropParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingCenteredRMSPropParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingCenteredRMSPropParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFTRLParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFTRLParameters.pbtxt
new file mode 100644
index 00000000000..6b3377f0d72
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFTRLParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingFTRLParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingFTRLParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
index 363d4f38bfa..f17d8fcc776 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingFTRLParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingFTRLParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFrequencyEstimatorParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFrequencyEstimatorParameters.pbtxt
new file mode 100644
index 00000000000..33baa18848c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFrequencyEstimatorParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingFrequencyEstimatorParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingFrequencyEstimatorParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.pbtxt
new file mode 100644
index 00000000000..fba39f852dc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMDLAdagradLightParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMDLAdagradLightParameters.pbtxt
new file mode 100644
index 00000000000..d03ed8796c1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMDLAdagradLightParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingMDLAdagradLightParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingMDLAdagradLightParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMomentumParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMomentumParameters.pbtxt
new file mode 100644
index 00000000000..2ea9c9cfc8c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMomentumParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingMomentumParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingMomentumParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
index 99bdda45764..fccbff595f9 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingMomentumParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingMomentumParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalAdagradParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalAdagradParameters.pbtxt
new file mode 100644
index 00000000000..1b6f3afd838
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalAdagradParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingProximalAdagradParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingProximalAdagradParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
similarity index 88%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
index 870549ab640..65fe6e27afe 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingProximalAdagradParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalYogiParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalYogiParameters.pbtxt
new file mode 100644
index 00000000000..f416308b609
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalYogiParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingProximalYogiParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingProximalYogiParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalYogiParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalYogiParametersGradAccumDebug.pbtxt
new file mode 100644
index 00000000000..2656c561bbb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingProximalYogiParametersGradAccumDebug.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingProximalYogiParametersGradAccumDebug"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingProximalYogiParametersGradAccumDebug"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingRMSPropParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingRMSPropParameters.pbtxt
new file mode 100644
index 00000000000..bee7db0753b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingRMSPropParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingRMSPropParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingRMSPropParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
index 1dbe67ff290..3becf4df5d3 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LoadTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "LoadTPUEmbeddingRMSPropParametersGradAccumDebug"
   endpoint {
     name: "tpu.LoadTPUEmbeddingRMSPropParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingStochasticGradientDescentParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingStochasticGradientDescentParameters.pbtxt
new file mode 100644
index 00000000000..57102d66657
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingStochasticGradientDescentParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingStochasticGradientDescentParameters"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingStochasticGradientDescentParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug.pbtxt
new file mode 100644
index 00000000000..e6dae92e1f2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug"
+  endpoint {
+    name: "tpu.LoadTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Log.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Log.pbtxt
new file mode 100644
index 00000000000..79d5b27a477
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Log.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Log"
+  endpoint {
+    name: "math.Log"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Log1p.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Log1p.pbtxt
new file mode 100644
index 00000000000..f91d9ec6a09
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Log1p.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Log1p"
+  endpoint {
+    name: "math.Log1p"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LogMatrixDeterminant.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogMatrixDeterminant.pbtxt
new file mode 100644
index 00000000000..3828143fa9b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogMatrixDeterminant.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LogMatrixDeterminant"
+  endpoint {
+    name: "linalg.LogMatrixDeterminant"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LogSoftmax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogSoftmax.pbtxt
new file mode 100644
index 00000000000..94186851ee9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogSoftmax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LogSoftmax"
+  endpoint {
+    name: "nn.LogSoftmax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LogUniformCandidateSampler.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogUniformCandidateSampler.pbtxt
new file mode 100644
index 00000000000..c1f7c67d6e5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogUniformCandidateSampler.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LogUniformCandidateSampler"
+  endpoint {
+    name: "random.LogUniformCandidateSampler"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalAnd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalAnd.pbtxt
new file mode 100644
index 00000000000..ebd2c0f5d60
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalAnd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LogicalAnd"
+  endpoint {
+    name: "math.LogicalAnd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalNot.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalNot.pbtxt
new file mode 100644
index 00000000000..3665727828c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalNot.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LogicalNot"
+  endpoint {
+    name: "math.LogicalNot"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalOr.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalOr.pbtxt
new file mode 100644
index 00000000000..e4a567d034e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LogicalOr.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LogicalOr"
+  endpoint {
+    name: "math.LogicalOr"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableExport.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableExport.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableExport.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableExport.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableExportV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableExportV2.pbtxt
new file mode 100644
index 00000000000..0e0c4a4fac3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableExportV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LookupTableExportV2"
+  endpoint {
+    name: "LookupTableExport"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableFind.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableFind.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableFind.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableFind.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableFindV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableFindV2.pbtxt
new file mode 100644
index 00000000000..936dd7afecf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableFindV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LookupTableFindV2"
+  endpoint {
+    name: "LookupTableFind"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableImport.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableImport.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableImport.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableImport.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableImportV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableImportV2.pbtxt
new file mode 100644
index 00000000000..9e7925797da
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableImportV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LookupTableImportV2"
+  endpoint {
+    name: "LookupTableImport"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableInsert.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableInsert.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableInsert.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableInsert.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableInsertV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableInsertV2.pbtxt
new file mode 100644
index 00000000000..d5db4b3b535
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableInsertV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LookupTableInsertV2"
+  endpoint {
+    name: "LookupTableInsert"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableRemoveV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableRemoveV2.pbtxt
new file mode 100644
index 00000000000..911df9ae719
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableRemoveV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LookupTableRemoveV2"
+  endpoint {
+    name: "LookupTableRemove"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableSize.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_LookupTableSize.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableSize.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableSizeV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableSizeV2.pbtxt
new file mode 100644
index 00000000000..fafc1f8c910
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LookupTableSizeV2.pbtxt
@@ -0,0 +1,11 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LookupTableSizeV2"
+  endpoint {
+    name: "LookupTableSize"
+  }
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LoopCond.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoopCond.pbtxt
new file mode 100644
index 00000000000..88907751f5e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LoopCond.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LoopCond"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_LowerBound.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_LowerBound.pbtxt
new file mode 100644
index 00000000000..3e92dbec886
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_LowerBound.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "LowerBound"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Lu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Lu.pbtxt
new file mode 100644
index 00000000000..269a5fbb7d5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Lu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Lu"
+  endpoint {
+    name: "linalg.Lu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MakeIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MakeIterator.pbtxt
new file mode 100644
index 00000000000..cdcae8e5f69
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MakeIterator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "MakeIterator"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.MakeIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MakeUnique.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MakeUnique.pbtxt
new file mode 100644
index 00000000000..3c61d469fd4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MakeUnique.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MakeUnique"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapAndBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapAndBatchDataset.pbtxt
new file mode 100644
index 00000000000..bbf61d0f31e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapAndBatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "MapAndBatchDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.MapAndBatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapClear.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapClear.pbtxt
new file mode 100644
index 00000000000..b5bba0a4941
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapClear.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapClear"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapDataset.pbtxt
new file mode 100644
index 00000000000..11cba7c2c0e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "MapDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.MapDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapDefun.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapDefun.pbtxt
new file mode 100644
index 00000000000..0e069d080fe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapDefun.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapDefun"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapIncompleteSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapIncompleteSize.pbtxt
new file mode 100644
index 00000000000..cd28e3f8a28
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapIncompleteSize.pbtxt
@@ -0,0 +1,8 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapIncompleteSize"
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapPeek.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapPeek.pbtxt
new file mode 100644
index 00000000000..3541cc96d63
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapPeek.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapPeek"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapSize.pbtxt
new file mode 100644
index 00000000000..30bad2d2ccb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapSize.pbtxt
@@ -0,0 +1,8 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapSize"
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapStage.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapStage.pbtxt
new file mode 100644
index 00000000000..fab2cf93595
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapStage.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapStage"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapUnstage.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapUnstage.pbtxt
new file mode 100644
index 00000000000..82be22f5dc8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapUnstage.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapUnstage"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MapUnstageNoKey.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapUnstageNoKey.pbtxt
new file mode 100644
index 00000000000..dac737d2486
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MapUnstageNoKey.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MapUnstageNoKey"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatMul.pbtxt
new file mode 100644
index 00000000000..bc7b2833b00
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatMul.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatMul"
+  endpoint {
+    name: "linalg.MatMul"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatchingFiles.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatchingFiles.pbtxt
new file mode 100644
index 00000000000..fea6f70d5cf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatchingFiles.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatchingFiles"
+  endpoint {
+    name: "io.MatchingFiles"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatchingFilesDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatchingFilesDataset.pbtxt
new file mode 100644
index 00000000000..2bee85539f8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatchingFilesDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "MatchingFilesDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.MatchingFilesDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixBandPart.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixBandPart.pbtxt
new file mode 100644
index 00000000000..24f955501f7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixBandPart.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixBandPart"
+  endpoint {
+    name: "linalg.BandPart"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDeterminant.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDeterminant.pbtxt
new file mode 100644
index 00000000000..933a41dddc0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDeterminant.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixDeterminant"
+  endpoint {
+    name: "linalg.Det"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixDiag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiag.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixDiag.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiag.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixDiagPart.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPart.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixDiagPart.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPart.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPartV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPartV2.pbtxt
new file mode 100644
index 00000000000..c40b2c16745
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPartV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixDiagPartV2"
+  endpoint {
+    name: "linalg.MatrixDiagPart"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPartV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPartV3.pbtxt
new file mode 100644
index 00000000000..05fadef2d8a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagPartV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixDiagPartV3"
+  endpoint {
+    name: "linalg.MatrixDiagPartV3"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagV2.pbtxt
new file mode 100644
index 00000000000..b25ce946738
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixDiagV2"
+  endpoint {
+    name: "linalg.MatrixDiag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagV3.pbtxt
new file mode 100644
index 00000000000..fdb19d77f1b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixDiagV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixDiagV3"
+  endpoint {
+    name: "linalg.MatrixDiagV3"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixExponential.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixExponential.pbtxt
new file mode 100644
index 00000000000..9db500e926a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixExponential.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixExponential"
+  endpoint {
+    name: "linalg.MatrixExponential"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixInverse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixInverse.pbtxt
new file mode 100644
index 00000000000..1792f6deef7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixInverse.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixInverse"
+  endpoint {
+    name: "linalg.Inv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixLogarithm.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixLogarithm.pbtxt
new file mode 100644
index 00000000000..9fcb9badeb5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixLogarithm.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixLogarithm"
+  endpoint {
+    name: "linalg.MatrixLogarithm"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixSetDiag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiag.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixSetDiag.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiag.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixSetDiagV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiagV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MatrixSetDiagV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiagV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiagV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiagV3.pbtxt
new file mode 100644
index 00000000000..28a0fb5b934
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSetDiagV3.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixSetDiagV3"
+  endpoint {
+    name: "linalg.MatrixSetDiag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSolve.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSolve.pbtxt
new file mode 100644
index 00000000000..cf4bc9b04a6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSolve.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixSolve"
+  endpoint {
+    name: "linalg.Solve"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSolveLs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSolveLs.pbtxt
new file mode 100644
index 00000000000..c7fc10c5447
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSolveLs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixSolveLs"
+  endpoint {
+    name: "linalg.MatrixSolveLs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSquareRoot.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSquareRoot.pbtxt
new file mode 100644
index 00000000000..42d3518b6e5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixSquareRoot.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixSquareRoot"
+  endpoint {
+    name: "linalg.Sqrtm"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixTriangularSolve.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixTriangularSolve.pbtxt
new file mode 100644
index 00000000000..0e20889c3ae
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MatrixTriangularSolve.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MatrixTriangularSolve"
+  endpoint {
+    name: "linalg.TriangularSolve"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Max.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Max.pbtxt
new file mode 100644
index 00000000000..112ab3af60a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Max.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Max"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxIntraOpParallelismDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxIntraOpParallelismDataset.pbtxt
new file mode 100644
index 00000000000..20a2e55ba80
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxIntraOpParallelismDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "MaxIntraOpParallelismDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.MaxIntraOpParallelismDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MaxPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MaxPool.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3D.pbtxt
new file mode 100644
index 00000000000..77232e6020a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPool3D"
+  endpoint {
+    name: "nn.MaxPool3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3DGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3DGrad.pbtxt
new file mode 100644
index 00000000000..bbdc2058f46
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3DGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPool3DGrad"
+  endpoint {
+    name: "nn.MaxPool3dGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3DGradGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3DGradGrad.pbtxt
new file mode 100644
index 00000000000..cd2d4d76817
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPool3DGradGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPool3DGradGrad"
+  endpoint {
+    name: "nn.MaxPool3dGradGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MaxPoolGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGrad.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MaxPoolGrad.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGrad.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MaxPoolGradGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGrad.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MaxPoolGradGrad.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGrad.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGradV2.pbtxt
new file mode 100644
index 00000000000..68a36bb8b63
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGradV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPoolGradGradV2"
+  endpoint {
+    name: "nn.MaxPoolGradGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGradWithArgmax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGradWithArgmax.pbtxt
new file mode 100644
index 00000000000..84f92c16fd9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradGradWithArgmax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPoolGradGradWithArgmax"
+  endpoint {
+    name: "nn.MaxPoolGradGradWithArgmax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradV2.pbtxt
new file mode 100644
index 00000000000..78c26e0d20a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPoolGradV2"
+  endpoint {
+    name: "nn.MaxPoolGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradWithArgmax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradWithArgmax.pbtxt
new file mode 100644
index 00000000000..82d58e00566
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolGradWithArgmax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPoolGradWithArgmax"
+  endpoint {
+    name: "nn.MaxPoolGradWithArgmax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolV2.pbtxt
new file mode 100644
index 00000000000..a8ebcfea908
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPoolV2"
+  endpoint {
+    name: "nn.MaxPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolWithArgmax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolWithArgmax.pbtxt
new file mode 100644
index 00000000000..c0e9bb2aa29
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MaxPoolWithArgmax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MaxPoolWithArgmax"
+  endpoint {
+    name: "nn.MaxPoolWithArgmax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Maximum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Maximum.pbtxt
new file mode 100644
index 00000000000..0a510be5947
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Maximum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Maximum"
+  endpoint {
+    name: "math.Maximum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Mean.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mean.pbtxt
new file mode 100644
index 00000000000..707b1eddb86
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mean.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Mean"
+  endpoint {
+    name: "math.Mean"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Merge.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Merge.pbtxt
new file mode 100644
index 00000000000..e04a5e7670d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Merge.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Merge"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeDedupData.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeDedupData.pbtxt
new file mode 100644
index 00000000000..c62ad85f44d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeDedupData.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MergeDedupData"
+  endpoint {
+    name: "tpu.MergeDedupData"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeSummary.pbtxt
new file mode 100644
index 00000000000..528399aaec1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeSummary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MergeSummary"
+  endpoint {
+    name: "summary.MergeSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeV2Checkpoints.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeV2Checkpoints.pbtxt
new file mode 100644
index 00000000000..671ae3f9917
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MergeV2Checkpoints.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MergeV2Checkpoints"
+  endpoint {
+    name: "train.MergeV2Checkpoints"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Mfcc.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mfcc.pbtxt
new file mode 100644
index 00000000000..018361798cc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mfcc.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Mfcc"
+  endpoint {
+    name: "audio.Mfcc"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Min.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Min.pbtxt
new file mode 100644
index 00000000000..3355adfbdde
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Min.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Min"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Minimum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Minimum.pbtxt
new file mode 100644
index 00000000000..cb33aa21fb4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Minimum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Minimum"
+  endpoint {
+    name: "math.Minimum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MirrorPad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MirrorPad.pbtxt
new file mode 100644
index 00000000000..5bc1ebdacbc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MirrorPad.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MirrorPad"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MirrorPadGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MirrorPadGrad.pbtxt
new file mode 100644
index 00000000000..0a9c168e261
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MirrorPadGrad.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MirrorPadGrad"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MlirPassthroughOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MlirPassthroughOp.pbtxt
new file mode 100644
index 00000000000..bf4453b8f2d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MlirPassthroughOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MlirPassthroughOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Mod.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mod.pbtxt
new file mode 100644
index 00000000000..e4003385089
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mod.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Mod"
+  endpoint {
+    name: "math.Mod"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ModelDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ModelDataset.pbtxt
new file mode 100644
index 00000000000..8549b4582cc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ModelDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ModelDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ModelDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Mul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mul.pbtxt
new file mode 100644
index 00000000000..8d1f243721d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Mul.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Mul"
+  endpoint {
+    name: "math.Mul"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MulNoNan.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MulNoNan.pbtxt
new file mode 100644
index 00000000000..e5af10eb9b4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MulNoNan.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MulNoNan"
+  endpoint {
+    name: "math.MulNoNan"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIterator.pbtxt
new file mode 100644
index 00000000000..b51de3ab1e5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIterator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MultiDeviceIterator"
+  endpoint {
+    name: "data.MultiDeviceIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorFromStringHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorFromStringHandle.pbtxt
new file mode 100644
index 00000000000..59f8a287dad
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorFromStringHandle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MultiDeviceIteratorFromStringHandle"
+  endpoint {
+    name: "data.MultiDeviceIteratorFromStringHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorGetNextFromShard.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorGetNextFromShard.pbtxt
new file mode 100644
index 00000000000..f36e12598c4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorGetNextFromShard.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MultiDeviceIteratorGetNextFromShard"
+  endpoint {
+    name: "data.MultiDeviceIteratorGetNextFromShard"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorInit.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorInit.pbtxt
new file mode 100644
index 00000000000..3b477b5b21f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorInit.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MultiDeviceIteratorInit"
+  endpoint {
+    name: "data.MultiDeviceIteratorInit"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorToStringHandle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorToStringHandle.pbtxt
new file mode 100644
index 00000000000..3d4958f4495
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MultiDeviceIteratorToStringHandle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MultiDeviceIteratorToStringHandle"
+  endpoint {
+    name: "data.MultiDeviceIteratorToStringHandle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Multinomial.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Multinomial.pbtxt
new file mode 100644
index 00000000000..2b693f02801
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Multinomial.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Multinomial"
+  endpoint {
+    name: "random.Multinomial"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MutableDenseHashTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableDenseHashTable.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MutableDenseHashTable.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MutableDenseHashTable.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableDenseHashTableV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableDenseHashTableV2.pbtxt
new file mode 100644
index 00000000000..8f20cfd93f5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableDenseHashTableV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MutableDenseHashTableV2"
+  endpoint {
+    name: "MutableDenseHashTable"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MutableHashTable.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTable.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MutableHashTable.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTable.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MutableHashTableOfTensors.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableOfTensors.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_MutableHashTableOfTensors.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableOfTensors.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableOfTensorsV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableOfTensorsV2.pbtxt
new file mode 100644
index 00000000000..d9c26fde9dc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableOfTensorsV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MutableHashTableOfTensorsV2"
+  endpoint {
+    name: "MutableHashTableOfTensors"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableV2.pbtxt
new file mode 100644
index 00000000000..0cfaa1a226b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutableHashTableV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MutableHashTableV2"
+  endpoint {
+    name: "MutableHashTable"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MutexLock.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutexLock.pbtxt
new file mode 100644
index 00000000000..99bf40ba1ed
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutexLock.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MutexLock"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_MutexV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutexV2.pbtxt
new file mode 100644
index 00000000000..17198f4f38c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_MutexV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "MutexV2"
+  endpoint {
+    name: "Mutex"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclAllReduce.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclAllReduce.pbtxt
new file mode 100644
index 00000000000..cd7390fa15e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclAllReduce.pbtxt
@@ -0,0 +1,11 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NcclAllReduce"
+  endpoint: {
+    name: "distribute.NcclAllReduce"
+  }
+  endpoint: {
+    name: "NcclAllReduce"
+    deprecated: true
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclBroadcast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclBroadcast.pbtxt
new file mode 100644
index 00000000000..74abc5b82d0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclBroadcast.pbtxt
@@ -0,0 +1,11 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NcclBroadcast"
+  endpoint: {
+    name: "distribute.NcclBroadcast"
+  }
+  endpoint: {
+    name: "NcclBroadcast"
+    deprecated: true
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclReduce.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclReduce.pbtxt
new file mode 100644
index 00000000000..a0ee5487b3e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NcclReduce.pbtxt
@@ -0,0 +1,11 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NcclReduce"
+  endpoint: {
+    name: "distribute.NcclReduce"
+  }
+  endpoint: {
+    name: "NcclReduce"
+    deprecated: true
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Ndtri.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Ndtri.pbtxt
new file mode 100644
index 00000000000..9394ba422af
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Ndtri.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Ndtri"
+  endpoint {
+    name: "math.Ndtri"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NearestNeighbors.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NearestNeighbors.pbtxt
new file mode 100644
index 00000000000..d50362c31fd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NearestNeighbors.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NearestNeighbors"
+  endpoint {
+    name: "image.NearestNeighbors"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Neg.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Neg.pbtxt
new file mode 100644
index 00000000000..440db9e6414
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Neg.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Neg"
+  endpoint {
+    name: "math.Neg"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NegTrain.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NegTrain.pbtxt
new file mode 100644
index 00000000000..5f381b6e034
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NegTrain.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NegTrain"
+  endpoint {
+    name: "train.NegTrain"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NextAfter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NextAfter.pbtxt
new file mode 100644
index 00000000000..c1c88706cb2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NextAfter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NextAfter"
+  endpoint {
+    name: "math.NextAfter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NextIteration.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NextIteration.pbtxt
new file mode 100644
index 00000000000..63b551aad19
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NextIteration.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NextIteration"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NoOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NoOp.pbtxt
new file mode 100644
index 00000000000..f3d89127156
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NoOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NoOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NonDeterministicInts.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonDeterministicInts.pbtxt
new file mode 100644
index 00000000000..aa8cc027cd6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonDeterministicInts.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NonDeterministicInts"
+  endpoint {
+    name: "random.NonDeterministicInts"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppression.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppression.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppression.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppression.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppressionV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppressionV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppressionV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV3.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppressionV3.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV3.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppressionV4.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV4.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_NonMaxSuppressionV4.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV4.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV5.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV5.pbtxt
new file mode 100644
index 00000000000..7821a13912d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionV5.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NonMaxSuppressionV5"
+  endpoint {
+    name: "image.NonMaxSuppression"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionWithOverlaps.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionWithOverlaps.pbtxt
new file mode 100644
index 00000000000..de5488bb255
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonMaxSuppressionWithOverlaps.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NonMaxSuppressionWithOverlaps"
+  endpoint {
+    name: "image.NonMaxSuppressionWithOverlaps"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NonSerializableDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonSerializableDataset.pbtxt
new file mode 100644
index 00000000000..4efa2ec9978
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NonSerializableDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "NonSerializableDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.NonSerializableDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NotEqual.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NotEqual.pbtxt
new file mode 100644
index 00000000000..5b587960e14
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NotEqual.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NotEqual"
+  endpoint {
+    name: "math.NotEqual"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_NthElement.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_NthElement.pbtxt
new file mode 100644
index 00000000000..7930c041ad3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_NthElement.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "NthElement"
+  endpoint {
+    name: "nn.NthElement"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OneHot.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OneHot.pbtxt
new file mode 100644
index 00000000000..116d0272f16
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OneHot.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OneHot"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OneShotIterator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OneShotIterator.pbtxt
new file mode 100644
index 00000000000..18ee5a8cff8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OneShotIterator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "OneShotIterator"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.OneShotIterator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OnesLike.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OnesLike.pbtxt
new file mode 100644
index 00000000000..06bdeacbd0e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OnesLike.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OnesLike"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptimizeDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptimizeDataset.pbtxt
new file mode 100644
index 00000000000..4220b306071
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptimizeDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "OptimizeDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptimizeDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptimizeDatasetV2.pbtxt
new file mode 100644
index 00000000000..4b0214740a9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptimizeDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "OptimizeDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.OptimizeDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalFromValue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalFromValue.pbtxt
new file mode 100644
index 00000000000..282d866f180
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalFromValue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OptionalFromValue"
+  endpoint {
+    name: "data.OptionalFromValue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalGetValue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalGetValue.pbtxt
new file mode 100644
index 00000000000..b0be584ec90
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalGetValue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OptionalGetValue"
+  endpoint {
+    name: "data.OptionalGetValue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalHasValue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalHasValue.pbtxt
new file mode 100644
index 00000000000..f2778d04bb8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalHasValue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OptionalHasValue"
+  endpoint {
+    name: "data.OptionalHasValue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalNone.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalNone.pbtxt
new file mode 100644
index 00000000000..77ec49c964c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionalNone.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OptionalNone"
+  endpoint {
+    name: "data.OptionalNone"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionsDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionsDataset.pbtxt
new file mode 100644
index 00000000000..0ccf9d12546
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OptionsDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "OptionsDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.OptionsDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapClear.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapClear.pbtxt
new file mode 100644
index 00000000000..30c9cc626d0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapClear.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapClear"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapIncompleteSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapIncompleteSize.pbtxt
new file mode 100644
index 00000000000..ef2e4e4f272
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapIncompleteSize.pbtxt
@@ -0,0 +1,8 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapIncompleteSize"
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapPeek.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapPeek.pbtxt
new file mode 100644
index 00000000000..2ac8b71d2fb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapPeek.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapPeek"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapSize.pbtxt
new file mode 100644
index 00000000000..47e4f6188ce
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapSize.pbtxt
@@ -0,0 +1,8 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapSize"
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapStage.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapStage.pbtxt
new file mode 100644
index 00000000000..22a96eaccb0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapStage.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapStage"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapUnstage.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapUnstage.pbtxt
new file mode 100644
index 00000000000..b617e0ad11e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapUnstage.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapUnstage"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapUnstageNoKey.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapUnstageNoKey.pbtxt
new file mode 100644
index 00000000000..e5beaff8915
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OrderedMapUnstageNoKey.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OrderedMapUnstageNoKey"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeue.pbtxt
new file mode 100644
index 00000000000..6a8b5d5f562
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OutfeedDequeue"
+  endpoint {
+    name: "tpu.OutfeedDequeue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueTuple.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueTuple.pbtxt
new file mode 100644
index 00000000000..9b8a9b7bebd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueTuple.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OutfeedDequeueTuple"
+  endpoint {
+    name: "tpu.OutfeedDequeueTuple"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueTupleV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueTupleV2.pbtxt
new file mode 100644
index 00000000000..7fef814d5b3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueTupleV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OutfeedDequeueTupleV2"
+  endpoint {
+    name: "tpu.OutfeedDequeueTupleV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueV2.pbtxt
new file mode 100644
index 00000000000..02c947f23f8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedDequeueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OutfeedDequeueV2"
+  endpoint {
+    name: "tpu.OutfeedDequeueV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedEnqueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedEnqueue.pbtxt
new file mode 100644
index 00000000000..18694993470
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedEnqueue.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OutfeedEnqueue"
+  endpoint {
+    name: "tpu.OutfeedEnqueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedEnqueueTuple.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedEnqueueTuple.pbtxt
new file mode 100644
index 00000000000..e4347fe0bcd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_OutfeedEnqueueTuple.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "OutfeedEnqueueTuple"
+  endpoint {
+    name: "tpu.OutfeedEnqueueTuple"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Pack.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Pack.pbtxt
new file mode 100644
index 00000000000..2be5e46f791
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Pack.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Pack"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Pad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Pad.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Pad.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Pad.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PadV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PadV2.pbtxt
new file mode 100644
index 00000000000..2462c556cf3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PadV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PadV2"
+  endpoint {
+    name: "Pad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PaddedBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddedBatchDataset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PaddedBatchDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PaddedBatchDataset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddedBatchDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddedBatchDatasetV2.pbtxt
new file mode 100644
index 00000000000..0999120d361
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddedBatchDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "PaddedBatchDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.PaddedBatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PaddingFIFOQueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddingFIFOQueue.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PaddingFIFOQueue.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PaddingFIFOQueue.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddingFIFOQueueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddingFIFOQueueV2.pbtxt
new file mode 100644
index 00000000000..d0b4a712ff8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PaddingFIFOQueueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PaddingFIFOQueueV2"
+  endpoint {
+    name: "io.PaddingFifoQueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelBatchDataset.pbtxt
new file mode 100644
index 00000000000..3fd9b1a423b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelBatchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ParallelBatchDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ParallelBatchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelConcat.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelConcat.pbtxt
new file mode 100644
index 00000000000..cead44173d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelConcat.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParallelConcat"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelDynamicStitch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelDynamicStitch.pbtxt
new file mode 100644
index 00000000000..a8bebe9f4f5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelDynamicStitch.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParallelDynamicStitch"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelFilterDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelFilterDataset.pbtxt
new file mode 100644
index 00000000000..32e189b0963
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelFilterDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParallelFilterDataset"
+  endpoint {
+    name: "data.ParallelFilterDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelInterleaveDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDataset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelInterleaveDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDataset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelInterleaveDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelInterleaveDatasetV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelInterleaveDatasetV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV3.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelInterleaveDatasetV3.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV3.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV4.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV4.pbtxt
new file mode 100644
index 00000000000..7dddfc15a66
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelInterleaveDatasetV4.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ParallelInterleaveDatasetV4"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ParallelInterleaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelMapDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelMapDataset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParallelMapDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelMapDataset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelMapDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelMapDatasetV2.pbtxt
new file mode 100644
index 00000000000..9135d8f5c99
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParallelMapDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ParallelMapDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ParallelMapDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParameterizedTruncatedNormal.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParameterizedTruncatedNormal.pbtxt
new file mode 100644
index 00000000000..e271245d703
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParameterizedTruncatedNormal.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParameterizedTruncatedNormal"
+  endpoint {
+    name: "random.ParameterizedTruncatedNormal"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParseExample.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExample.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParseExample.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExample.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParseExampleDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleDataset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParseExampleDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleDataset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleDatasetV2.pbtxt
new file mode 100644
index 00000000000..4ce175177f6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ParseExampleDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ParseExampleDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleV2.pbtxt
new file mode 100644
index 00000000000..c78eb77249c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseExampleV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParseExampleV2"
+  endpoint {
+    name: "io.ParseExample"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParseSequenceExample.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSequenceExample.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ParseSequenceExample.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSequenceExample.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSequenceExampleV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSequenceExampleV2.pbtxt
new file mode 100644
index 00000000000..3ce6e01560f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSequenceExampleV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParseSequenceExampleV2"
+  endpoint {
+    name: "io.ParseSequenceExample"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSingleExample.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSingleExample.pbtxt
new file mode 100644
index 00000000000..d2dfdc20ea2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSingleExample.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParseSingleExample"
+  endpoint {
+    name: "io.ParseSingleExample"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSingleSequenceExample.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSingleSequenceExample.pbtxt
new file mode 100644
index 00000000000..2a83b9105e0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseSingleSequenceExample.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParseSingleSequenceExample"
+  endpoint {
+    name: "io.ParseSingleSequenceExample"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseTensor.pbtxt
new file mode 100644
index 00000000000..e8e5db934af
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ParseTensor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ParseTensor"
+  endpoint {
+    name: "io.ParseTensor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PartitionedCall.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PartitionedCall.pbtxt
new file mode 100644
index 00000000000..268c519a8a7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PartitionedCall.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PartitionedCall"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Placeholder.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Placeholder.pbtxt
new file mode 100644
index 00000000000..2e83fe4d8f8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Placeholder.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Placeholder"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PlaceholderV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PlaceholderV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PlaceholderV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PlaceholderV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PlaceholderWithDefault.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PlaceholderWithDefault.pbtxt
new file mode 100644
index 00000000000..d20aff9cb92
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PlaceholderWithDefault.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PlaceholderWithDefault"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Polygamma.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Polygamma.pbtxt
new file mode 100644
index 00000000000..f81d95924f1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Polygamma.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Polygamma"
+  endpoint {
+    name: "math.Polygamma"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PopulationCount.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PopulationCount.pbtxt
new file mode 100644
index 00000000000..840404a23d0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PopulationCount.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PopulationCount"
+  endpoint {
+    name: "math.PopulationCount"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Pow.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Pow.pbtxt
new file mode 100644
index 00000000000..8657e4afb98
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Pow.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Pow"
+  endpoint {
+    name: "math.Pow"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PrefetchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrefetchDataset.pbtxt
new file mode 100644
index 00000000000..a8a3423123d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrefetchDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "PrefetchDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.PrefetchDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Prelinearize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Prelinearize.pbtxt
new file mode 100644
index 00000000000..71d98c0868f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Prelinearize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Prelinearize"
+  endpoint {
+    name: "tpu.Prelinearize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PrelinearizeTuple.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrelinearizeTuple.pbtxt
new file mode 100644
index 00000000000..59751130dfc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrelinearizeTuple.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PrelinearizeTuple"
+  endpoint {
+    name: "tpu.PrelinearizeTuple"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PrependFromQueueAndPaddedBatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrependFromQueueAndPaddedBatchDataset.pbtxt
similarity index 86%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PrependFromQueueAndPaddedBatchDataset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PrependFromQueueAndPaddedBatchDataset.pbtxt
index 7c9d509b163..a5e8f99de23 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PrependFromQueueAndPaddedBatchDataset.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrependFromQueueAndPaddedBatchDataset.pbtxt
@@ -1,5 +1,6 @@
 op {
   graph_op_name: "PrependFromQueueAndPaddedBatchDataset"
+  visibility: VISIBLE
   endpoint {
     name: "data.PrependFromQueueAndPaddedBatchDataset"
   }
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PreventGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PreventGradient.pbtxt
new file mode 100644
index 00000000000..bafa0a5a739
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PreventGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PreventGradient"
+  endpoint {
+    name: "train.PreventGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Print.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Print.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Print.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Print.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PrintV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrintV2.pbtxt
new file mode 100644
index 00000000000..573751c55b8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrintV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PrintV2"
+  endpoint {
+    name: "Print"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PriorityQueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PriorityQueue.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PriorityQueue.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PriorityQueue.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PriorityQueueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PriorityQueueV2.pbtxt
new file mode 100644
index 00000000000..8bd3b0a04dc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PriorityQueueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "PriorityQueueV2"
+  endpoint {
+    name: "io.PriorityQueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_PrivateThreadPoolDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrivateThreadPoolDataset.pbtxt
new file mode 100644
index 00000000000..4c0cfbe6698
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_PrivateThreadPoolDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "PrivateThreadPoolDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.PrivateThreadPoolDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Prod.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Prod.pbtxt
new file mode 100644
index 00000000000..d1c62ee4c7d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Prod.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Prod"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PyFunc.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PyFunc.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PyFunc.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PyFunc.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PyFuncStateless.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_PyFuncStateless.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_PyFuncStateless.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_PyFuncStateless.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Qr.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Qr.pbtxt
new file mode 100644
index 00000000000..13b372131af
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Qr.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Qr"
+  endpoint {
+    name: "linalg.Qr"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QuantizeAndDequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantize.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QuantizeAndDequantize.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantize.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QuantizeAndDequantizeV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QuantizeAndDequantizeV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV3.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV3.pbtxt
new file mode 100644
index 00000000000..49b0b0d4878
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV3.pbtxt
@@ -0,0 +1,10 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizeAndDequantizeV3"
+  endpoint {
+    name: "quantization.QuantizeAndDequantizeV3"
+  }
+  endpoint {
+    name: "quantization.QuantizeAndDequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV4.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV4.pbtxt
new file mode 100644
index 00000000000..4e9780f470c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV4.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizeAndDequantizeV4"
+  endpoint {
+    name: "quantization.QuantizeAndDequantizeV4"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV4Grad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV4Grad.pbtxt
new file mode 100644
index 00000000000..3c86a135f58
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeAndDequantizeV4Grad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizeAndDequantizeV4Grad"
+  endpoint {
+    name: "quantization.QuantizeAndDequantizeV4Grad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeDownAndShrinkRange.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeDownAndShrinkRange.pbtxt
new file mode 100644
index 00000000000..ac2dc64b29b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeDownAndShrinkRange.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizeDownAndShrinkRange"
+  endpoint {
+    name: "quantization.QuantizeDownAndShrinkRange"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeV2.pbtxt
new file mode 100644
index 00000000000..8dd0155b0cc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizeV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizeV2"
+  endpoint {
+    name: "quantization.Quantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedAdd.pbtxt
new file mode 100644
index 00000000000..409160600a2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedAdd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedAdd"
+  endpoint {
+    name: "math.QuantizedAdd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedAvgPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedAvgPool.pbtxt
new file mode 100644
index 00000000000..4f6112fd2d6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedAvgPool.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedAvgPool"
+  endpoint {
+    name: "nn.QuantizedAvgPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedBatchNormWithGlobalNormalization.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedBatchNormWithGlobalNormalization.pbtxt
new file mode 100644
index 00000000000..f83d5c2433a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedBatchNormWithGlobalNormalization.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedBatchNormWithGlobalNormalization"
+  endpoint {
+    name: "nn.QuantizedBatchNormWithGlobalNormalization"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedBiasAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedBiasAdd.pbtxt
new file mode 100644
index 00000000000..42af03225d9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedBiasAdd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedBiasAdd"
+  endpoint {
+    name: "nn.QuantizedBiasAdd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConcat.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConcat.pbtxt
new file mode 100644
index 00000000000..6f494b440b1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConcat.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConcat"
+  endpoint {
+    name: "quantization.QuantizedConcat"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QuantizedConcatV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConcatV2.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QuantizedConcatV2.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConcatV2.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2D.pbtxt
new file mode 100644
index 00000000000..a6e20f4585d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2D"
+  endpoint {
+    name: "nn.QuantizedConv2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndRelu.pbtxt
new file mode 100644
index 00000000000..11babc82e64
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DAndRelu"
+  endpoint {
+    name: "nn.QuantizedConv2DAndRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndReluAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndReluAndRequantize.pbtxt
new file mode 100644
index 00000000000..69598eb29e7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndReluAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DAndReluAndRequantize"
+  endpoint {
+    name: "nn.QuantizedConv2DAndReluAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndRequantize.pbtxt
new file mode 100644
index 00000000000..074c8bb81dc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DAndRequantize"
+  endpoint {
+    name: "nn.QuantizedConv2DAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DPerChannel.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DPerChannel.pbtxt
new file mode 100644
index 00000000000..8e0ad23bd42
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DPerChannel.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DPerChannel"
+  endpoint {
+    name: "nn.QuantizedConv2DPerChannel"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBias.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBias.pbtxt
new file mode 100644
index 00000000000..bfb35fd99ee
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBias.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBias"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBias"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndRelu.pbtxt
new file mode 100644
index 00000000000..094b5484db9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBiasAndRelu"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBiasAndRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndReluAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndReluAndRequantize.pbtxt
new file mode 100644
index 00000000000..45a9ae59f11
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndReluAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBiasAndReluAndRequantize"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBiasAndReluAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndRequantize.pbtxt
new file mode 100644
index 00000000000..e2360686b4a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBiasAndRequantize"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBiasAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSignedSumAndReluAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSignedSumAndReluAndRequantize.pbtxt
new file mode 100644
index 00000000000..16c15d1bcbb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSignedSumAndReluAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBiasSignedSumAndReluAndRequantize"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBiasSignedSumAndReluAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSumAndRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSumAndRelu.pbtxt
new file mode 100644
index 00000000000..210d5287924
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSumAndRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBiasSumAndRelu"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBiasSumAndRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSumAndReluAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSumAndReluAndRequantize.pbtxt
new file mode 100644
index 00000000000..910800ac4f0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedConv2DWithBiasSumAndReluAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedConv2DWithBiasSumAndReluAndRequantize"
+  endpoint {
+    name: "nn.QuantizedConv2DWithBiasSumAndReluAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2D.pbtxt
new file mode 100644
index 00000000000..cfcc863566b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedDepthwiseConv2D"
+  endpoint {
+    name: "nn.QuantizedDepthwiseConv2D"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBias.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBias.pbtxt
new file mode 100644
index 00000000000..961de7a11f7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBias.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedDepthwiseConv2DWithBias"
+  endpoint {
+    name: "nn.QuantizedDepthwiseConv2DWithBias"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBiasAndRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBiasAndRelu.pbtxt
new file mode 100644
index 00000000000..4470675b660
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBiasAndRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedDepthwiseConv2DWithBiasAndRelu"
+  endpoint {
+    name: "nn.QuantizedDepthwiseConv2DWithBiasAndRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize.pbtxt
new file mode 100644
index 00000000000..e2673935a16
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize"
+  endpoint {
+    name: "nn.QuantizedDepthwiseConv2DWithBiasAndReluAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedInstanceNorm.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedInstanceNorm.pbtxt
new file mode 100644
index 00000000000..52620d0f998
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedInstanceNorm.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedInstanceNorm"
+  endpoint {
+    name: "nn.QuantizedInstanceNorm"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMul.pbtxt
new file mode 100644
index 00000000000..40f0a5e788c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMul.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMatMul"
+  endpoint {
+    name: "linalg.QuantizedMatMul"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBias.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBias.pbtxt
new file mode 100644
index 00000000000..65cd7780258
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBias.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMatMulWithBias"
+  endpoint {
+    name: "linalg.QuantizedMatMulWithBias"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndDequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndDequantize.pbtxt
new file mode 100644
index 00000000000..2c47dfba1b0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndDequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMatMulWithBiasAndDequantize"
+  endpoint {
+    name: "quantization.QuantizedMatMulWithBiasAndDequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndRelu.pbtxt
new file mode 100644
index 00000000000..9f7d19c4203
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMatMulWithBiasAndRelu"
+  endpoint {
+    name: "linalg.QuantizedMatMulWithBiasAndRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndReluAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndReluAndRequantize.pbtxt
new file mode 100644
index 00000000000..548eeb7b9ef
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndReluAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMatMulWithBiasAndReluAndRequantize"
+  endpoint {
+    name: "linalg.QuantizedMatMulWithBiasAndReluAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndRequantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndRequantize.pbtxt
new file mode 100644
index 00000000000..24994b5662f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMatMulWithBiasAndRequantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMatMulWithBiasAndRequantize"
+  endpoint {
+    name: "quantization.QuantizedMatMulWithBiasAndRequantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMaxPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMaxPool.pbtxt
new file mode 100644
index 00000000000..40f6f65c9b1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMaxPool.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMaxPool"
+  endpoint {
+    name: "nn.QuantizedMaxPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMul.pbtxt
new file mode 100644
index 00000000000..6b14b69beb5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedMul.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedMul"
+  endpoint {
+    name: "math.QuantizedMul"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedRelu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedRelu.pbtxt
new file mode 100644
index 00000000000..8e1b314e688
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedRelu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedRelu"
+  endpoint {
+    name: "nn.QuantizedRelu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedRelu6.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedRelu6.pbtxt
new file mode 100644
index 00000000000..f5230201707
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedRelu6.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedRelu6"
+  endpoint {
+    name: "nn.QuantizedRelu6"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedReluX.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedReluX.pbtxt
new file mode 100644
index 00000000000..a52915868d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedReluX.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedReluX"
+  endpoint {
+    name: "nn.QuantizedReluX"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedReshape.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedReshape.pbtxt
new file mode 100644
index 00000000000..f2049b9f380
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedReshape.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedReshape"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedResizeBilinear.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedResizeBilinear.pbtxt
new file mode 100644
index 00000000000..28191a12de9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QuantizedResizeBilinear.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QuantizedResizeBilinear"
+  endpoint {
+    name: "image.QuantizedResizeBilinear"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueClose.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueClose.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueClose.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueClose.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueCloseV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueCloseV2.pbtxt
new file mode 100644
index 00000000000..08c2af13ab5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueCloseV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueCloseV2"
+  endpoint {
+    name: "io.QueueClose"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueDequeue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeue.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueDequeue.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeue.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueDequeueMany.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueMany.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueDequeueMany.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueMany.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueManyV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueManyV2.pbtxt
new file mode 100644
index 00000000000..e0cdf5ce764
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueManyV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueDequeueManyV2"
+  endpoint {
+    name: "io.QueueDequeueMany"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueDequeueUpTo.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueUpTo.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueDequeueUpTo.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueUpTo.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueUpToV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueUpToV2.pbtxt
new file mode 100644
index 00000000000..715b614ccda
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueUpToV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueDequeueUpToV2"
+  endpoint {
+    name: "io.QueueDequeueUpTo"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueV2.pbtxt
new file mode 100644
index 00000000000..670a81b09c6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueDequeueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueDequeueV2"
+  endpoint {
+    name: "io.QueueDequeue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueEnqueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueue.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueEnqueue.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueue.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueEnqueueMany.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueMany.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueEnqueueMany.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueMany.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueManyV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueManyV2.pbtxt
new file mode 100644
index 00000000000..8f08727b990
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueManyV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueEnqueueManyV2"
+  endpoint {
+    name: "io.QueueEnqueueMany"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueV2.pbtxt
new file mode 100644
index 00000000000..56700dbe62d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueEnqueueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueEnqueueV2"
+  endpoint {
+    name: "io.QueueEnqueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueIsClosed.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueIsClosed.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueIsClosed.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueIsClosed.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueIsClosedV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueIsClosedV2.pbtxt
new file mode 100644
index 00000000000..e3c27b82fe8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueIsClosedV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueIsClosedV2"
+  endpoint {
+    name: "io.QueueIsClosed"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueSize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueSize.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_QueueSize.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_QueueSize.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueSizeV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueSizeV2.pbtxt
new file mode 100644
index 00000000000..f352e15e0c7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_QueueSizeV2.pbtxt
@@ -0,0 +1,11 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "QueueSizeV2"
+  endpoint {
+    name: "io.QueueSize"
+  }
+  out_arg {
+    name: "size"
+    rename_to: "output"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT.pbtxt
new file mode 100644
index 00000000000..708de1951ae
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RFFT"
+  endpoint {
+    name: "signal.Rfft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT2D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT2D.pbtxt
new file mode 100644
index 00000000000..8488c65b5d0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT2D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RFFT2D"
+  endpoint {
+    name: "signal.Rfft2d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT3D.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT3D.pbtxt
new file mode 100644
index 00000000000..09218cd6296
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFT3D.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RFFT3D"
+  endpoint {
+    name: "signal.Rfft3d"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFTND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFTND.pbtxt
new file mode 100644
index 00000000000..4b46e0f0d31
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RFFTND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RFFTND"
+  endpoint {
+    name: "signal.RfftNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RGBToHSV.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RGBToHSV.pbtxt
new file mode 100644
index 00000000000..2172f52405b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RGBToHSV.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RGBToHSV"
+  endpoint {
+    name: "image.RgbToHsv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedBincount.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedBincount.pbtxt
new file mode 100644
index 00000000000..632be33d30d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedBincount.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedBincount"
+  endpoint {
+    name: "ragged.RaggedBincount"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedCountSparseOutput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedCountSparseOutput.pbtxt
new file mode 100644
index 00000000000..e74b9bd9d0a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedCountSparseOutput.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedCountSparseOutput"
+  endpoint {
+    name: "ragged.RaggedCountSparseOutput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedCross.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedCross.pbtxt
new file mode 100644
index 00000000000..7da3096c7ef
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedCross.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedCross"
+  endpoint {
+    name: "ragged.RaggedCross"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedFillEmptyRows.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedFillEmptyRows.pbtxt
new file mode 100644
index 00000000000..5f135f87e74
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedFillEmptyRows.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedFillEmptyRows"
+  endpoint {
+    name: "ragged.RaggedFillEmptyRows"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedFillEmptyRowsGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedFillEmptyRowsGrad.pbtxt
new file mode 100644
index 00000000000..5f8f1790f32
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedFillEmptyRowsGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedFillEmptyRowsGrad"
+  endpoint {
+    name: "ragged.RaggedFillEmptyRowsGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedGather.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedGather.pbtxt
new file mode 100644
index 00000000000..10da3a31954
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedGather.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedGather"
+  endpoint {
+    name: "ragged.RaggedGather"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedRange.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedRange.pbtxt
new file mode 100644
index 00000000000..6ec658b61fe
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedRange.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedRange"
+  endpoint {
+    name: "ragged.RaggedRange"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorFromVariant.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorFromVariant.pbtxt
new file mode 100644
index 00000000000..2067148bde1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorFromVariant.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedTensorFromVariant"
+  endpoint {
+    name: "ragged.RaggedTensorFromVariant"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToSparse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToSparse.pbtxt
new file mode 100644
index 00000000000..c6d61a22606
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToSparse.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedTensorToSparse"
+  endpoint {
+    name: "ragged.RaggedTensorToSparse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToTensor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToTensor.pbtxt
new file mode 100644
index 00000000000..2bae8ad3de2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToTensor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedTensorToTensor"
+  endpoint {
+    name: "ragged.RaggedTensorToTensor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToVariant.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToVariant.pbtxt
new file mode 100644
index 00000000000..3e4b2029a1b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToVariant.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedTensorToVariant"
+  endpoint {
+    name: "ragged.RaggedTensorToVariant"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToVariantGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToVariantGradient.pbtxt
new file mode 100644
index 00000000000..a09acd4debd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RaggedTensorToVariantGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RaggedTensorToVariantGradient"
+  endpoint {
+    name: "ragged.RaggedTensorToVariantGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomCrop.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomCrop.pbtxt
new file mode 100644
index 00000000000..be299f2ed38
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomCrop.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomCrop"
+  endpoint {
+    name: "image.RandomCrop"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomDataset.pbtxt
new file mode 100644
index 00000000000..6c64c2b8818
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "RandomDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomDatasetV2.pbtxt
new file mode 100644
index 00000000000..77231322675
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "RandomDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.RandomDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomGamma.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomGamma.pbtxt
new file mode 100644
index 00000000000..c8fbfbf0134
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomGamma.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomGamma"
+  endpoint {
+    name: "random.RandomGamma"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomGammaGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomGammaGrad.pbtxt
new file mode 100644
index 00000000000..6d0b3466690
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomGammaGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomGammaGrad"
+  endpoint {
+    name: "random.RandomGammaGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomIndexShuffle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomIndexShuffle.pbtxt
new file mode 100644
index 00000000000..0af6f3e5b1e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomIndexShuffle.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomIndexShuffle"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RandomPoisson.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomPoisson.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RandomPoisson.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RandomPoisson.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomPoissonV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomPoissonV2.pbtxt
new file mode 100644
index 00000000000..09bdecdaa10
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomPoissonV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomPoissonV2"
+  endpoint {
+    name: "random.RandomPoisson"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffle.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffle.pbtxt
new file mode 100644
index 00000000000..5d0d7a3b680
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffle.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomShuffle"
+  endpoint {
+    name: "random.RandomShuffle"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RandomShuffleQueue.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffleQueue.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RandomShuffleQueue.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffleQueue.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffleQueueV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffleQueueV2.pbtxt
new file mode 100644
index 00000000000..4dd84fac74d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomShuffleQueueV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomShuffleQueueV2"
+  endpoint {
+    name: "io.RandomShuffleQueue"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomStandardNormal.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomStandardNormal.pbtxt
new file mode 100644
index 00000000000..5ac99b9005b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomStandardNormal.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomStandardNormal"
+  endpoint {
+    name: "random.RandomStandardNormal"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomUniform.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomUniform.pbtxt
new file mode 100644
index 00000000000..bdec5ac99d7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomUniform.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomUniform"
+  endpoint {
+    name: "random.RandomUniform"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomUniformInt.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomUniformInt.pbtxt
new file mode 100644
index 00000000000..4102517f3de
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RandomUniformInt.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RandomUniformInt"
+  endpoint {
+    name: "random.RandomUniformInt"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Range.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Range.pbtxt
new file mode 100644
index 00000000000..dbda35b7374
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Range.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Range"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RangeDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RangeDataset.pbtxt
new file mode 100644
index 00000000000..e4a9af7ea97
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RangeDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "RangeDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.RangeDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Rank.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rank.pbtxt
new file mode 100644
index 00000000000..dc306a7ae56
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rank.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Rank"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadFile.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadFile.pbtxt
new file mode 100644
index 00000000000..8d2c022f428
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadFile.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReadFile"
+  endpoint {
+    name: "io.ReadFile"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadVariableOp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadVariableOp.pbtxt
new file mode 100644
index 00000000000..7f053e301a6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadVariableOp.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReadVariableOp"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadVariableXlaSplitND.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadVariableXlaSplitND.pbtxt
new file mode 100644
index 00000000000..5d6bfb45373
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReadVariableXlaSplitND.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReadVariableXlaSplitND"
+  endpoint {
+    name: "xla.ReadVariableSplitND"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderNumRecordsProduced.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumRecordsProduced.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderNumRecordsProduced.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumRecordsProduced.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumRecordsProducedV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumRecordsProducedV2.pbtxt
new file mode 100644
index 00000000000..13578bcba83
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumRecordsProducedV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderNumRecordsProducedV2"
+  endpoint {
+    name: "io.ReaderNumRecordsProduced"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderNumWorkUnitsCompleted.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumWorkUnitsCompleted.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderNumWorkUnitsCompleted.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumWorkUnitsCompleted.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumWorkUnitsCompletedV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumWorkUnitsCompletedV2.pbtxt
new file mode 100644
index 00000000000..1a72c3be10a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderNumWorkUnitsCompletedV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderNumWorkUnitsCompletedV2"
+  endpoint {
+    name: "io.ReaderNumWorkUnitsCompleted"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderRead.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRead.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderRead.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRead.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderReadUpTo.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadUpTo.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderReadUpTo.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadUpTo.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadUpToV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadUpToV2.pbtxt
new file mode 100644
index 00000000000..06a316fbb70
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadUpToV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderReadUpToV2"
+  endpoint {
+    name: "io.ReaderReadUpTo"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadV2.pbtxt
new file mode 100644
index 00000000000..64bd40cdde8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReadV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderReadV2"
+  endpoint {
+    name: "io.ReaderRead"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderReset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReset.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderReset.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderReset.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderResetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderResetV2.pbtxt
new file mode 100644
index 00000000000..05bd5c48bc3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderResetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderResetV2"
+  endpoint {
+    name: "io.ReaderReset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderRestoreState.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRestoreState.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderRestoreState.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRestoreState.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRestoreStateV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRestoreStateV2.pbtxt
new file mode 100644
index 00000000000..c53c47ff372
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderRestoreStateV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderRestoreStateV2"
+  endpoint {
+    name: "io.ReaderRestoreState"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderSerializeState.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderSerializeState.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ReaderSerializeState.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderSerializeState.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderSerializeStateV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderSerializeStateV2.pbtxt
new file mode 100644
index 00000000000..ec18d3c71b6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReaderSerializeStateV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReaderSerializeStateV2"
+  endpoint {
+    name: "io.ReaderSerializeState"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Real.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Real.pbtxt
new file mode 100644
index 00000000000..3ddd3bc902a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Real.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Real"
+  endpoint {
+    name: "math.Real"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RealDiv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RealDiv.pbtxt
new file mode 100644
index 00000000000..366c95f2566
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RealDiv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RealDiv"
+  endpoint {
+    name: "math.RealDiv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RebatchDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RebatchDataset.pbtxt
new file mode 100644
index 00000000000..61d010ff033
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RebatchDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "RebatchDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RebatchDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RebatchDatasetV2.pbtxt
new file mode 100644
index 00000000000..42ab3bc1a6e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RebatchDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "RebatchDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.RebatchDatasetV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Reciprocal.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Reciprocal.pbtxt
new file mode 100644
index 00000000000..bb6956bbe3c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Reciprocal.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Reciprocal"
+  endpoint {
+    name: "math.Reciprocal"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReciprocalGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReciprocalGrad.pbtxt
new file mode 100644
index 00000000000..57cc8c630e1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReciprocalGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReciprocalGrad"
+  endpoint {
+    name: "math.ReciprocalGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RecordInput.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RecordInput.pbtxt
new file mode 100644
index 00000000000..bf8836b3d81
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RecordInput.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RecordInput"
+  endpoint {
+    name: "random.RecordInput"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Recv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Recv.pbtxt
new file mode 100644
index 00000000000..6ba56fa3392
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Recv.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Recv"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RecvTPUEmbeddingActivations.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RecvTPUEmbeddingActivations.pbtxt
new file mode 100644
index 00000000000..05ce63f87aa
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RecvTPUEmbeddingActivations.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RecvTPUEmbeddingActivations"
+  endpoint {
+    name: "tpu.RecvTPUEmbeddingActivations"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReduceDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReduceDataset.pbtxt
new file mode 100644
index 00000000000..4493b8a20ac
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReduceDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ReduceDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ReduceDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReduceJoin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReduceJoin.pbtxt
new file mode 100644
index 00000000000..bb2b90169a1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReduceJoin.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReduceJoin"
+  endpoint {
+    name: "strings.ReduceJoin"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefEnter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefEnter.pbtxt
new file mode 100644
index 00000000000..886f9cc3436
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefEnter.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefEnter"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefExit.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefExit.pbtxt
new file mode 100644
index 00000000000..1495c957912
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefExit.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefExit"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefIdentity.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefIdentity.pbtxt
new file mode 100644
index 00000000000..013b3bcce61
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefIdentity.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefIdentity"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefMerge.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefMerge.pbtxt
new file mode 100644
index 00000000000..97599f361be
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefMerge.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefMerge"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefNextIteration.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefNextIteration.pbtxt
new file mode 100644
index 00000000000..0b94ec2d5d0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefNextIteration.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefNextIteration"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefSelect.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefSelect.pbtxt
new file mode 100644
index 00000000000..dc135b3cc98
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefSelect.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefSelect"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RefSwitch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefSwitch.pbtxt
new file mode 100644
index 00000000000..abccabbf444
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RefSwitch.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RefSwitch"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RegexFullMatch.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegexFullMatch.pbtxt
new file mode 100644
index 00000000000..ed0a0765b5c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegexFullMatch.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RegexFullMatch"
+  endpoint {
+    name: "strings.RegexFullMatch"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RegexReplace.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegexReplace.pbtxt
new file mode 100644
index 00000000000..a2987dba302
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegexReplace.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RegexReplace"
+  endpoint {
+    name: "strings.RegexReplace"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RegisterDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegisterDataset.pbtxt
new file mode 100644
index 00000000000..03947c43e92
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegisterDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "RegisterDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RegisterDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegisterDatasetV2.pbtxt
new file mode 100644
index 00000000000..b44314327a5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RegisterDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "RegisterDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.RegisterDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Relayout.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relayout.pbtxt
new file mode 100644
index 00000000000..50f3036cc78
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relayout.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Relayout"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RelayoutLike.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RelayoutLike.pbtxt
new file mode 100644
index 00000000000..b83aaf0cf61
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RelayoutLike.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RelayoutLike"
+  endpoint {
+    name: "RelayoutLike"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu.pbtxt
new file mode 100644
index 00000000000..87e110a0739
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Relu"
+  endpoint {
+    name: "nn.Relu"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu6.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu6.pbtxt
new file mode 100644
index 00000000000..c1dc6c6d205
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu6.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Relu6"
+  endpoint {
+    name: "nn.Relu6"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu6Grad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu6Grad.pbtxt
new file mode 100644
index 00000000000..bb4621ffb5b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Relu6Grad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Relu6Grad"
+  endpoint {
+    name: "nn.Relu6Grad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReluGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReluGrad.pbtxt
new file mode 100644
index 00000000000..7830ad371d6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReluGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReluGrad"
+  endpoint {
+    name: "nn.ReluGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RemoteCall.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RemoteCall.pbtxt
new file mode 100644
index 00000000000..b2f13cc48b9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RemoteCall.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RemoteCall"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RemoteFusedGraphExecute.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RemoteFusedGraphExecute.pbtxt
new file mode 100644
index 00000000000..c30673aa76e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RemoteFusedGraphExecute.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RemoteFusedGraphExecute"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RepeatDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RepeatDataset.pbtxt
new file mode 100644
index 00000000000..b64988dd378
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RepeatDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "RepeatDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.RepeatDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizationRange.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizationRange.pbtxt
new file mode 100644
index 00000000000..81e17cf420d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizationRange.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RequantizationRange"
+  endpoint {
+    name: "quantization.RequantizationRange"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizationRangePerChannel.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizationRangePerChannel.pbtxt
new file mode 100644
index 00000000000..2073052bfe9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizationRangePerChannel.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RequantizationRangePerChannel"
+  endpoint {
+    name: "math.RequantizationRangePerChannel"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Requantize.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Requantize.pbtxt
new file mode 100644
index 00000000000..c771cef0746
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Requantize.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Requantize"
+  endpoint {
+    name: "quantization.Requantize"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizePerChannel.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizePerChannel.pbtxt
new file mode 100644
index 00000000000..2539fbe9528
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RequantizePerChannel.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RequantizePerChannel"
+  endpoint {
+    name: "math.RequantizePerChannel"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Reshape.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Reshape.pbtxt
new file mode 100644
index 00000000000..bd628df6d68
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Reshape.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Reshape"
+  endpoint {
+    name: "Reshape"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeArea.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeArea.pbtxt
new file mode 100644
index 00000000000..2514478bc1e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeArea.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeArea"
+  endpoint {
+    name: "image.ResizeArea"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBicubic.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBicubic.pbtxt
new file mode 100644
index 00000000000..669b0889911
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBicubic.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeBicubic"
+  endpoint {
+    name: "image.ResizeBicubic"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBicubicGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBicubicGrad.pbtxt
new file mode 100644
index 00000000000..63478567394
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBicubicGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeBicubicGrad"
+  endpoint {
+    name: "image.ResizeBicubicGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBilinear.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBilinear.pbtxt
new file mode 100644
index 00000000000..42bc9578c0b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBilinear.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeBilinear"
+  endpoint {
+    name: "image.ResizeBilinear"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBilinearGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBilinearGrad.pbtxt
new file mode 100644
index 00000000000..88bccdf83ca
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeBilinearGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeBilinearGrad"
+  endpoint {
+    name: "image.ResizeBilinearGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeNearestNeighbor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeNearestNeighbor.pbtxt
new file mode 100644
index 00000000000..84f8e26218d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeNearestNeighbor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeNearestNeighbor"
+  endpoint {
+    name: "image.ResizeNearestNeighbor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeNearestNeighborGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeNearestNeighborGrad.pbtxt
new file mode 100644
index 00000000000..2b5ce61b1cf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResizeNearestNeighborGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResizeNearestNeighborGrad"
+  endpoint {
+    name: "image.ResizeNearestNeighborGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorApplyGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorApplyGradient.pbtxt
new file mode 100644
index 00000000000..2463e311f36
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorApplyGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceAccumulatorApplyGradient"
+  endpoint {
+    name: "train.ResourceAccumulatorApplyGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorNumAccumulated.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorNumAccumulated.pbtxt
new file mode 100644
index 00000000000..414247dc55b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorNumAccumulated.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceAccumulatorNumAccumulated"
+  endpoint {
+    name: "train.ResourceAccumulatorNumAccumulated"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorSetGlobalStep.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorSetGlobalStep.pbtxt
new file mode 100644
index 00000000000..02083395b15
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorSetGlobalStep.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceAccumulatorSetGlobalStep"
+  endpoint {
+    name: "train.ResourceAccumulatorSetGlobalStep"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorTakeGradient.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorTakeGradient.pbtxt
new file mode 100644
index 00000000000..7d7fbd9c9ba
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceAccumulatorTakeGradient.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceAccumulatorTakeGradient"
+  endpoint {
+    name: "train.ResourceAccumulatorTakeGradient"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdaMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdaMax.pbtxt
new file mode 100644
index 00000000000..cbe0abd7fd2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdaMax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAdaMax"
+  endpoint {
+    name: "train.ResourceApplyAdaMax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdadelta.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdadelta.pbtxt
new file mode 100644
index 00000000000..11ea32f0474
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdadelta.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAdadelta"
+  endpoint {
+    name: "train.ResourceApplyAdadelta"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ResourceApplyAdagrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagrad.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ResourceApplyAdagrad.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagrad.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagradDA.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagradDA.pbtxt
new file mode 100644
index 00000000000..7de1a78a3e7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagradDA.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAdagradDA"
+  endpoint {
+    name: "train.ResourceApplyAdagradDa"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagradV2.pbtxt
new file mode 100644
index 00000000000..4b2cdf69a9b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdagradV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAdagradV2"
+  endpoint {
+    name: "train.ResourceApplyAdagrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdam.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdam.pbtxt
new file mode 100644
index 00000000000..13b9b145b78
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdam.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAdam"
+  endpoint {
+    name: "train.ResourceApplyAdam"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdamWithAmsgrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdamWithAmsgrad.pbtxt
new file mode 100644
index 00000000000..3afb7a28c5c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAdamWithAmsgrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAdamWithAmsgrad"
+  endpoint {
+    name: "train.ResourceApplyAdamWithAmsgrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAddSign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAddSign.pbtxt
new file mode 100644
index 00000000000..8e57cf8d4c9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyAddSign.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyAddSign"
+  endpoint {
+    name: "train.ResourceApplyAddSign"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyCenteredRMSProp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyCenteredRMSProp.pbtxt
new file mode 100644
index 00000000000..5bc55386fb3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyCenteredRMSProp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyCenteredRMSProp"
+  endpoint {
+    name: "train.ResourceApplyCenteredRmsProp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ResourceApplyFtrl.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyFtrl.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ResourceApplyFtrl.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyFtrl.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyFtrlV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyFtrlV2.pbtxt
new file mode 100644
index 00000000000..db4e93ed80e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyFtrlV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyFtrlV2"
+  endpoint {
+    name: "train.ResourceApplyFtrl"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyGradientDescent.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyGradientDescent.pbtxt
new file mode 100644
index 00000000000..48a55a96cc1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyGradientDescent.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyGradientDescent"
+  endpoint {
+    name: "train.ResourceApplyGradientDescent"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyKerasMomentum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyKerasMomentum.pbtxt
new file mode 100644
index 00000000000..35b88fc8869
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyKerasMomentum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyKerasMomentum"
+  endpoint {
+    name: "train.ResourceApplyKerasMomentum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyMomentum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyMomentum.pbtxt
new file mode 100644
index 00000000000..ea88f416f0f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyMomentum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyMomentum"
+  endpoint {
+    name: "train.ResourceApplyMomentum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyPowerSign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyPowerSign.pbtxt
new file mode 100644
index 00000000000..c2a67f1fee3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyPowerSign.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyPowerSign"
+  endpoint {
+    name: "train.ResourceApplyPowerSign"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyProximalAdagrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyProximalAdagrad.pbtxt
new file mode 100644
index 00000000000..c022658a317
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyProximalAdagrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyProximalAdagrad"
+  endpoint {
+    name: "train.ResourceApplyProximalAdagrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyProximalGradientDescent.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyProximalGradientDescent.pbtxt
new file mode 100644
index 00000000000..a209ab6a065
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyProximalGradientDescent.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyProximalGradientDescent"
+  endpoint {
+    name: "train.ResourceApplyProximalGradientDescent"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyRMSProp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyRMSProp.pbtxt
new file mode 100644
index 00000000000..7e5a287fbdf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceApplyRMSProp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceApplyRMSProp"
+  endpoint {
+    name: "train.ResourceApplyRmsProp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceConditionalAccumulator.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceConditionalAccumulator.pbtxt
new file mode 100644
index 00000000000..9b23eb1891c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceConditionalAccumulator.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceConditionalAccumulator"
+  endpoint {
+    name: "train.ResourceConditionalAccumulator"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceCountUpTo.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceCountUpTo.pbtxt
new file mode 100644
index 00000000000..4c1309f160d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceCountUpTo.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceCountUpTo"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceGather.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceGather.pbtxt
new file mode 100644
index 00000000000..a9b829ebd04
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceGather.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceGather"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceGatherNd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceGatherNd.pbtxt
new file mode 100644
index 00000000000..ec282febc2b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceGatherNd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceGatherNd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterAdd.pbtxt
new file mode 100644
index 00000000000..33b6d9c67d6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterDiv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterDiv.pbtxt
new file mode 100644
index 00000000000..b32181fde11
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterDiv.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterDiv"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMax.pbtxt
new file mode 100644
index 00000000000..e758222d6ed
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMax.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterMax"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMin.pbtxt
new file mode 100644
index 00000000000..bce335396b4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMin.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterMin"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMul.pbtxt
new file mode 100644
index 00000000000..4740ed6669c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterMul.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterMul"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdAdd.pbtxt
new file mode 100644
index 00000000000..29e9541aac8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterNdAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdMax.pbtxt
new file mode 100644
index 00000000000..2b2382e88b7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdMax.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterNdMax"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdMin.pbtxt
new file mode 100644
index 00000000000..bad7c7741b5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdMin.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterNdMin"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdSub.pbtxt
new file mode 100644
index 00000000000..5dad023a56a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdSub.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterNdSub"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdUpdate.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdUpdate.pbtxt
new file mode 100644
index 00000000000..72d079bef41
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterNdUpdate.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterNdUpdate"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterSub.pbtxt
new file mode 100644
index 00000000000..ca9e5fa6a25
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterSub.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterSub"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterUpdate.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterUpdate.pbtxt
new file mode 100644
index 00000000000..bd850c7bcd2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceScatterUpdate.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceScatterUpdate"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdadelta.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdadelta.pbtxt
new file mode 100644
index 00000000000..7614ee61566
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdadelta.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyAdadelta"
+  endpoint {
+    name: "train.ResourceSparseApplyAdadelta"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagrad.pbtxt
new file mode 100644
index 00000000000..3acd27409f1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyAdagrad"
+  endpoint {
+    name: "train.ResourceSparseApplyAdagrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagradDA.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagradDA.pbtxt
new file mode 100644
index 00000000000..dff8e161d04
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagradDA.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyAdagradDA"
+  endpoint {
+    name: "train.ResourceSparseApplyAdagradDa"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagradV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagradV2.pbtxt
new file mode 100644
index 00000000000..f86922242c7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyAdagradV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyAdagradV2"
+  endpoint {
+    name: "train.ResourceSparseApplyAdagradV2"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyCenteredRMSProp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyCenteredRMSProp.pbtxt
new file mode 100644
index 00000000000..0f402d6bb96
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyCenteredRMSProp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyCenteredRMSProp"
+  endpoint {
+    name: "train.ResourceSparseApplyCenteredRmsProp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ResourceSparseApplyFtrl.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyFtrl.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_ResourceSparseApplyFtrl.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyFtrl.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyFtrlV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyFtrlV2.pbtxt
new file mode 100644
index 00000000000..553da2bcb6f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyFtrlV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyFtrlV2"
+  endpoint {
+    name: "train.ResourceSparseApplyFtrl"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyKerasMomentum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyKerasMomentum.pbtxt
new file mode 100644
index 00000000000..8c39775ba83
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyKerasMomentum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyKerasMomentum"
+  endpoint {
+    name: "train.ResourceSparseApplyKerasMomentum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyMomentum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyMomentum.pbtxt
new file mode 100644
index 00000000000..d165cf2f94e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyMomentum.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyMomentum"
+  endpoint {
+    name: "train.ResourceSparseApplyMomentum"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyProximalAdagrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyProximalAdagrad.pbtxt
new file mode 100644
index 00000000000..a97d3c5d608
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyProximalAdagrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyProximalAdagrad"
+  endpoint {
+    name: "train.ResourceSparseApplyProximalAdagrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyProximalGradientDescent.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyProximalGradientDescent.pbtxt
new file mode 100644
index 00000000000..69db57fbc14
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyProximalGradientDescent.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyProximalGradientDescent"
+  endpoint {
+    name: "train.ResourceSparseApplyProximalGradientDescent"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyRMSProp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyRMSProp.pbtxt
new file mode 100644
index 00000000000..3cac8411190
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceSparseApplyRMSProp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceSparseApplyRMSProp"
+  endpoint {
+    name: "train.ResourceSparseApplyRmsProp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceStridedSliceAssign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceStridedSliceAssign.pbtxt
new file mode 100644
index 00000000000..bf142658402
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ResourceStridedSliceAssign.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ResourceStridedSliceAssign"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Restore.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Restore.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Restore.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Restore.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RestoreSlice.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RestoreSlice.pbtxt
new file mode 100644
index 00000000000..d49abdc2abf
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RestoreSlice.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RestoreSlice"
+  endpoint {
+    name: "train.RestoreSlice"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RestoreV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RestoreV2.pbtxt
new file mode 100644
index 00000000000..f73221177e7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RestoreV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RestoreV2"
+  endpoint {
+    name: "train.Restore"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveAllTPUEmbeddingParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveAllTPUEmbeddingParameters.pbtxt
new file mode 100644
index 00000000000..0918a4bbd71
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveAllTPUEmbeddingParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveAllTPUEmbeddingParameters"
+  endpoint {
+    name: "tpu.RetrieveAllTPUEmbeddingParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingADAMParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingADAMParameters.pbtxt
new file mode 100644
index 00000000000..6fa45ac4709
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingADAMParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingADAMParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingADAMParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingADAMParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
index c185287ab80..19024de237a 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingADAMParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingADAMParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingADAMParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdadeltaParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdadeltaParameters.pbtxt
new file mode 100644
index 00000000000..608071b458b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdadeltaParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingAdadeltaParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingAdadeltaParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
similarity index 88%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
index 3e4226d1e29..ce7f843c0d3 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingAdadeltaParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradMomentumParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradMomentumParameters.pbtxt
new file mode 100644
index 00000000000..c086360d4fb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradMomentumParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingAdagradMomentumParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingAdagradMomentumParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradParameters.pbtxt
new file mode 100644
index 00000000000..2829ab63f30
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingAdagradParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingAdagradParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
similarity index 88%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
index 5c0d7d42f0e..08a26da1fc2 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingAdagradParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingAdagradParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingAdagradParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingCenteredRMSPropParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingCenteredRMSPropParameters.pbtxt
new file mode 100644
index 00000000000..b339631e163
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingCenteredRMSPropParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingCenteredRMSPropParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingCenteredRMSPropParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFTRLParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFTRLParameters.pbtxt
new file mode 100644
index 00000000000..de9f9931616
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFTRLParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingFTRLParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingFTRLParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
similarity index 87%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
index b5ce64d483d..57b3e0e2e28 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFTRLParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingFTRLParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingFTRLParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFrequencyEstimatorParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFrequencyEstimatorParameters.pbtxt
new file mode 100644
index 00000000000..a30b2e979d9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFrequencyEstimatorParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingFrequencyEstimatorParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingFrequencyEstimatorParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.pbtxt
new file mode 100644
index 00000000000..eff5462872f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingFrequencyEstimatorParametersGradAccumDebug"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMDLAdagradLightParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMDLAdagradLightParameters.pbtxt
new file mode 100644
index 00000000000..c4320af9050
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMDLAdagradLightParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingMDLAdagradLightParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingMDLAdagradLightParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMomentumParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMomentumParameters.pbtxt
new file mode 100644
index 00000000000..cae7612c2b2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMomentumParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingMomentumParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingMomentumParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
similarity index 88%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
index fdcd930b1c9..c3d1eea0d1d 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingMomentumParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingMomentumParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingMomentumParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalAdagradParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalAdagradParameters.pbtxt
new file mode 100644
index 00000000000..a6a7b7d8582
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalAdagradParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingProximalAdagradParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingProximalAdagradParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
similarity index 89%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
index 16b7e25975d..8f0cba646fd 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingProximalAdagradParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalYogiParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalYogiParameters.pbtxt
new file mode 100644
index 00000000000..3e516888ec3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalYogiParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingProximalYogiParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingProximalYogiParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug.pbtxt
new file mode 100644
index 00000000000..26a810e8794
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingProximalYogiParametersGradAccumDebug"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingRMSPropParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingRMSPropParameters.pbtxt
new file mode 100644
index 00000000000..03b991ee6b4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingRMSPropParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingRMSPropParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingRMSPropParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
similarity index 88%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
index 5eb9017d4d2..2a873e27fc3 100644
--- a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug.pbtxt
@@ -1,4 +1,5 @@
 op {
+  visibility: VISIBLE
   graph_op_name: "RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug"
   endpoint {
     name: "tpu.RetrieveTPUEmbeddingRMSPropParametersGradAccumDebug"
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingStochasticGradientDescentParameters.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingStochasticGradientDescentParameters.pbtxt
new file mode 100644
index 00000000000..a0377103d49
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingStochasticGradientDescentParameters.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingStochasticGradientDescentParameters"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingStochasticGradientDescentParameters"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug.pbtxt
new file mode 100644
index 00000000000..71758e43589
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug"
+  endpoint {
+    name: "tpu.RetrieveTPUEmbeddingStochasticGradientDescentParametersGradAccumDebug"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Reverse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Reverse.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Reverse.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Reverse.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReverseSequence.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReverseSequence.pbtxt
new file mode 100644
index 00000000000..f0e6bd4a1cc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReverseSequence.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReverseSequence"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ReverseV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReverseV2.pbtxt
new file mode 100644
index 00000000000..c286316354f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ReverseV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ReverseV2"
+  endpoint {
+    name: "Reverse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RewriteDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RewriteDataset.pbtxt
new file mode 100644
index 00000000000..cd73223372b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RewriteDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RewriteDataset"
+  endpoint {
+    name: "data.RewriteDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RightShift.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RightShift.pbtxt
new file mode 100644
index 00000000000..8f6889fd4d5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RightShift.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RightShift"
+  endpoint {
+    name: "bitwise.RightShift"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Rint.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rint.pbtxt
new file mode 100644
index 00000000000..0bf2aa48f28
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rint.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Rint"
+  endpoint {
+    name: "math.Rint"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscAbs.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscAbs.pbtxt
new file mode 100644
index 00000000000..16a02df71a8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscAbs.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscAbs"
+  endpoint {
+    name: "risc.RiscAbs"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscAdd.pbtxt
new file mode 100644
index 00000000000..db1cafd86b1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscAdd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscAdd"
+  endpoint {
+    name: "risc.RiscAdd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBinaryArithmetic.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBinaryArithmetic.pbtxt
new file mode 100644
index 00000000000..a6b0d3849d9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBinaryArithmetic.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscBinaryArithmetic"
+  endpoint {
+    name: "risc.RiscBinaryArithmetic"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBinaryComparison.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBinaryComparison.pbtxt
new file mode 100644
index 00000000000..b278cdb19b5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBinaryComparison.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscBinaryComparison"
+  endpoint {
+    name: "risc.RiscBinaryComparison"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBitcast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBitcast.pbtxt
new file mode 100644
index 00000000000..3576ea43316
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBitcast.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscBitcast"
+  endpoint {
+    name: "risc.RiscBitcast"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBroadcast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBroadcast.pbtxt
new file mode 100644
index 00000000000..70f651c5595
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscBroadcast.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscBroadcast"
+  endpoint {
+    name: "risc.RiscBroadcast"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCast.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCast.pbtxt
new file mode 100644
index 00000000000..03d2dddb2a7
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCast.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscCast"
+  endpoint {
+    name: "risc.RiscCast"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCeil.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCeil.pbtxt
new file mode 100644
index 00000000000..7cc1796e649
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCeil.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscCeil"
+  endpoint {
+    name: "risc.RiscCeil"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCholesky.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCholesky.pbtxt
new file mode 100644
index 00000000000..f58e0969b02
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCholesky.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscCholesky"
+  endpoint {
+    name: "risc.RiscCholesky"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscConcat.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscConcat.pbtxt
new file mode 100644
index 00000000000..e5aad1d665c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscConcat.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscConcat"
+  endpoint {
+    name: "risc.RiscConcat"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCondition.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCondition.pbtxt
new file mode 100644
index 00000000000..20b4043192e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCondition.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscCondition"
+  endpoint {
+    name: "risc.RiscCondition"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscConv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscConv.pbtxt
new file mode 100644
index 00000000000..3b85466aad8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscConv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscConv"
+  endpoint {
+    name: "risc.RiscConv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCos.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCos.pbtxt
new file mode 100644
index 00000000000..bd0bd4faa20
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscCos.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscCos"
+  endpoint {
+    name: "risc.RiscCos"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscDiv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscDiv.pbtxt
new file mode 100644
index 00000000000..62752229c2b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscDiv.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscDiv"
+  endpoint {
+    name: "risc.RiscDiv"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscDot.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscDot.pbtxt
new file mode 100644
index 00000000000..884d0093f49
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscDot.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscDot"
+  endpoint {
+    name: "risc.RiscDot"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscExp.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscExp.pbtxt
new file mode 100644
index 00000000000..a0f735e9812
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscExp.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscExp"
+  endpoint {
+    name: "risc.RiscExp"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscFft.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscFft.pbtxt
new file mode 100644
index 00000000000..7939ade66d4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscFft.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscFft"
+  endpoint {
+    name: "risc.RiscFft"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscFloor.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscFloor.pbtxt
new file mode 100644
index 00000000000..4bbf58f30be
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscFloor.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscFloor"
+  endpoint {
+    name: "risc.RiscFloor"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscGather.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscGather.pbtxt
new file mode 100644
index 00000000000..65e03eabd05
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscGather.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscGather"
+  endpoint {
+    name: "risc.RiscGather"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscImag.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscImag.pbtxt
new file mode 100644
index 00000000000..c8473b54de1
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscImag.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscImag"
+  endpoint {
+    name: "risc.RiscImag"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscIsFinite.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscIsFinite.pbtxt
new file mode 100644
index 00000000000..9155259eba0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscIsFinite.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscIsFinite"
+  endpoint {
+    name: "risc.RiscIsFinite"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLog.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLog.pbtxt
new file mode 100644
index 00000000000..c8e1afe2a75
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLog.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscLog"
+  endpoint {
+    name: "risc.RiscLog"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalAnd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalAnd.pbtxt
new file mode 100644
index 00000000000..bc2d5b1f9eb
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalAnd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscLogicalAnd"
+  endpoint {
+    name: "risc.RiscLogicalAnd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalNot.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalNot.pbtxt
new file mode 100644
index 00000000000..c4743d410b3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalNot.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscLogicalNot"
+  endpoint {
+    name: "risc.RiscLogicalNot"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalOr.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalOr.pbtxt
new file mode 100644
index 00000000000..f23f059b514
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscLogicalOr.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscLogicalOr"
+  endpoint {
+    name: "risc.RiscLogicalOr"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMax.pbtxt
new file mode 100644
index 00000000000..06d25cbc86a
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMax.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscMax"
+  endpoint {
+    name: "risc.RiscMax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMin.pbtxt
new file mode 100644
index 00000000000..309d515d6fd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMin.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscMin"
+  endpoint {
+    name: "risc.RiscMin"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMul.pbtxt
new file mode 100644
index 00000000000..51927d3a135
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscMul.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscMul"
+  endpoint {
+    name: "risc.RiscMul"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscNeg.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscNeg.pbtxt
new file mode 100644
index 00000000000..0e0dd0ea4b0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscNeg.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscNeg"
+  endpoint {
+    name: "risc.RiscNeg"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPad.pbtxt
new file mode 100644
index 00000000000..0e3d478d02b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscPad"
+  endpoint {
+    name: "risc.RiscPad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPool.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPool.pbtxt
new file mode 100644
index 00000000000..74cd28a15fd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPool.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscPool"
+  endpoint {
+    name: "risc.RiscPool"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPow.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPow.pbtxt
new file mode 100644
index 00000000000..2565bd11555
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscPow.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscPow"
+  endpoint {
+    name: "risc.RiscPow"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscRandomUniform.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscRandomUniform.pbtxt
new file mode 100644
index 00000000000..942c4bec622
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscRandomUniform.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscRandomUniform"
+  endpoint {
+    name: "risc.RiscRandomUniform"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReal.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReal.pbtxt
new file mode 100644
index 00000000000..5d24d2ad837
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReal.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscReal"
+  endpoint {
+    name: "risc.RiscReal"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReduce.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReduce.pbtxt
new file mode 100644
index 00000000000..bc9b20496e5
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReduce.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscReduce"
+  endpoint {
+    name: "risc.RiscReduce"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscRem.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscRem.pbtxt
new file mode 100644
index 00000000000..22de8c713ea
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscRem.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscRem"
+  endpoint {
+    name: "risc.RiscRem"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReshape.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReshape.pbtxt
new file mode 100644
index 00000000000..fd3bacbd2d6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReshape.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscReshape"
+  endpoint {
+    name: "risc.RiscReshape"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReverse.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReverse.pbtxt
new file mode 100644
index 00000000000..ee8e646e4b9
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscReverse.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscReverse"
+  endpoint {
+    name: "risc.RiscReverse"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscScatter.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscScatter.pbtxt
new file mode 100644
index 00000000000..dabe270375d
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscScatter.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscScatter"
+  endpoint {
+    name: "risc.RiscScatter"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscShape.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscShape.pbtxt
new file mode 100644
index 00000000000..83666efcdf6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscShape.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscShape"
+  endpoint {
+    name: "risc.RiscShape"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSign.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSign.pbtxt
new file mode 100644
index 00000000000..2cc5dfc378c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSign.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscSign"
+  endpoint {
+    name: "risc.RiscSign"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSlice.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSlice.pbtxt
new file mode 100644
index 00000000000..ecb7b991196
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSlice.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscSlice"
+  endpoint {
+    name: "risc.RiscSlice"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSort.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSort.pbtxt
new file mode 100644
index 00000000000..3361401d336
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSort.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscSort"
+  endpoint {
+    name: "risc.RiscSort"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSqueeze.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSqueeze.pbtxt
new file mode 100644
index 00000000000..5b9b50d209e
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSqueeze.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscSqueeze"
+  endpoint {
+    name: "risc.RiscSqueeze"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSub.pbtxt
new file mode 100644
index 00000000000..ea48b182d22
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscSub.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscSub"
+  endpoint {
+    name: "risc.RiscSub"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscTranspose.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscTranspose.pbtxt
new file mode 100644
index 00000000000..f2d3e739b50
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscTranspose.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscTranspose"
+  endpoint {
+    name: "risc.RiscTranspose"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscTriangularSolve.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscTriangularSolve.pbtxt
new file mode 100644
index 00000000000..70b4fbdeed4
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscTriangularSolve.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscTriangularSolve"
+  endpoint {
+    name: "risc.RiscTriangularSolve"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscUnary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscUnary.pbtxt
new file mode 100644
index 00000000000..d1d03367c05
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscUnary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscUnary"
+  endpoint {
+    name: "risc.RiscUnary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscWhile.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscWhile.pbtxt
new file mode 100644
index 00000000000..745b47cdfab
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RiscWhile.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: SKIP
+  graph_op_name: "RiscWhile"
+  endpoint {
+    name: "risc.RiscWhile"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RngReadAndSkip.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RngReadAndSkip.pbtxt
new file mode 100644
index 00000000000..8603fa95988
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RngReadAndSkip.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RngReadAndSkip"
+  endpoint {
+    name: "random.RngReadAndSkip"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RngSkip.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RngSkip.pbtxt
new file mode 100644
index 00000000000..9074f38c5da
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RngSkip.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RngSkip"
+  endpoint {
+    name: "random.RngSkip"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Roll.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Roll.pbtxt
new file mode 100644
index 00000000000..fe4eed9ab13
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Roll.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Roll"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Round.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Round.pbtxt
new file mode 100644
index 00000000000..960ffba508f
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Round.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Round"
+  endpoint {
+    name: "math.Round"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Rpc.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rpc.pbtxt
new file mode 100644
index 00000000000..528afe26709
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rpc.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Rpc"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_Rsqrt.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rsqrt.pbtxt
new file mode 100644
index 00000000000..97165e2d758
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_Rsqrt.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "Rsqrt"
+  endpoint {
+    name: "math.Rsqrt"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_RsqrtGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_RsqrtGrad.pbtxt
new file mode 100644
index 00000000000..8aa9f02b9bc
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_RsqrtGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "RsqrtGrad"
+  endpoint {
+    name: "math.RsqrtGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_SampleDistortedBoundingBox.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SampleDistortedBoundingBox.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_SampleDistortedBoundingBox.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_SampleDistortedBoundingBox.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SampleDistortedBoundingBoxV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SampleDistortedBoundingBoxV2.pbtxt
new file mode 100644
index 00000000000..0aef133b9e6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SampleDistortedBoundingBoxV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SampleDistortedBoundingBoxV2"
+  endpoint {
+    name: "image.SampleDistortedBoundingBox"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SamplingDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SamplingDataset.pbtxt
new file mode 100644
index 00000000000..6b33a96d9e8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SamplingDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "SamplingDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.SamplingDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Save.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_Save.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_Save.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_Save.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveDataset.pbtxt
new file mode 100644
index 00000000000..8c4d87ac61c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveDataset.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "SaveDataset"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveDatasetV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveDatasetV2.pbtxt
new file mode 100644
index 00000000000..a0723dc3d7b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveDatasetV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "SaveDatasetV2"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.SaveDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveSlices.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveSlices.pbtxt
new file mode 100644
index 00000000000..33af2108dd0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveSlices.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SaveSlices"
+  endpoint {
+    name: "train.SaveSlices"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveV2.pbtxt
new file mode 100644
index 00000000000..0fc943f3540
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SaveV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SaveV2"
+  endpoint {
+    name: "train.Save"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScalarSummary.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScalarSummary.pbtxt
new file mode 100644
index 00000000000..7b6f6129353
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScalarSummary.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScalarSummary"
+  endpoint {
+    name: "summary.ScalarSummary"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScaleAndTranslate.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScaleAndTranslate.pbtxt
new file mode 100644
index 00000000000..25364907a30
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScaleAndTranslate.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScaleAndTranslate"
+  endpoint {
+    name: "image.ScaleAndTranslate"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScaleAndTranslateGrad.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScaleAndTranslateGrad.pbtxt
new file mode 100644
index 00000000000..e3256e0f704
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScaleAndTranslateGrad.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScaleAndTranslateGrad"
+  endpoint {
+    name: "image.ScaleAndTranslateGrad"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScanDataset.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScanDataset.pbtxt
new file mode 100644
index 00000000000..838de863044
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScanDataset.pbtxt
@@ -0,0 +1,7 @@
+op {
+  graph_op_name: "ScanDataset"
+  visibility: VISIBLE
+  endpoint {
+    name: "data.ScanDataset"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterAdd.pbtxt
new file mode 100644
index 00000000000..74492ab813b
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterDiv.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterDiv.pbtxt
new file mode 100644
index 00000000000..97252d64db3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterDiv.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterDiv"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMax.pbtxt
new file mode 100644
index 00000000000..5217cb1f668
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMax.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterMax"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMin.pbtxt
new file mode 100644
index 00000000000..c082832265c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMin.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterMin"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMul.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMul.pbtxt
new file mode 100644
index 00000000000..4d284a527c2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterMul.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterMul"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNd.pbtxt
new file mode 100644
index 00000000000..5d5308a7444
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNd.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNd"
+  endpoint {
+    name: "ScatterNd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdAdd.pbtxt
new file mode 100644
index 00000000000..61d9acdd48c
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNdAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdMax.pbtxt
new file mode 100644
index 00000000000..617c639add6
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdMax.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNdMax"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdMin.pbtxt
new file mode 100644
index 00000000000..53d6754e0e3
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdMin.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNdMin"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdNonAliasingAdd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdNonAliasingAdd.pbtxt
new file mode 100644
index 00000000000..98baca56e19
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdNonAliasingAdd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNdNonAliasingAdd"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdSub.pbtxt
new file mode 100644
index 00000000000..867227b1507
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdSub.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNdSub"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdUpdate.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdUpdate.pbtxt
new file mode 100644
index 00000000000..2c4432c9ed0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterNdUpdate.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterNdUpdate"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterSub.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterSub.pbtxt
new file mode 100644
index 00000000000..25a2e9519fa
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterSub.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterSub"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterUpdate.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterUpdate.pbtxt
new file mode 100644
index 00000000000..cfcff646652
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_ScatterUpdate.pbtxt
@@ -0,0 +1,4 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "ScatterUpdate"
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaFprint.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaFprint.pbtxt
new file mode 100644
index 00000000000..19725ee76d2
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaFprint.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SdcaFprint"
+  endpoint {
+    name: "train.SdcaFprint"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_SdcaOptimizer.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaOptimizer.pbtxt
similarity index 100%
rename from tensorflow-core/tensorflow-core-api/src/bazel/api_def/api_def_SdcaOptimizer.pbtxt
rename to tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaOptimizer.pbtxt
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaOptimizerV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaOptimizerV2.pbtxt
new file mode 100644
index 00000000000..b67c06a7069
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaOptimizerV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SdcaOptimizerV2"
+  endpoint {
+    name: "train.SdcaOptimizer"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaShrinkL1.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaShrinkL1.pbtxt
new file mode 100644
index 00000000000..b65cd2a92c0
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SdcaShrinkL1.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SdcaShrinkL1"
+  endpoint {
+    name: "train.SdcaShrinkL1"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMax.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMax.pbtxt
new file mode 100644
index 00000000000..b3ba099ebef
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMax.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "SegmentMax"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMaxV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMaxV2.pbtxt
new file mode 100644
index 00000000000..58d1cce4a47
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMaxV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SegmentMaxV2"
+  endpoint {
+    name: "math.SegmentMax"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMean.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMean.pbtxt
new file mode 100644
index 00000000000..78a64153e26
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMean.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SegmentMean"
+  endpoint {
+    name: "math.SegmentMean"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMin.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMin.pbtxt
new file mode 100644
index 00000000000..33dafd9c445
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMin.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "SegmentMin"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMinV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMinV2.pbtxt
new file mode 100644
index 00000000000..8d3c1ea4bdd
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentMinV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SegmentMinV2"
+  endpoint {
+    name: "math.SegmentMin"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentProd.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentProd.pbtxt
new file mode 100644
index 00000000000..c813c7c1457
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentProd.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "SegmentProd"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentProdV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentProdV2.pbtxt
new file mode 100644
index 00000000000..6ed9d2bf402
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentProdV2.pbtxt
@@ -0,0 +1,7 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SegmentProdV2"
+  endpoint {
+    name: "math.SegmentProd"
+  }
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentSum.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentSum.pbtxt
new file mode 100644
index 00000000000..091d5892796
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentSum.pbtxt
@@ -0,0 +1,4 @@
+op {
+  graph_op_name: "SegmentSum"
+  visibility: SKIP
+}
diff --git a/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentSumV2.pbtxt b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentSumV2.pbtxt
new file mode 100644
index 00000000000..4478e3a5fb8
--- /dev/null
+++ b/tensorflow-core/tensorflow-core-api/src/api/api_def_SegmentSumV2.pbtxt
@@ -0,0 +1,21 @@
+op {
+  visibility: VISIBLE
+  graph_op_name: "SegmentSumV2"
+  endpoint {
+    name: "math.SegmentSum"
+  }
+  description: <