You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2022/09/02 19:58:29 UTC

[GitHub] [beam] chamikaramj opened a new pull request, #23017: Updates Java RunInference to infer Python dependencies when possible

chamikaramj opened a new pull request, #23017:
URL: https://github.com/apache/beam/pull/23017

   Also adds a method so that users can manually specify the set of dependencies if needed.
   
   This fixes #22860 
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] [**Choose reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and mention them in a comment (`R: @username`).
    - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
    - [ ] Update `CHANGES.md` with noteworthy changes.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://beam.apache.org/contribute/get-started-contributing/#make-the-reviewers-job-easier).
   
   To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
   
   GitHub Actions Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Go tests](https://github.com/apache/beam/workflows/Go%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
   
   See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] github-actions[bot] commented on pull request #23017: Updates Java RunInference to infer Python dependencies when possible

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on PR #23017:
URL: https://github.com/apache/beam/pull/23017#issuecomment-1235853096

   Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] ihji commented on a diff in pull request #23017: Updates Java RunInference to infer Python dependencies when possible

Posted by GitBox <gi...@apache.org>.
ihji commented on code in PR #23017:
URL: https://github.com/apache/beam/pull/23017#discussion_r961984242


##########
sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/transforms/RunInference.java:
##########
@@ -121,6 +124,21 @@ public RunInference<OutputT> withKwarg(String key, Object arg) {
     return new RunInference<>(modelLoader, schema, builder.build(), keyCoder, expansionService);
   }
 
+  /**
+   * Specifies any extra Pypi packages required by the RunInference model handler.
+   *
+   * <p>For model hanlders provided by Beam Python SDK, the implementation will automatically try to

Review Comment:
   handlers



##########
sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/transforms/RunInference.java:
##########
@@ -121,6 +124,21 @@ public RunInference<OutputT> withKwarg(String key, Object arg) {
     return new RunInference<>(modelLoader, schema, builder.build(), keyCoder, expansionService);
   }
 
+  /**
+   * Specifies any extra Pypi packages required by the RunInference model handler.
+   *
+   * <p>For model hanlders provided by Beam Python SDK, the implementation will automatically try to
+   * infer correct packages needed, so this may be omited.

Review Comment:
   omitted



##########
sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/transforms/RunInference.java:
##########
@@ -142,6 +160,19 @@ private RunInference(
     this.kwargs = kwargs;
     this.keyCoder = keyCoder;
     this.expansionService = expansionService;
+    this.extraPackages = new ArrayList<>();
+  }
+
+  private List<String> mayBeInferExtraPackagesFromModelHandler() {

Review Comment:
   I prefer just inferExtraPackagesFromModelHandler  (but it's your call)



##########
sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/transforms/RunInference.java:
##########
@@ -153,12 +184,17 @@ public PCollection<OutputT> expand(PCollection<?> input) {
       outputCoder = (Coder<OutputT>) KvCoder.of(keyCoder, RowCoder.of(schema));
     }
 
+    if (this.extraPackages.isEmpty()) {
+      this.extraPackages.addAll(mayBeInferExtraPackagesFromModelHandler());

Review Comment:
   Shoud we print out the info log that we're adding automatically inferred extra packages?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] chamikaramj commented on pull request #23017: Updates Java RunInference to infer Python dependencies when possible

Posted by GitBox <gi...@apache.org>.
chamikaramj commented on PR #23017:
URL: https://github.com/apache/beam/pull/23017#issuecomment-1235852460

   R: @ihji 
   
   CC: @robertwb 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [beam] chamikaramj merged pull request #23017: Updates Java RunInference to infer Python dependencies when possible

Posted by GitBox <gi...@apache.org>.
chamikaramj merged PR #23017:
URL: https://github.com/apache/beam/pull/23017


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org