code: def split_features(
      split=0.5,
      dir="/tmp",
      party1="alice",
      party2="bob",
      reduced=None,
      binary=False,
  ):
      """Splits features between Party 1 and Party 2"""
      mnist_norm, mnist_labels = _get_norm_mnist(dir, reduced, binary)
      mnist_train_norm, mnist_test_norm = mnist_norm
      mnist_train_labels, mnist_test_labels = mnist_labels
  
      num_features = mnist_train_norm.shape[1]
      split_point = int(split * num_features)
  
      party1_train = mnist_train_norm[:, :, :split_point]
      party2_train = mnist_train_norm[:, :, split_point:]
      party1_test = mnist_test_norm[:, :, :split_point]
      party2_test = mnist_test_norm[:, :, split_point:]
  
      torch.save(party1_train, os.path.join(dir, party1 + "_train.pth"))
      torch.save(party2_train, os.path.join(dir, party2 + "_train.pth"))
      torch.save(party1_test, os.path.join(dir, party1 + "_test.pth"))
      torch.save(party2_test, os.path.join(dir, party2 + "_test.pth"))
      torch.save(
          mnist_train_labels, os.path.join(dir, "train_labels.pth")
      )
      torch.save(
          mnist_test_labels, os.path.join(dir, "test_labels.pth")
      )
  
file_path: CrypTen/tutorials/mnist_utils.py
imports: import argparse
  import os
  import torch
  from torchvision import datasets, transforms
label_desc: Use image node_id 2 for calling a global function with example usage: split_features(split, dir, party1, party2, reduced, binary) without return types