
tensorflow
文章平均质量分 88
hh_2018
这个作者很懒,什么都没留下…
展开
-
tensorflow之GPU加速的理解
最近在整理模型加速的问题,使用到了GPU,但是有时候发现GPU的速度尽然比CPU还低,后来查找一些相关的资料后发现可能是由于两方面原因造成的:1. GPU的计算能力不行(毕竟对于笔记本自带的GPU而言其性能并不一定比CPU强);2. GPU和CPU之间存在通讯问题,即数据的读取要在CPU中进行,读取后的数据再送入GPU中进行处理。针对第2个问题,考虑以队列的方式来解决,具体原因为:当数据在队列...原创 2018-06-25 23:27:54 · 5132 阅读 · 6 评论 -
深度学习中基于tensorflow_slim进行复杂模型训练三之TFRecords的介绍
一、TFRecords的数据结构TFRecords数据集是一种二进制的数据集,是tensorflow推荐的标准文件格式。Tensorflow通过ProtocolBuffers定义了TFRecords文件中存储的记录及其所含的字段结构,使用该方式可以将数据,标签以及和数据相关的信息通过key,value的形式存储在同一个文件中,并通过key,value的形式对存储的数据进行读取。该数据结构定义在...原创 2018-10-30 11:55:09 · 421 阅读 · 0 评论 -
深度学习中基于tensorflow_slim进行复杂模型训练二之tensorflow_slim的使用
上篇博客主要介绍了tensorflow_slim的基本模块,本篇主要介绍一下如何使用该模块训练自己的模型。主要分为数据转化,数据读取,数据预处理,模型选择,训练参数设定,构建pb文件,固化pb文件中的参数几部分。一、数据转化:主要目的是将图片转化为TFrecords文件,该部分属于数据的预处理阶段,可以参考datasets中的download_and_conver_flower中的run函...原创 2018-10-29 19:19:11 · 912 阅读 · 2 评论 -
深度学习中基于tensorflow_slim进行复杂模型训练一之tensorflow_slim基本介绍
最近在进行微表情识别,但是目前没有查到比较有效的模型方式,考虑使用inception_v3的模型进行开发,但是该模的构造过程比较复杂,训练更是麻烦,因此考虑基于tensorflow_slim的模块进行二次训练,首先介绍一下关于tensorflow_slim的基本模块。tensorflow_slim的模块主要包括以下几个部分deployment ,nets,dataset, preprocess...原创 2018-10-28 17:26:48 · 613 阅读 · 0 评论 -
tensorflow之模型压缩
tensorflow的模型在移动端运行时往往需要进行模型压缩。这主要有于两方面的原因:1.模型过大不易加载和下载,运行时内存占用率太高。2. tensorflow的模型在训练的过程中可能为了训练会添加一些操作和节点,而tensorflow的移动端只专注于推理,这样在运行时就会产生一些内核不存在的错误。所以此时需要通过压缩来减少一些和输入及输出不相关的节点。下面介绍一下模型压缩的方式。一、环境需...原创 2018-09-17 20:19:32 · 7685 阅读 · 0 评论 -
Tensorflow之编译window平台下基于c/c++使用tensorflow
最近在考虑将tensorflow的工程迁移到window平台下进行,由于linux和mac平台在官网上有对应的c/c++接口的安装说明,而window平台则需要自己编译。所以现将编译过程记录如下:一、环境准备1. vs20152. swigwin-3.0.12。下载链接为 http://swig.org/download.html 。下载之后解压缩即可。3. Cmake , ...原创 2018-07-31 20:44:15 · 9164 阅读 · 28 评论 -
tensorflow之并行读入数据
最近研究了一下并行读入数据的方式,现在将自己的理解整理如下,理解比较浅,仅供参考。并行读入数据主要分1. 创建文件名列表2. 创建文件名队列3. 创建Reader和Decoder4. 创建样例列表5. 创建批列表(读取时可要可不要,一般情况下样例列表可以执行读取数据操作,但是在实际训练的时候往往需要批列表来分批进行数据的组织,提取)其具体流程如下: 一、 文...原创 2018-07-22 16:35:48 · 3066 阅读 · 0 评论 -
TensorFlow及model的安装
最近在学习深度学习的卷积神经网络,采用的学习框架是tensorflow框架。现在主要介绍一下自己再安装过程中遇到的问题及安装方法。 一、基于python3.5的安装安装tensorflow可以基于python安装,该方法在安装时首先要保证电脑上已经安装了python,并且是3点几的版本。然后在点击cmd打开任务管理器。输入pip install tensorflow即可。但是要注意安装时...原创 2018-04-01 23:14:37 · 32940 阅读 · 20 评论 -
tensorflow及tensorboard中MNIST数据解释及实现
一、MNIST数据:MNIST数据是tensorflow内置的一组手写数字的图片样例数据,其数据的格式是gz压缩格式。图片如下:对于上述图片,tensorflow中存在对应的input_data将图片转为对应的字节流的形式读入,并提供了各种API将数据转换为对应的张量参与运算。具体数据的读取以及API接口的使用不做多的介绍。有兴趣的可以看一下对应的源码(mnist.py)。MNIS...原创 2018-04-02 15:41:14 · 1287 阅读 · 0 评论 -
使用tensorflow中的object_detection
tensorflow中存在许多内置的模型,可以用来进行图片的识别。下面将介绍一下使用object_detection进行物体识别需要的环境。配置环境:1. 通过proto将对应的.proto文件变成.py文件。2. 首先将tensorflow_slim模块加入到环境变量中,然后打开cmd窗口,输入python, 然后输入import slim 若是不报错则证明可以环境已经导入3....原创 2018-04-08 11:30:53 · 4135 阅读 · 1 评论 -
Tensorflow之调用object_detection中的API识别视频
上一篇博文主要介绍了如何使用object_detection进行图片的识别。本文将在上一篇的基础上介绍一下如何进行视频的识别。视频识别主要是将视频分为一帧一帧的图片,然后对图片进行识别。本文主要分为对摄像头拍摄的内容直接识别和对一段视频文件的识别。1. 采用VideoCapture对视频进行处理的方法: 首先需要依赖于opencv里面包含的视频处理方式。所以需要在python中...原创 2018-04-10 21:23:00 · 5362 阅读 · 8 评论 -
tensorflow识别音频文件
该文章纯属转载 概述 随着深度学习的广泛应用和Tensoflow的开源,移动端的模型应用层出不穷。本文介绍了笔者在搭建过程中的一些心得,希望可以帮助到你们。 Mac端Tensorflow CPU版本的安装 如果你现在用的没有太好的GPU,可以安装CPU only的Tensorflow。Linux、Mac系统可以安装Tensorflow的python2和python3版本,Windows系统...转载 2018-04-24 21:02:42 · 2231 阅读 · 0 评论 -
Tensorflow的android demo编译
最近在研究tensorflow模型的移动端。在编译安卓的代码的时候遇到了许多坑点,现总结如下:移动端编译有两种方式:第一,通过AAR从Jcenter中编译,此时只需要在build.gradle中将nativeBuildSystem改为none即可。然后将tensorflow/tensorflow/example/android导入android studio中运行即可。此时根据配置文件会自动下...原创 2018-04-24 21:50:13 · 724 阅读 · 0 评论 -
Tensorflow移动端之如何将自己训练的MNIST模型加载到Android手机上
本篇文章主要依托于官方demo,在官网demo上进行修改来体现如何在一个常规的app上加入深度学习的模型。因为对于在app中加入对应的模型也只是将app搜集的数据导入模型并进行处理,处理完之后将结果返回给app并进行后面的操作。其中只有处理的过程会涉及tensorflow,而本文主要介绍tensorflow处理的过程。所以需要依附于具体的app。一、环境准备 要想在安卓手机上运行...原创 2018-04-25 13:13:42 · 1569 阅读 · 0 评论 -
tensorflow之模型集参数的保存
最近在研究移动端的时候涉及到了模型的冰冻,即将训练得到的模型生成对应的pb文件。因此研究了一下tensorflow中的几种保存模型的方式,具体如下:一、save保存。 save保存一定要在session中进行,并且save保存时会保存所有的参数信息,而这些信息是我们不一定需要的。并且save保存一般保存的是所有的网络和参数。 save的存储 tf.global_va...原创 2018-04-25 16:08:01 · 2314 阅读 · 0 评论 -
tensorflow之队列,线程,输入
本博客纯属转载一、队列和线程 1、队列: 1)、tf.FIFOQueue(capacity, dtypes, name='fifo_queue') 创建一个以先进先出的顺序对元素进行排队的队列 参数: capacity:整数。可能存储在此队列中的元素数量的上限 dtypes:DType对象列表。长度dtypes必须等于每个队列元 素中的张量数,d...转载 2018-06-12 13:59:02 · 417 阅读 · 0 评论 -
tensorflow之编译使用c/c++动态链接库
tensorflow主流接口虽然是python,但是其也支持C语言的接口供大家调用,并且对于图像处理等方面c++是一种更为合适的语音。因此本文主要介绍一下如何安装并使用c版本的tensorflow。一、 编译。 编译的目的主要是为了产生对应的头文件和动态链接so文件。编译的方式有两种:1. bazel build --config=opt //tensorflow/tools/lib_...原创 2018-07-24 15:50:12 · 4573 阅读 · 0 评论 -
tensorflow之源码编译及相关问题
最近研究模型速度问题,查了一些文献,有的文献说tensorflow本身的性能比其他的深度学习框架要低,但是tensorflow的开发团队加入了许多优化的设置,如果打开这些设置tensorflow的性能能够达到甚至超越现有的深度学习框架。但是现有的安装包为了平台的通用性往往在生成对应的wheel文件时会关掉一些配置,因此需要从源码编译安装包并且在编译的过程中自己打开一些需要的配置。基于上述原因,我采...原创 2018-07-11 17:52:29 · 3400 阅读 · 5 评论 -
深度学习框架之Keras
Keras是一个抽象层次高的API,其后台也支持tensorflow框架。他的目的是让大家能够更快的构建深度学习网络模型。他可以理解为在tensorflow的API上又封装的一层API。该模块具有编程简单,模块化清晰,门槛低等优点,但是该模块支持的语言有限,目前只支持Python语言。下面简单介绍一下如何使用该模块生成对应的卷积神经网络。1. 模块概述: Keras提供了两种模式范式...原创 2019-05-13 22:02:12 · 739 阅读 · 0 评论