![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TensorFlow
TiRan_Yang
这个作者很懒,什么都没留下…
展开
-
TensorFlow:top_k()和区别in_top_k()
从字面上可以大致了解这两个函数的自用,但具体的作用,还需要查看源码,及编程实现,这样掌握和了解的比较透彻。in_top_k(predictions, targets, k, name=None):r"""Says whether the targets are in the top `K` predictions. 首先说作用:返回一个布尔向量,说明目标值是否存在于预测值之中。原创 2017-06-16 20:06:53 · 3956 阅读 · 0 评论 -
TensorFolw学习笔记-TFRecord
关于 tensorflow 读取数据, 官网提供了3中方法 1 Feeding: 在tensorflow程序运行的每一步, 用python代码在线提供数据。 2 Reader : 在一个计算图(tf.graph)的开始前,将文件读入到流(queue)中。 3 在声明tf.variable变量或numpy数组时保存数据。受限于内存大小,适用于数据较小的情况。 我们在刚学习Ten原创 2017-12-04 17:37:56 · 2995 阅读 · 0 评论 -
Tensorflow学习比较-多线程
Tensorflow通过tf.train.Coordinator和tf.train.QueueRunner来完成。tf.train.Coordinator的功能为协同管理多线程的功能,例如一起工作,一起停止。Coordinator提供了三个函数:should_stop、request_step、join。tf.train.QueueRunner注意用于启动多个线程来操作同一个队列,而线程的启动还是依原创 2017-12-21 17:13:22 · 1433 阅读 · 0 评论 -
Tensorflow学习笔记-输入数据处理框架
输入数据处理框架 # 创建文件列表,并通过文件列表来创建文件队列。在调用输入数据处理流程前,需要统一 # 所有的原始数据格式,并将它们存储到TFRecord文件中 # match_filenames_once 获取符合正则表达式的所有文件 files = tf.train.match_filenames_once('path/to/file-*-*') #原创 2017-12-05 10:06:50 · 1502 阅读 · 1 评论 -
TensorFlow学习笔记-图像预处理
任何神经网络在开始训练数据时,都需要数据增强。什么是数据增强呢?我们首先看一个例子,假如我们的训练集有10万图片,如果直接使用这10张图片进行训练,是不是感觉训练集有点小。在假如,训练神经网络的目的是要正确识别猫,而此时呢?你的训练集中含有猫头的图片都是朝着左侧倾斜,那么当你训练好模型之后,你的模型不能准确识别猫头朝着右侧倾斜的图片,因为它没有被训练。而假如你在训练输入时,将训练集合中的所有图片进行原创 2017-12-05 09:46:12 · 6616 阅读 · 1 评论 -
TensorFlow学习笔记-ExponentialMovingAverage
TensorFlow学习笔记-ExponentialMovingAverage 作用:使用随机梯度下降算法训练神经网络时,使用滑动平均模型在很多应用中都可以在一定程度上提高最终模型在测试数据上的表现。tensorflow提供的滑动平均模型的接口为:tf.train.ExponentialMovingAverage。 函数的定义如下:def __init__(self, decay, num_原创 2017-11-27 18:48:50 · 1200 阅读 · 2 评论 -
TensorFlow学习笔记-组合训练数据
Tensorflow数据预处理操作:http://blog.csdn.net/lovelyaiq/article/details/78716325 Tensorflow读出TFRecord中的数据,然后在经过预处理操作,此时需要注意:数据还是单个,而网络的输入一般以Batch为单位,因此我们需要将单个的数据组合成一个Batch,做为神经网络的输入。 Tensorflow提供组合训练数据原创 2017-12-06 09:35:57 · 3833 阅读 · 0 评论 -
深度学习--Inception-ResNet-v1网络结构
Inception V4的网络结构如下: 从图中可以看出,输入部分与V1到V3的输入部分有较大的差别,这样设计的目的为了:使用并行结构、不对称卷积核结构,可以在保证信息损失足够小的情况下,降低计算量。结构中1*1的卷积核也用来降维,并且也增加了非线性。 Inception-ResNet-v2与Inception-ResNet-v1的结构类似,除了stem部分。Ince...原创 2018-01-10 17:15:08 · 29138 阅读 · 5 评论 -
深度学习---激活函数
在说常用的激活函数之前,先看一下生物神经元与人工神经元之间的激活函数的区别。 在生物神经元中,激活函数的作用为:是否相应上一个神经元,如果响应比较大,则激活下一个神经元,往下以此传递。而人工神经元中的激活函数,又成为“非线性映射函数”,它并不是去激活什么东西,而是增加神经网络的非线性因素,提升神经网络的表达能力。下面介绍常见的几种激活函数:sigmoid、tanh、relu等。 ...原创 2018-02-23 14:47:01 · 512 阅读 · 0 评论 -
Tensorflow学习笔记-通过slim读取TFRecord文件
TFRecord文件格式的介绍:http://blog.csdn.net/lovelyaiq/article/details/78711944 由于slim是tensorflow的高级API,使用起来比较方便,例如在卷积或全连接层的书写时,可以大大减少代码量。使用slim读取TFRecord文件与tensorflow直接读取还是有很大的却别。 本文就以slim中的例子的flower...原创 2018-03-13 17:47:09 · 9202 阅读 · 12 评论 -
Tensorflow学习笔记-过度拟合问题
Tensorflow学习笔记-过度拟合问题 神经网络在训练是,并不是希望模型尽量模拟训练的数据,而是希望模型对未来的数据具有准确的判断。因此,模型在训练数据上的表现并不代表对未来数据的表现。如果模型可以完全记住训练数据而使得损失函数为0,这就是引起过度拟合的问题。 过度拟合训练数据中的随机噪声,虽然可以得到非常小的损失函数,但对未知数据很难做出判断。 训练处理的模型一般变现出三种原创 2017-11-23 22:02:53 · 1949 阅读 · 0 评论 -
Tensorflow学习笔记-softmax、cross_entroy
Tensorflow学习笔记-softmax_cross_entropy_with_logits 神经网络模型的效果和优化的目标都是通过损失函数(loss function)来定义的。但是在分类问题中,如果评价输出结果的准确性呢?常用的方法是使用交差熵(cross entropy),它刻画了两个概率分布之间的距离,它是分类问题中使用比较广的损失函数。 H(y,y′)=−∑xy(x)∗lo原创 2017-11-23 17:00:29 · 3536 阅读 · 0 评论 -
深度学习-迁移学习
今天简单看了迁移学习,感觉还是挺牛逼的。可以在短时间内将在其它数据集中已经训练好的模型快速转移到另一个数据集上。当然,如果你的数据集比较庞大,还是自己训练好的。 例如,将在ImageNet上训练好的Inception-V3模型转移到另外一个图像分类数据集上,并取得较高的准确率。 在了解迁移学习前,需要了解什么是瓶颈层。它是从神经网络的输入开始算起,一直到神经网络的最后一层的前向传播称为瓶原创 2017-12-01 19:58:35 · 10066 阅读 · 4 评论 -
Tensorflow学习笔记-SLIM
: 使用 from tensorflow.contrib import slim,可以加速程序的开发,但需要了解其中一些函数的使用方法.1 arg_scope作用可以为函数加入默认的参数.函数定义:def arg_scope(list_ops_or_scope, **kwargs): list_ops_or_scope:参数可以以列表,元组或字典的形式给出,如果以字典的形式给出,则需要在字典中原创 2017-11-29 15:45:45 · 1228 阅读 · 0 评论 -
Tensorflow学习笔记-模型保存与加载
使用Tensorflow训练好模型之后,我们需要将训练好的模型保存起来,方便以后的使用,这就是Tensorflow模型的持久化。保存v1 = tf.Variable(tf.constant(1,shape = [1]),name='v1')v2 = tf.Variable(tf.constant(2,shape = [1]),name='v2')result = v1 + v2saver =原创 2017-11-27 16:51:11 · 7697 阅读 · 0 评论 -
Openv和Tensorflow中的image相互转换
opencv读取image直接通过cv2.imread. 获取的图片格式为BGR(三通道图像),是已经编码过的图像。 Tensorflow通过tf.gfile.FastGFile(filename,’rb’).read()读取的图像,是图像的原始数据,还需要经过解码,才能获取图像的数据,数据的格式为RGB(三通道图像),这一点是与Opencv不同。Tensorflow提供了对jpeg和p...原创 2017-12-01 19:05:37 · 7477 阅读 · 0 评论 -
Tensorflow学习笔记-变量管理
Tensorflow学习笔记-变量管理 当一个神经网络比较复杂、参数比较多时,就比较需要一个比较好的方式来传递和管理这些参数。而Tensorflow提供了通过变量名称来创建或者获取变量的机制。通过这个机制,可以在不同的函数中直接通过变量的名称来使用变量,而不需要将变量通过参数进行传递。 关于变量管理使用,请参考LeNet5模型的实现:http://blog.csdn.net/lovel...原创 2017-11-27 14:11:10 · 495 阅读 · 0 评论 -
TensorFlow学习笔记-实现经典LeNet5模型
LeNet5模型是Yann LeCun教授于1998年提出来的,它是第一个成功应用于数字识别问题的卷积神经网络。在MNIST数据中,它的准确率达到大约99.2%. 通过TensorFlow实现的LeNet5模型,主要用到在说使用变量管理,可以增加代码可读性、降低代码冗余量,提高编程效率,更方便管理变量。我们将LeNet5模型分为三部分: 1、网络定义部分:这部分是训练和验证都需要的网络结原创 2017-12-01 14:24:50 · 5308 阅读 · 2 评论 -
Opencv调用深度学习模型
OpenCv 从V3.3版本开始支持调用深度学习模型,例如Caffe, Tensorflow, darknet等.详细见下图,具体的使用方法,可以参考官网: https://docs.opencv.org/3.4.1/d6/d0f/group__dnn.html 目前Opencv可以支持的网络有GoogLeNet, ResNet-50,MobileNet-SSD from Caff...原创 2018-04-13 15:19:54 · 13420 阅读 · 2 评论