


import warnings


warnings.warn(
    '''memory_utils has been reorganized to utils.memory. Import `find_executable_batchsize` from the main `__init__`: '''
    '''`from accelerate import find_executable_batch_size` to avoid this warning.''',
    FutureWarning,
)







"""simple docstring"""







import math
import random




def    UpperCAmelCase__       (lowerCAmelCase_  ,						lowerCAmelCase_ = False   ):




					'''simple docstring'''


					if deriv:
										return value * (1 - value)
					return 1 / (1 + math.exp(-value   ))


# Initial Value
a__				:							Tuple						=     0.02




def    UpperCAmelCase__       (lowerCAmelCase_  ,						lowerCAmelCase_   ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE						   =				float(2 * (random.randint(1  ,						100   )) - 1   )

					for _ in range(lowerCAmelCase_   ):
										# Forward propagation
										__SCREAMING_SNAKE_CASE						   =				sigmoid_function(INITIAL_VALUE * weight   )
										# How much did we miss?
										__SCREAMING_SNAKE_CASE						   =				(expected / 100) - layer_a
										# Error delta
										__SCREAMING_SNAKE_CASE						   =				layer_1_error * sigmoid_function(lowerCAmelCase_  ,						lowerCAmelCase_   )
										# Update weight
										weight += INITIAL_VALUE * layer_1_delta

					return layer_a * 100


if __name__ == "__main__":
		import doctest

		doctest.testmod()

		a__				:							List[str]						=     int(input('''Expected value: '''))
		a__				:							str						=     int(input('''Number of propagations: '''))
		print(forward_propagation(expected, number_propagations))
