original_docstring: 
          Use the trained weights of this two-layer network to predict labels for
          data points. For each data point we predict scores for each of the C
          classes, and assign each data point to the class with the highest score.
  
          Inputs:
          - X: A numpy array of shape (N, D) giving N D-dimensional data points to
            classify.
  
          Returns:
          - y_pred: A numpy array of shape (N,) giving predicted labels for each of
            the elements of X. For all i, y_pred[i] = c means that X[i] is predicted
            to have class c, where 0 <= c < C.
          
docstring: Use the trained weights of this two-layer network to predict labels for
  data points. For each data point we predict scores for each of the C
  classes, and assign each data point to the class with the highest score.
  
  A numpy array of shape (N, D) giving N D-dimensional data points to
  classify.
docstring_tokens: Use the trained weights of this two - layer network to predict labels for data points . For each data point we predict scores for each of the C classes and assign each data point to the class with the highest score . A numpy array of shape ( N D ) giving N D - dimensional data points to classify .
code: def predict(self, X, num_classes=10, output_label=False):
          """
          Use the trained weights of this two-layer network to predict labels for
          data points. For each data point we predict scores for each of the C
          classes, and assign each data point to the class with the highest score.
  
          Inputs:
          - X: A numpy array of shape (N, D) giving N D-dimensional data points to
            classify.
  
          Returns:
          - y_pred: A numpy array of shape (N,) giving predicted labels for each of
            the elements of X. For all i, y_pred[i] = c means that X[i] is predicted
            to have class c, where 0 <= c < C.
          """
          y_pred = None
  
          ###########################################################################
          # TODO: Implement this function; it should be VERY simple!                #
          ###########################################################################
          # *****START OF YOUR CODE (DO NOT DELETE/MODIFY THIS LINE)*****
  
          def f_ReLU(x): return np.maximum(0, x)  # ReLU activation function
          a1 = X.dot(self.params['W1']) + self.params['b1']
          h1 = f_ReLU(a1)
          scores = h1.dot(self.params['W2']) + self.params['b2']
  
          def f_softmax(x): return np.exp(x) /\
              np.tile(np.exp(x).sum(axis=1), (num_classes, 1)).T  # Softmax
  
          def f_sigmoid(x): return 1.0 / (1.0 + np.exp(-x))
  
          if num_classes > 1:
              # Multi-classes
              logits = f_softmax(scores)  # Softmax classifier
          else:
              logits = f_sigmoid(scores)  # Sigmoid activation output
  
          if output_label:
              y_pred = np.argmax(scores, axis=1)
          else:
              return logits
  
          # *****END OF YOUR CODE (DO NOT DELETE/MODIFY THIS LINE)*****
  
          return y_pred
code_tokens: def predict ( self , X , num_classes = 10 , output_label = False ) : y_pred = None def f_ReLU ( x ) : return np . maximum ( 0 , x ) a1 = X . dot ( self . params [ 'W1' ] ) + self . params [ 'b1' ] h1 = f_ReLU ( a1 ) scores = h1 . dot ( self . params [ 'W2' ] ) + self . params [ 'b2' ] def f_softmax ( x ) : return np . exp ( x ) / np . tile ( np . exp ( x ) . sum ( axis = 1 ) , ( num_classes , 1 ) ) . T def f_sigmoid ( x ) : return 1.0 / ( 1.0 + np . exp ( - x ) ) if num_classes > 1 : logits = f_softmax ( scores ) else : logits = f_sigmoid ( scores ) if output_label : y_pred = np . argmax ( scores , axis = 1 ) else : return logits return y_pred
short_docstring: Use the trained weights of this two-layer network to predict labels for
  data points.
short_docstring_tokens: Use the trained weights of this two - layer network to predict labels for data points .
comment: """
          Use the trained weights of this two-layer network to predict labels for
          data points. For each data point we predict scores for each of the C
          classes, and assign each data point to the class with the highest score.
  
          Inputs:
          - X: A numpy array of shape (N, D) giving N D-dimensional data points to
            classify.
  
          Returns:
          - y_pred: A numpy array of shape (N,) giving predicted labels for each of
            the elements of X. For all i, y_pred[i] = c means that X[i] is predicted
            to have class c, where 0 <= c < C.
          """$SEP$###########################################################################$SEP$# TODO: Implement this function; it should be VERY simple!                #$SEP$###########################################################################$SEP$# *****START OF YOUR CODE (DO NOT DELETE/MODIFY THIS LINE)*****$SEP$# ReLU activation function$SEP$# Softmax$SEP$# Multi-classes$SEP$# Softmax classifier$SEP$# Sigmoid activation output$SEP$# *****END OF YOUR CODE (DO NOT DELETE/MODIFY THIS LINE)*****