tensorflow
pyStar_公众号
做技术,要胆大心细
展开
-
初识TensorFlow
TensorFlow 一词是Google工程师臆造的一个词,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow是张量从图的一端流到另一端的计算过程TensorFlow的运行机制属于'定义'与'运行'相分离,操作层面上讲抽象成两种:模型构建、模型运行构建模型中的概念:张量 tensor数据,即某一类型的多维数组变量 Variable 常用于定义模型中的...原创 2018-07-03 16:17:58 · 166 阅读 · 0 评论 -
tensorflow中的梯度下降函数
tensorflow中的梯度下降函数如下: 在训练过程中先实例化一个优化函数如tf.train.GradientDescentOptimizer,并基于一定的学习率进行梯度优化训练。 optimizer = tf.train.GradientDescentOptimizer(learning_rate) 接着使用一个minimize...原创 2018-07-06 14:16:18 · 1133 阅读 · 0 评论 -
tensorflow中常见的loss函数
损失函数(loss/cost)用于描述模型预测值与真实值的差距大小. 一般常见的有两种算法----均值平方差(MSE) 和 交叉熵。 参考:https://blog.csdn.net/qq_42413820/article/details/809360921)均值平方差 在tensorflow中没有独立的MSE函数,不过可以自己组合: MSE = ...原创 2018-07-06 13:47:22 · 15038 阅读 · 0 评论 -
softmax
softmax基本上可以算作是分类任务的标配。那么什么是softmax呢? 对于一些激活函数,例如:sigmoid,tanh,relu等,其输出值只有两种(0、1,-1、1,或0、x),他们对于解决二分类问题比较不错。那么对于多分类的问题怎么解决方便呢?这时就需要使用 softmax。 softmax看到名字差不多就能猜出它是选取输出结果中的最大值进行分类的,输出值所代表的意义就...原创 2018-07-06 13:22:06 · 1783 阅读 · 0 评论 -
用tensorflow扩充数据集
在cifar10_input.py有个功能很强大的数据-----distorted_inputs。它可以对train数据进行变形处理,起到数据增广的作用,在数据集比较小,数据量远远不够的情况下,可以对图片进行翻转、随机剪裁等操作以增加数据,制造出更加多的样本,提高度图片的利用率。核心功能代码在cifar10_input.py文件的 169~183 行:# Image processin...原创 2018-07-12 15:44:26 · 3768 阅读 · 1 评论 -
tensorflow中gradients基本用法
import tensorflow as tf"""在反向传播过程中,神经网络需要对 loss 对应的学习参数求偏导(也叫梯度),该值用来乘以学习率然后更新学习参数使用的。它是通过 tf.gradients 函数来实现的 """weight = tf.Variable([[1, 2]])y = tf.matmul(weight, [[9], [10]])"""第一个参数:求导公式...原创 2018-07-12 14:37:19 · 2090 阅读 · 0 评论 -
识别手写数字
识别手写数字的数据集是mnist。以下内容复制粘贴在py文件中,可以直接运行。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport pylab'''自动下载 mnist 数据集并解压到 mnist_data 目录下如果程序下载慢,就上网把数据集下载下来,放到 mnist_dat...原创 2018-07-04 13:08:52 · 370 阅读 · 0 评论 -
分布式TensorFlow
在大型的数据集上进行神经网络训练,往往需要更大的运算资源, 而且需要耗费的时间也是很久的。因此TensorFlow提供了一个可以分布式部署的模式,将一个训练任务拆成若干个小任务,分配到不同的计算机来完成协同运算,这样可以节省大量的时间。我们先看一下简单情况下的训练模式:1)单CPU单GPU 这种情况就是最简单的,对于这种情况,可以把参数和计算都定义再gpu上,不过如果参数模...原创 2018-07-04 09:35:17 · 311 阅读 · 0 评论 -
tensorflow指定GPU运算
如果机器上有多于1个的GPU,默认除第一个之外其他的是不工作的,但是可以使用 with ... decice 语句指派特定的CPU或者GPU执行操作。with tf.Session() as sess: with tf.device('/gpu:1'): a = tf.placeholder(tf.float32) b = tf.placehol...原创 2018-07-03 20:38:48 · 10652 阅读 · 3 评论 -
tensorflow图的基本操作
TensorFlow 会默认建立一个图, 还可以手动建立图图的三个基本操作:tf.Graph() # 建立图tf.get_default_graph() # 获取图tf.reset_default_graph() # 重置图下面是一个简单的例子:import tensorflow as tf # 默认图中的常量default_const = tf.constant(1.)# 新建一个图new...原创 2018-07-03 20:25:28 · 749 阅读 · 0 评论 -
TensorFlow共享变量
定义变量的两种方式:tf.Variable()tf.get_Variable()import tensorflow as tfvar1 = tf.Variable(1., name='first_var')print('I am var1: ', var1.name)var1 = tf.Variable(2., name='first_var')print('I am var1 too: ...原创 2018-07-03 20:15:41 · 188 阅读 · 0 评论 -
TensorBoard可视化
TensorBoard是TensorFlow提供的一个可视化工具,他可以将训练过程中的各种数据展示出来。 在复杂的问题中,网络往往都是很复杂的。为了方便调试参数以及调整网络结构,我们需要将计算图可视化出来,以便能够更好的进行下一步的决策。 TensorBoard不会把代码展示出来,他只是一个日志展示系统,需要在session中运算图时,将各种数据类型的数据会中并...原创 2018-07-03 19:41:23 · 239 阅读 · 0 评论 -
tensorflow保存及载入模型、添加检查点
在训练完模型之后,就要把模型保存起来,方便以后使用。保存模型 save():saver = tf.train.Saver()with tf.Session() as sess: sess.run(...) saver.save(sess, savePath/fileName)载入模型 restore() :saver = tf.train.Saver()with tf.Sess...原创 2018-07-03 18:56:00 · 865 阅读 · 0 评论 -
TensorFlow基本类型及操作函数
TensorFlow 中使用 tensor 来代表所有数据,操作间的数据传递也是tensortensor 可以看做是一个 n维的数组或列表,每个tensor都包含 类型(type), 阶(rank), 形状(shape)1)类型 tensor类型 Python类型 描述DT_FLOAT tf.float32 32位浮点数DT_DOUBLE ...原创 2018-07-03 18:37:38 · 2443 阅读 · 0 评论 -
过拟合、欠拟合
过拟合(over-fitting): 其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测 试数据集中表现不佳。举个例子:假设有一个看照片识别物种的模型,训练时,你把你的大量照片输入进去进行训练。然后测试时,当输入你的照片,无论什么姿势什么造型,模型都能准确识别,咦,这是个人。当你把好朋友的照片输进去,满心等待输出人时,结果很意外,输出的不是个人。这种情况...原创 2018-07-06 15:09:33 · 702 阅读 · 0 评论