Tensorflow实现一个简单的二分类问题
2017-06-23 21:53
423 查看
说好的每天一更··结果只坚持了一天···笑
从头开始学习
张量是Tensorflow的数据模型,其中输入和输出都应该是张量···张量是什么意思呢···好像不太清楚样,但是没关系····张量本身并没有存储任何数据,它只是对运算结果的引用。
有个Tensorflow游乐场可以帮助大家更好的理解神经网络
http://playground.tensorflow.org
从头开始学习
import tensorflow as tf #这里通过numpy工具包来生成模拟数据集 from numpy.random import RandomState #定义训练数据batch的大小 batch_size = 8 #定义神经网络参数 w1 = tf.Variable(tf.random_normal([2,3],stddev = 1,seed = 1)) w2 = tf.Variable(tf.random_normal([3,1],stddev = 1,seed = 1)) #在训练时需要把数据分成较小的batch 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 = -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] 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) #通过选取的样本训练神经网络并更新参数 sess.run(train_step,feed_dict={x:X[start:end],y_:Y[start:end]}) if i %1000 == 0: total_cross_entropy = sess.run(cross_entropy,feed_dict={x:X,y_:Y}) print('after %d trainning step(s),cross entrop on all data is %g' %(i,total_cross_entropy)) print (sess.run(w1)) print (sess.run(w2))
张量是Tensorflow的数据模型,其中输入和输出都应该是张量···张量是什么意思呢···好像不太清楚样,但是没关系····张量本身并没有存储任何数据,它只是对运算结果的引用。
有个Tensorflow游乐场可以帮助大家更好的理解神经网络
http://playground.tensorflow.org
相关文章推荐
- Keras基于TensorFlow实现的简单分类问题
- 利用tensorflow实现一个简单的二分类
- 使用tensorflow实现简单的多分类问题
- 利用tensorflow 一步一步实现一个简单神经网络,线性回归
- 今天的问题:一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
- 问题:关于贴友一个用js传递value默认值的简单实现
- 实现了一个简单的聊天软件,但是有个BUG,一直没有想通问题出在哪里。
- 一个简单问题的遗传算法的实现
- 火车运煤问题 - 增加一个简单算法实现
- Tensorflow 实现MINIST数据集多分类问题
- TensorFlow入门(二)简单前馈网络实现 mnist 分类
- Keras实现一个简单的CNN的分类例子
- 一个简单的Java对象池实现——可用来解决SimpleDateFormat的线程安全问题
- SVM实现一个三类分类问题
- TensorFlow实现一个简单的线性回归预测
- CNN模型和RNN模型在分类问题中的应用(Tensorflow实现)
- Qt5.4.2实现一个简单的浏览器 及相关问题的解决
- 问题:关于贴友的一个书本页面简单布局(html+css)的实现
- SVM实现多分类的程序基础工作(二)——通过一个简单libsvm例子迈入libsvm学习的大门
- 实现简单的MVC模式,通过一个小例子,不是很完美,但是可以说明一部分的问题