![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Deep learning
文章平均质量分 57
终结大笨狗
这个作者很懒,什么都没留下…
展开
-
将图像转为TFRecord文件并读取TFRecord文件
1 TFRecord格式介绍 对于大量的图像数据,TensorFlow提供了一种统一的格式来存储数据——TFRecord。TFRecord文件是以二进制进行存储数据的,适合以串行的方式读取大批量数据,虽然它的内部格式复杂,但是它可以很好地利用内存,方便地复制和移动,更符合TensorFlow执行引擎的方式。 TFReocrd文件中的数据都是通过tf.train.Example Protocol转载 2017-10-12 15:41:36 · 900 阅读 · 0 评论 -
生成对抗神经网络
对抗生成网络,其实就像周伯通,左手打右手,不用陪练,自己就能练成绝世武功! 先说一个对我学习有很大帮助的故事: 刚参加工作时,顶头上级是跟我年纪相仿的年轻人,据说家里有点关系。 有一天交给我一个任务,让我写个部门工作总结,我这刚参加工作,哪会写这个啊?他说没关系,写完给他看,他帮我。 ...转载 2018-04-23 15:12:33 · 3086 阅读 · 0 评论 -
TensorFlow上实现AutoEncoder自编码器
TensorFlow上实现AutoEncoder自编码器一、概述AutoEncoder大致是一个将数据的高维特征进行压缩降维编码,再经过相反的解码过程的一种学习方法。学习过程中通过解码得到的最终结果与原数据进行比较,通过修正权重偏置参数降低损失函数,不断提高对原数据的复原能力。学习完成后,前半段的编码过程得到结果即可代表原数据的低维“特征值”。通过学习得到的自编码器模型可以实现将高维数据压...转载 2018-04-21 19:49:04 · 920 阅读 · 0 评论 -
tensorflow 生成.pb文件,加载.pb文件---迁移学习
这篇薄荷主要是讲了如何用tensorflow去训练好一个模型,然后生成相应的pb文件。最后会将如何重新加载这个pb文件。train 首先说一下train。一开始当然是读图片啦。用io.imread来读取每一张图片,然后resize成vgg的输入的大小(224,224,3),最后分别放入了data和label中。def read_img(path): cate = [pa...转载 2018-04-21 22:05:14 · 7030 阅读 · 0 评论 -
tensoeflow 冻结网络模型
冻结模型文件本文基于mnist与lenet,讲述如下两个问题:1.如何将训练好的网络模型冻结,形成net.pb文件?2.如何将net.pb文件部署到TensorFlow中做inference?pb文件保存的步骤 1.需要给input与最终的预测值取个名字,便于部署时输入数据并输出数据 2.利用graph_util.convert_variables_to_constants将网络中模型参数变量转转载 2018-04-21 22:30:20 · 1041 阅读 · 0 评论 -
TensorFlow 保存模型为 PB 文件
通常我们使用 TensorFlow时保存模型都使用 ckpt 格式的模型文件,使用类似的语句来保存模型tf.train.Saver().save(sess,ckpt_file_path,max_to_keep=4,keep_checkpoint_every_n_hours=2) 使用如下语句来恢复所有变量信息saver.restore(sess,tf.train.latest_checkpoint(转载 2018-04-21 23:10:32 · 4444 阅读 · 3 评论 -
TensorFlow中的optimizer
TensorFlow中的optimizer中包含了好几种方式(类),但是每一种方式都包含一下方法: 1. compute_gradients();2.apply_gradients();3.minimize();TensorFlow中的优化函数:SGD 所谓的随机梯度下降,就是指,由于取的样本是一批一批的,因此,每批数据之间有可能会导致参数的梯度更新方向不一致,因此叫随机梯度下降优点:在初期解决了...转载 2018-05-18 16:10:48 · 1547 阅读 · 0 评论 -
循环神经网络--LSTM(长短时记忆网络)
循环神经网路基本的循环神经网络下图是一个简单的循环神经网络,它由输入层、隐藏层和一个输出层组成。 其中,x 是输入层的值,U是输入层到隐藏层的权重,s是隐藏层的输出的值,V是隐藏层到输出层的权重,o是输出,环神经网络的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。权重矩阵 W就是隐藏层上一次的值作为这一次的输入的权重。如果将上图展开,就如下图所示: ...转载 2018-04-28 14:01:24 · 6951 阅读 · 0 评论 -
TensorFlow变量共享和数据读取
1、变量共享 前面已经说过如何进行变量的生成和初始化内容,也用到了命名空间的概念,这里说一下什么是变量共享。当我们有一个非常庞大的模型的时候免不了需要进行大量的变量共享,而且有时候还希望能够在一个地方初始化所有的变量,这就需要tf.variable_scope() 和 tf.get_variable()。 当只有两层的卷积的时候,前面的程序都是定义了两个卷积变量W1和W2(忽略b),而且简单...转载 2018-05-22 09:05:25 · 347 阅读 · 0 评论 -
tensorflow种的梯度计算与梯度应用
gradienttensorflow中有一个计算梯度的函数tf.gradients(ys, xs),要注意的是,xs中的x必须要与ys相关,不相关的话,会报错。 代码中定义了两个变量w1, w2, 但res只与w1相关#wrongimport tensorflow as tfw1 = tf.Variable([[1,2]])w2 = tf.Variable([[3,4]])res = ...转载 2018-05-26 23:04:58 · 2101 阅读 · 0 评论 -
卷积神经网络物体检测---边框回归(Bounding Box Regression)详解
Bounding-Box regression最近一直看检测有关的Paper, 从rcnn, fast rcnn, faster rcnn, yolo, r-fcn, ssd,到今年cvpr最新的yolo9000。这些paper中损失函数都包含了边框回归,除了rcnn详细介绍了,其他的paper都是一笔带过,或者直接引用rcnn就把损失函数写出来了。前三条网上解释比较多,后面的两条我看了很多pap...转载 2018-06-01 13:56:06 · 13448 阅读 · 2 评论 -
卷积神经网络物体检测---空间金字塔池化的
一、相关理论 本篇博文主要讲解大神何凯明2014年的paper:《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》,这篇paper主要的创新点在于提出了空间金字塔池化。paper主页:http://research.microsoft.com/en-us/um/people/kahe/e...转载 2018-06-01 14:59:53 · 1476 阅读 · 0 评论 -
函数:tf.assign()、tf.assign_add()、tf.identity()、tf.control_dependencies()
函数原型:tf.assign(ref, value, validate_shape=None, use_locking=None, name=None) Defined in tensorflow/python/ops/state_ops.py. 将 value 赋值给 ref,并输出 ref,即 ref = value; 这使得需要使用复位值的连续操作变简单 Defi...转载 2018-08-06 13:42:11 · 623 阅读 · 0 评论 -
人体骨骼关键点检测
**人体骨骼关键点检测 **coco数据集获取coco数据集的读取openpose 网络的分析hotmap、vecmap 的生成(相当于分类中的label)原创 2018-12-04 10:21:26 · 4432 阅读 · 0 评论 -
TensorFlow Serving 尝尝鲜
tensorflow保存模型有很多的方式,究竟每一种方式适合干什么呢? 我大致的一个理解是: ckpt模型适合的是tf_serving部署 .pb文件是轻量级的,适合手机端的移植,其中,tf.saved_model.builder.SavedModelBuilder的保存的.pb文件不知道是否已经将变量转换为了常量???可留言解释,谢谢。一点不了解tf_serving部署,所以转载 2018-04-21 23:42:07 · 356 阅读 · 0 评论 -
TensorFlow 模型保存/载入
TensorFlow 模型保存/载入我们在上线使用一个算法模型的时候,首先必须将已经训练好的模型保存下来。tensorflow保存模型的方式与sklearn不太一样,sklearn很直接,一个sklearn.externals.joblib的dump与load方法就可以保存与载入使用。而tensorflow由于有graph, operation 这些概念,保存与载入模型稍显麻烦。一、基本方法网上搜索转载 2018-04-14 23:08:48 · 267 阅读 · 0 评论 -
带你搞懂朴素贝叶斯分类算法
带你搞懂朴素贝叶斯分类算法带你搞懂朴素贝叶斯分类算贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。1 分类问题综述 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一转载 2017-10-11 14:43:36 · 436 阅读 · 0 评论 -
CNN之卷积计算层
4 CNN之卷积计算层4.1 什么是卷积 首先,我们来了解下什么是卷积操作。 对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。 非严格意义上来讲,下图中红框框起来的部分便可以理解为一个滤波器,即带着一组固定权转载 2017-10-12 09:39:53 · 2554 阅读 · 2 评论 -
卷积神经网络中的filter是怎么工作的
首先,写这个文档的原因是因为我转载了一篇文章,不会编辑。擦。。。。首先收输入层是毛东西? 就是输入的图像,有可能是三通道的有可能是单通道的。 比如28*28*1或者28*28*3 分别代表的是大小为28*28,通道数分别为单通道和三通道的图片其次,什么是filter呢 filter的最大的特点是其深度与输入层的深度是一致的。输入层是单通道,filter也是原创 2017-10-12 09:46:19 · 33998 阅读 · 10 评论 -
TensorFlow中的FLAGS(argv[])
转载 http://blog.csdn.net/leiting_imecas/article/details/72367937 tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。import tensorflow as tf#第一个是参数名称,第二个参数是默认值,第三个是参数描述tf.app.flags.DE转载 2017-12-21 13:45:45 · 424 阅读 · 0 评论 -
Tensorflow 中的 flags
转载: http://blog.csdn.net/leiting_imecas/article/details/72367937 tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。import tensorflow as tf#第一个是参数名称,第二个参数是默认值,第三个是参数描述tf.app.flags.DEFINE_string('str_name', '转载 2017-12-18 09:03:43 · 2169 阅读 · 0 评论 -
Tensorflow 数据读取机制
转展多处都没有找到详细介绍Tensorflow读取文件的方法,这里转载一篇:http://honggang.io/2016/08/19/tensorflow-data-reading/引言Tensorflow的数据读取有三种方式:Preloaded data: 预加载数据Feeding: Python产生数据,再把数据喂给后端。Reading from file: 从文件中直接读取 这三种有读转载 2018-01-02 10:05:43 · 272 阅读 · 0 评论 -
TensorFlow TFRecord文件的生成与读取
TensorFlow高效读取数据的方法概述关于Tensorflow读取数据,官网给出了三种方法:供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据。从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据。预加载数据: 在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况)。对于数据量转载 2018-01-02 09:31:44 · 3016 阅读 · 0 评论 -
使用全连接神经网络+滑动平均+正则化+指数衰减法+激活函数
【TensorFlow】MNIST(使用全连接神经网络+滑动平均+正则化+指数衰减法+激活函数) MNIST / 滑动平均 /转载 2018-03-30 14:05:47 · 507 阅读 · 0 评论 -
tensorflow模型持久化
模型持久化转载 2018-03-30 14:15:36 · 261 阅读 · 1 评论 -
TensorFlow数据处理(输入文件队列)
生成样例数据先生成 TFRecord 格式的样例数据,Example 的结构如下,表示第1个文件中的第1个数据{ 'i':0, 'j':0}生成数据的代码如下(以下代码都实现自《TensorFlow:实战Google深度学习框架》)import tensorflow as tf# 创建TFRecord文件的帮助函数def _int64_feature(value): r转载 2018-03-30 14:23:20 · 518 阅读 · 0 评论 -
tfrecord文件应用流程
对于输入数据的处理,大体上流程都差不多,可以归结如下将数据转为 TFRecord 格式的多个文件用 tf.train.match_filenames_once() 创建文件列表用 tf.train.string_input_producer() 创建输入文件队列,可以将输入文件顺序随机打乱用 tf.TFRecordReader() 读取文件中的数据用 tf.parse_single_exa转载 2018-03-30 14:27:03 · 552 阅读 · 0 评论 -
TensorFlow上实现AutoEncoder自编码器
TensorFlow上实现AutoEncoder自编码器######################################################################################## 前面讲到的都是有监督学习,他的重要特征是数据都是有标记的。无标记的数据应该用什么样的网络模型来学习呢?这里用一个叫做-自编码网络-的网络模型。 AutoEn转载 2018-04-02 08:48:31 · 367 阅读 · 0 评论 -
自我学习,监督学习,半监督学习和迁移学习的区别
区别自我学习和半监督学习一样,当前手头上只有少量训练样本,但是周围手头上还有大量无标注样本。举一个经典的例子,分离大象和犀牛。 对于监督学习来说,我们手头有大量大象的样本和犀牛的样本,接下来训练分类器,进行分类,大家都知道的。 对于迁移学习,则是指我们手头上有大量羊的样本和马的样本(已标记),少量的大象和犀牛的样本,接下来就要从羊和马的样本中选出有效的样本分别加入到大象和犀牛的标记样本中,然后再转载 2018-04-02 09:21:35 · 12045 阅读 · 0 评论 -
人体骨骼关键点检测中的heatmap 与vectormap 生成
一.综述: 人体骨骼关键点检测已经非常成熟了,参考曹哲大神的论文,可以知道其论文中的采用自下而上的方式,检测人体骨骼关键点。 采用的方式与自顶向下的方式的区别比较大,自定向下的方式首先是检测人体,在人体区域内回归出人体的骨骼关键点坐标。 而自下而上的方式采用的关键点热图和关键点矢量图的方式。如,一共有19个关键点,就会生成19个通道的热图,每一个通道为某个关节的热图分布(...原创 2018-12-05 17:36:49 · 19091 阅读 · 20 评论