![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TensorFlow
文章平均质量分 85
LiangJun.py
一不小心学了数据挖掘
展开
-
基于tensorflow的图像处理(二) tf.image的使用方法
基于tensorflow的图像处理(二) tf.image的使用方法对图像进行预处理,可以尽量避免模型受到无关因素的影响。大部分图像识别问题中,通过图像预处理过程可以提高模型的准确率。一、tensorflow图像处理函数图像编码处理一张RGB彩色模型的图像可以看成一个三维矩阵,矩阵中的每一个数表示了图像上不同的位置,不同颜色的亮度。然而图像在存储时并不是直接记录这些矩阵中的数字,而是记录经过压缩编码之后的结果。所以要将一张图片还原成一个三维矩阵,需要解码过程。tensorflow提供了jpe转载 2021-01-26 09:37:06 · 2059 阅读 · 2 评论 -
Tensorflow 解决恢复ckpt后BN权重参数未成功加载的问题
在上一篇文章中,将两个ckpt加载后进行拼接合并,但固化后进行推理时发现结果不对,于是将合并后的模型和之前的模型权重参数进行比对发现合并后的模型中BN参数存在部分值未加载(moving_mean和moving_variance权重参数未加载至模型)如下图:最后找到问题原因是由于指定op加载ckpt的时候,BN层的两个参数未指定为trainable_variables,因而在未获取到BN中的moving_mean和moving_variance参数,修改前获取op的代码如下图:解决上述问题只需原创 2020-10-15 09:56:37 · 444 阅读 · 0 评论 -
Tensorflow 多个ckpt模型合并并固化成pb模型
前面尝试使用了pb模型进行合并,现加载两个ckpt模型后将两个ckpt模型拼接合并成一个模型共用一个输入(该两个ckpt模型输入相同),最后将合并后的ckpt固化成pb模型。import osimport timeimport cv2import numpy as npimport tensorflow as tffrom tensorflow.python.tools import freeze_graphimport model_1 import model_2IMAGE_S原创 2020-10-14 12:09:55 · 1027 阅读 · 6 评论 -
Tensorflow 合并多个pb模型并共用一个输入的方法
存在两个pb模型的输入相同,现想把两个pb模型合并成一个模型并共用一个输入节点,借鉴合并多个tensorflow模型的办法代码如下:import tensorflow as tffrom tensorflow.python.framework.graph_util import convert_variables_to_constantsIMAGE_SIZE = 48 #假设模型输入是48x48origin_model = "1.pb" #第一个模型new_model = "2.pb原创 2020-10-14 10:03:36 · 831 阅读 · 0 评论 -
合并多个tensorflow模型的办法
原文地址:https://www.cnblogs.com/th3Bear/p/11438310.html直接上代码:import tensorflow as tffrom tensorflow.python.tools import freeze_graphfrom tensorflow.python.framework.graph_util import convert_variables_to_constantsimport osimport numpy as npfilename转载 2020-10-13 10:17:20 · 760 阅读 · 0 评论 -
TensorFlow 微调指定的op层
利用TensorFlow进行模型finetune时,想训练指定的op,则需要根据指定的op名进行提取,然后将其配置至tf.train.AdamOptimizer函数中的var_list参数。 部分代码如下:def _get_variables_to_train(trainable_scopes = None): """Returns a list of variables to train. Returns: A list of variables to train...原创 2020-06-12 14:12:41 · 357 阅读 · 0 评论 -
TensorFlow 提取指定名的op函数
部分代码:def _get_variables_to_train(trainable_scopes = None): """Returns a list of variables to train. Returns: A list of variables to train by the optimizer. """ if trainable_scopes is None: return tf.trainable_variables() else: sco原创 2020-06-05 20:37:53 · 504 阅读 · 0 评论 -
将Tensorflow目标检测object_detect API源码中的ssd_mobilenet_v1主结构修改为shufflenetv2
为将模型部署移动端,往往采用轻量级的网络结构,如Mobilenet和shufflenet。最近看到网上一些资料shufflenetv2在ImageNet上有着不错的表现,并且计算量相较于其他轻量级网络结构大幅度减少。之前做目标检测时,通常使用ssd_mobilenet_v1,于是在想将ssd_mobilenet_v1主结构替换为shufflenetv2,是否能在准确性和推理速率上都...原创 2020-02-19 19:14:11 · 1121 阅读 · 3 评论 -
TensorFlow object_detect API之MobileNet-SSD 模型训练配置文件参数解析
原文地址:https://www.leviatan.cn/?p=251文件名:ssd_mobilenet_v1_pets.config路径:/path/to/models/research/object_detection/models 下载地址:Github - TensorFlow Modelsmodel { ssd { // 类别数,不包括 backgr...转载 2020-02-17 17:17:37 · 1157 阅读 · 1 评论 -
使用TensorFlow对图像进行随机旋转
使用TensorFlow对图像进行随机旋转在使用深度学习对图像进行训练时,对图像进行随机旋转有助于提升模型泛化能力。然而之前在做旋转等预处理工作时,都是先对图像进行旋转后保存到本地,然后再输入模型进行训练,这样的过程会增加工作量,如果图片数量较多,生成旋转的图像会占用更多的空间。直接在训练过程中便对图像进行随机旋转,可有效提升工作效率节省硬盘空间。使用TensorFlow对图像进行随机旋转...原创 2020-01-18 15:34:44 · 2446 阅读 · 1 评论 -
使用uwsgi结合Flask多进程调用TensorFlow模型推理时服务卡住
使用Flask对TensorFlow训练后的模型进行服务器部署时,想使用uwsgi设置多进程的方式解决发布服务以解决高并发。服务写好后使用uwsgi进行多进程发布后发现运行sess.run调用模型推理时服务会卡住无法运行,查看后台uwsgi进程后会发现仅剩一个uwsgi服务,其他的uwsgi进程已经僵死。一开始纠结可能是tf的问题,尝试了很多方法将模型调用通过类创建后还是不能解决...原创 2019-11-12 16:48:16 · 3166 阅读 · 1 评论 -
Tensorflow pb模型多次加载推理的方法
使用TensorFlow进行模型训练后,若需要对同一个pb模型多个对象调用推理时,此时可以通过创建类的方式将加载模型的步骤置于类中的初始化便能够通过创建多个类的对象进行pb模型的加载以及推理。实际代码如下:import tensorflow as tfimport numpy as npimport cv2from PIL import Imagefrom tens...原创 2019-11-12 16:14:30 · 3486 阅读 · 1 评论 -
使用TensorFlow Lite将ssd_mobilenet移植至安卓客户端
最近开始入门深度学习,想将训练好的手势识别ssd_mobilenet模型移植到安卓上,网上找了一些资料,在不断的尝试中终于成功了,现整理一下实现的步骤,可能出现遗漏错误等情况请大家指点。 (网上看到说有两种移植方法,这里我只讲述自己成功的方法)系统环境:Ubuntu 16.04.4python3.6.5 参考官方给出的步骤:https://github.com/tens...原创 2018-10-12 19:18:58 · 9504 阅读 · 33 评论 -
tensorflow object detection API训练公开数据集Oxford-IIIT Pets Dataset
在使用python3环境下运行TensorFlow object_detection API python3 object_detection/model_main.py --logtostderr --pipeline_config_path=/xxxx --model_dir=/xxxx --num_train_steps=50000 --n...转载 2018-10-08 17:00:42 · 2970 阅读 · 3 评论 -
TensorFlow Mobilenet SSD模型压缩并移植安卓上以达到实时检测效果
之前使用TensorFlow object detect API实现了目标检测(14个手势的识别),使用的是轻量级模型Mobilenet-ssd,Mobilenet-ssd本身检测速率相较于其他模型会更快。使用模型配置文件未对参数修改时,训练后的模型通过TensorFlow lite移植安卓上检测发现,速率达到了200-300ms(用的红米5A手机性能较差),模型大小5M(有点忘了...原创 2018-12-09 19:37:53 · 8091 阅读 · 11 评论 -
TensorFlow Mobile模型压缩
原文地址:https://www.jianshu.com/p/d2637646cda1在做手势识别项目中需要进行模型压缩以提升检测效率,根据该篇文章模型压缩方法运行正常,优化后模型大小有所减少(模型大小减少的不多)。但为移植安卓上,使用TensorFlow lite将优化前和优化后的模型进行转换,发现转换后的tflite文件没有变化。如果不用tensorflow lite转换可以使用该优化方法...转载 2018-12-29 17:10:32 · 618 阅读 · 0 评论 -
TensorFlow object_detect 修改配置文件进行数据增强处理
数据增强处理可以用于图像数据集不够充分的情况下对各个类别图像进行数据扩充,以此弥补因图像数据量不足以及图像单一所造成训练后的模型泛化能力不强等问题。目前图像数据增强常用的方法有:图像旋转、翻转(水平、垂直镜像处理)、模糊、光照调整、加噪声、图像平移、图像缩放以及图像拼接等方法。大多数是先将原有的图像通过写好的程序进行数据增强并同时保存至本地,然后将原图像和数据增强后的图像整合输入模型中训练(其...原创 2019-01-17 18:34:43 · 4696 阅读 · 6 评论 -
Tensorflow Lite GPU在安卓上实现
在近期工作中,采用TensorFlow Lite将ssd_mobilenet目标检测模型移植安卓机上。从安卓机测试的效果来看,非量化的模型每帧图像推理的速率较慢。为压缩模型提升推理速度,采用了减少模型深度的方法。具体可参考之前一篇模型压缩文章。目前新版本TensorFlow发布了TensorFlow Lite可支持GPU,参考官方TensorFlow Lite GPU实现教程。迫不及待按照...原创 2019-01-23 11:51:22 · 4663 阅读 · 3 评论 -
windows下pip 升级TensorFlow报错
之前为了运行GitHub一个工程按其要求将TensorFlow版本降为1.0.0的,后来pip 升级回来,pip install --upgrade tensorflow==1.9.0结果报错了cannot remove entries from nonexistent file...然后网上查了下,是由于setuptools版本过低,需要升级setuptools,直接pip install ...转载 2019-02-28 15:42:56 · 673 阅读 · 0 评论 -
tensorflow 实现模型微调finetune
前端时间完成了一个分类模型的训练,在后期测试时发现分类模型存在一些场景或者角度无法准确分类。通常我们往往会决定对这些场景及角度数据进行补充然后重新训练模型。如果数据量较少,模型完成训练的时间则较少。倘若数据量十分庞大(如我这次训练的图片有600W+),那么完成模型训练时间则较长,总体会拖延项目进度。模型重新训练也不能完全保证新增的数据能达到较好的分类效果,此时可以使用微调的方法,可大大减少模型训练...原创 2019-08-13 15:25:20 · 2933 阅读 · 4 评论 -
tensorflow object detect API ssd-mobilenet-v1网络结构源码修改
最近使用TensorFlow object_detect API做目标检测任务,由于要求目标检测模型能够移植客户端中,进而选择目标检测模型时则选择轻量级的模型,最后选择了ssd_mobilenet_v1作为目标检测的模型。之前写过了TensorFlow object_detect API训练自己数据的步骤以及通过修改配置文件参数降低模型输入大小和模型通道数方法达到压缩模型提高推理速率(此处)。...原创 2019-10-10 20:42:58 · 2328 阅读 · 1 评论 -
21个TensorFlow项目转换tfrecord:tf.train.Feature TypeError: 'RGB' has type str, but expected one of: bytes
最近在看21个TensorFlow项目一书中,由于我环境是Python3.5,项目中环境应该是Python2。运行第三章data_prepare文件夹下data_convert.py将图片转换为tfrecord格式时出现TypeError: 'range' object does not support item assignment此处错误是因为Python3 range返回的不是lis...原创 2018-09-21 15:25:43 · 3425 阅读 · 19 评论