class_docstr: SecureNN(server_0, server_1, server_2, prime_factory, odd_factory, **kwargs)
  
  Implementation of SecureNN from
  `Wagh et al <https://eprint.iacr.org/2018/442/>`_.
class_docstr_tok: ["SecureNN","(","server_0",",","server_1",",","server_2",",","prime_factory",",","odd_factory",",","*","*","kwargs",")","Implementation","of","SecureNN","from","`","Wagh","et","al","<","https",":","\/\/eprint.iacr.org\/2018\/442\/",">","`","_","."]
docstr: argmax(x, axis) -> PondTensor
  
  Find the index of the max value along an axis.
  
  .. code-block:: python
  
      >>> argmax([[10, 20, 30], [11, 13, 12], [15, 16, 17]], axis=0)
      [[2], [1], [2]]
  
  :See: tf.argmax
  :param PondTensor x: Input tensor.
  :param int axis: The tensor axis to reduce along.
  :rtype: PondTensor
  :returns: A new tensor with the indices of the max values along specified
    axis.
code: def argmax(self, x, axis=0):
      """
      argmax(x, axis) -> PondTensor
  
      Find the index of the max value along an axis.
  
      .. code-block:: python
  
          >>> argmax([[10, 20, 30], [11, 13, 12], [15, 16, 17]], axis=0)
          [[2], [1], [2]]
  
      :See: tf.argmax
      :param PondTensor x: Input tensor.
      :param int axis: The tensor axis to reduce along.
      :rtype: PondTensor
      :returns: A new tensor with the indices of the max values along specified
        axis.
      """
      with tf.name_scope("argmax"):
          _, argmax = self.reduce_max_with_argmax(x, axis)
          return argmax
  
imports: from __future__ import absolute_import
  import math
  import random
  import sys
  from typing import Optional
  from typing import Tuple
  import numpy
  import tensorflow
  from tf_encrypted.config import get_config
  from tf_encrypted.player import Player
  from tf_encrypted.protocol import memoize
  from tf_encrypted.protocol.pond import Pond
  from tf_encrypted.protocol.pond import PondMaskedTensor
  from tf_encrypted.protocol.pond import PondPrivateTensor
  from tf_encrypted.protocol.pond import PondPublicTensor
  from tf_encrypted.protocol.pond import PondTensor
  from tf_encrypted.protocol.pond import _type
  from tf_encrypted.protocol.protocol import nodes
  from tf_encrypted.protocol.securenn.odd_tensor import oddint64_factory
  from tf_encrypted.tensor import int64factory
  from tf_encrypted.tensor import native_factory
  from tf_encrypted.tensor.factory import AbstractFactory
  from tf_encrypted.tensor.factory import AbstractTensor
label_desc: Use image node_id 22 for calling the SecureNN obj's underlying member method code with example usage: obj.argmax(x, axis) and returns: argmax