前言:
前一篇博客使用numpy实现了BP神经网络,梯度求解和参数的更新都需要自己来编程实现,一不小心就会搞错。然而,每一层的实现都有一个固定的套路,激活函数也就这么几个,有没有更好的框架来实现呢?额谷歌团队开发了一个深度学习框架tensorflow,将一些繁琐的东西封装好了供我们使用。tensorflow在工业界和学术界都使用广泛,所以,我们有必要学习使用tensorflow,今天小试牛刀,用tensorflow实现BP神经网络。
编程实现:
import tensorflow as tf
import numpy as np
#加载数据,2维特征,二分类
“”“
set,txt文件的数据格式形如:
-0.017612 14.053064 0
-1.395634 4.662541 1
-0.752157 6.538620 0
-1.322371 7.152853 0
0.423363 11.054677 0
0.406704 7.067335 1
”“”
def loadData():
feature = []
lable = []
fr = open('set.txt')
lines = fr.readlines()
for line in lines:
lineArr = line.strip().split()
feature.append([lineArr[0], lineArr[1]])
lable.append([lineArr[-1]])
return np.array(feature, dtype=