bpnn.py