利用tensorflow实现一个简单的二分类
2017-06-20 10:41
351 查看
直接上代码,在实践中学习
#coding:utf-8 import tensorflow as tf from numpy.random import RandomState batch_size = 8 w1 = tf.Variable(tf.random_normal([2,3],stddev=1.0,seed=1)) w2 = tf.Variable(tf.random_normal([3,1],stddev=1.0,seed=1)) x = tf.placeholder(tf.float32,shape=(None,2),name="x-input") y_ = tf.placeholder(tf.float32,shape=(None,1),name="y-input") #定义神经网络前向传播 a = tf.matmul(x,w1) y = tf.matmul(a,w2) #定义损失函数,这里使用交叉熵 #cross_entropy = -1*tf.reduce_mean(tf.reduce_sum(y_*tf.log(y),axis=[1])) cross_entropy = -1*tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0))) #定义求解算法 train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy) #生成数据集与标签 rdm = RandomState(1) dataset_size = 128 X = rdm.rand(dataset_size,2) Y = [[int(x1+x2<1)] for (x1,x2) in X]#这里是LIST,和X不同,X是array #创建一个Session()来运行程序 with tf.Session() as sess: init_op = tf.global_variables_initializer() sess.run(init_op) print sess.run(w1) print sess.run(w2) #设定训练的轮数 STEPS = 5000 for i in range(STEPS): start = (i*batch_size) % dataset_size end = min(start+batch_size,dataset_size) feed_dict1 = {x:X[start:end],y_:Y[start:end]} sess.run(train_step,feed_dict=feed_dict1) feed_dict2 = {x:X,y_:Y} if i % 100 ==0: total_cross_entropy = sess.run(cross_entropy,feed_dict=feed_dict2) print "step ",i," ","loss is ",total_cross_entropy
相关文章推荐
- 利用tensorflow 一步一步实现一个简单神经网络,线性回归
- Tensorflow实现一个简单的二分类问题
- 利用Compass实现一个简单的搜索引擎
- 利用page rank,hits算法实现的一个简单的文本摘要系统
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用Compass实现一个简单的搜索引擎
- 利用MailMessage,实现一个简单的mail 发送
- 利用Compass实现一个简单的搜索引擎
- 利用JAVA的动态属性之反射原理实现一个简单AOP容器 - AOP的实现原理分析
- 利用Bing翻译API简单的实现一个翻译工具
- 利用xmlHttp实现一个简单的Ajax无刷新
- 利用Compass实现一个简单的搜索引擎
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用SVM实现一个三类分类问题
- 利用java实现一个简单的远程监控程序
- 利用org.apache.commons.net.ftp包实现一个简单的ftp客户端实用类
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 利用JPanel类 JFrame JButton 以及布局管理类实现的一个简单布局界面
- 利用linux下的c语言编程来简单的实现一个shell功能实现!