neural networks and deep learning learnnn py -(continued class relu_layer(layer)"""rectified linear unit (reluf(zmax( zthe number of outputs is equal to the number of inputs ""def __init__(selfnn)layer __init__(selfnn def output_values(selfinput_valuestraining=false)"""returns the outputs for the input values it remembers the input values for the backprop ""self input_values input_values self outputs[max( ,inpfor inp in input_valuesreturn self outputs def backprop(self,errors)"""returns the derivative of the errors""return [ if inp> else for ,inp in zip(errorsself input_values)one of the old standards for the activation function for hidden layers is the sigmoid it is included here to experiment with learnnn py -(continued class sigmoid_layer(layer)"""sigmoids of the inputs the number of outputs is equal to the number of inputs each output is the sigmoid of its corresponding input ""def __init__(selfnn)layer __init__(selfnn def output_values(selfinput_valuestraining=false)"""returns the outputs for the input values it remembers the output values for the backprop ""self outputs[sigmoid(inpfor inp in input_valuesreturn self outputs def backprop(self,errors)"""returns the derivative of the errors""return [ *out*( -outfor ,out in zip(errorsself outputs) feedforward networks learnnn py -(continued class nn(learner)version june