rithwik-db commented on code in PR #41973:
URL: https://github.com/apache/spark/pull/41973#discussion_r1264194656


##########
python/pyspark/ml/torch/distributor.py:
##########
@@ -514,11 +514,26 @@ def _execute_command(
                 f"Command {cmd} failed with return code {task.returncode}. "
                 f"The {last_n_msg} included below: {task_output}"
             )
+    @staticmethod  
+    def _get_output_from_framework_wrapper(framework_wrapper: 
Optional[Callable], input_params: Dict, train_object: Union[Callable, str], 
run_pytorch_file_fn: Optional[Callable], *args, **kwargs) -> Optional[Any]:
+        if not framework_wrapper:
+            raise RuntimeError("In the _get_output_from_framework_wrapper 
function, found a framework wrapper that is none. I wonder why this is...")
+        # The object to train is a file path, so framework_wrapper is some 
run_training_on_pytorch_file function.
+        if type(train_object) is str:
+            return framework_wrapper(input_params, train_object, *args, 
**kwargs)
+        else:
+            # We are doing training with a function, will call 
run_training_on_pytorch_function
+            if not run_pytorch_file_fn:
+                run_pytorch_file_fn = 
TorchDistributor._run_training_on_pytorch_file
+            return framework_wrapper(input_params, train_object, 
run_pytorch_file_fn, *args, **kwargs)
+
+        
 
     def _run_local_training(
         self,
         framework_wrapper_fn: Callable,
         train_object: Union[Callable, str],
+        run_pytorch_file_fn: Optional[Callable],

Review Comment:
   This is just a `nit` but we want to keep the code that relates to the 
training (train_object, *args, **kwargs) away from the utils stuff like 
`framework_wrapper_fn` and `run_pytorch_file_fn` for the sake of readability.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to