环境 tensorflow = 1.12.0 bazel = 0.18.1 ubuntu = 16.04 python = 3.6.2 安装 bazel (0.18.1) 如果tensorflow是1.12.0,那么必须安装指定版本0.18.1的bazel,不然会出现很多的错误无法解决. wget https://github.com/bazelbuild/bazel/releases/download/0.18.1/bazel-0.18.1-installer-linux-x86_64.sh…
一.TensorFlow  Lite TensorFlow Lite 是用于移动设备和嵌入式设备的轻量级解决方案.TensorFlow Lite 支持 Android.iOS 甚至树莓派等多种平台. 二.tflite格式 TensorFlow 生成的模型是无法直接给移动端使用的,需要离线转换成.tflite文件格式. tflite 存储格式是 flatbuffers. FlatBuffers 是由Google开源的一个免费软件库,用于实现序列化格式.它类似于Protocol Buffers.Th…
前言 TensorFlow Lite 提供了转换 TensorFlow 模型,并在移动端(mobile).嵌入式(embeded)和物联网(IoT)设备上运行 TensorFlow 模型所需的所有工具.之前想部署tensorflow模型,需要转换成tflite模型. 实现过程 1.不同模型的调用函数接口稍微有些不同 # Converting a SavedModel to a TensorFlow Lite model. converter = lite.TFLiteConverter.from…
Facebook事实上已开始在平台中支持360度全景视频的流播,但公司对此并不满足.其工程师更是基于锥体几何学设计出了一套全新的视频编码,号称最高能将全景视频的文件大小减少80%.(VR最新突破:全景视频压缩率达80%,即将普及爆发) 1.Facebook开源了其将2:1球模型视频转换成立方体模型的代码 https://github.com/facebook/transform README: # Transform Transform video in equirectangular proj…
可以通过这个(json-lib-2.3-jdk15.jar)jar里的方法转换 JSONObject json = JSONObject.fromObject(Object); 如果对象数组 JSONArray json = JSONArray .fromObject(person);…
首先我们为什么要使用这些呢? 举个简单的例子,假设我们图像里面只有1个目标,但是定位出来10个框,1个正确的,9个错误的,那么你要按(识别出来的正确的目标/总的正确目标)来算,正确率100%,但是其实效果不是很好,而且还有框的各种情况,因此我们需要下面的指标来衡量一个目标检测模型的好坏. 1.IOU(Intersection Over Union) 这是关于一个具体预测的Bounding box的准确性评估的数据,意义也就是为了根据这个IOU测定你这个框是不是对的,大于等于IOU就是对的,小于就…
TensorFlow Lite 是 TensorFlow 在移动和 IoT 等边缘设备端的解决方案,提供了 Java.Python 和 C++ API 库,可以运行在 Android.iOS 和 Raspberry Pi 等设备上.目前 TFLite 只提供了推理功能,在服务器端进行训练后,经过如下简单处理即可部署到边缘设备上. 个人使用总结: 如果我们只使用Tensorflow的高级API搭建模型,那么将TF转TF Lite再转TF lite micro的过程会相对顺利.但是如果我们的模型使用…
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 最近事情比较多,前面坑挖的有点久,今天终于有时间总结一下,顺便把Windows下训练跑通.Linux训练建议仔细阅读https://zhuanlan.zhihu.com/p/27469690,我借鉴颇多,此外还可以参考GitHub上的官方文档https://github.com/tensorflow/models/tree/master/research/object_detection.…
承接移动端目标识别(2) 使用TensorFlow Lite在移动设备上运行         在本节中,我们将向您展示如何使用TensorFlow Lite获得更小的模型,并允许您利用针对移动设备优化的操作. TensorFlow Lite是TensorFlow针对移动和嵌入式设备的轻量级解决方案.它支持端上的机器学习推理,具有低延迟和小二进制模型大小. TensorFlow Lite使用了许多技术,例如允许更小和更快(定点数学)模型的量化内核. 对于本节,您需要从源代码构建TensorFlow…
[Tensorflow]Object Detection API-训练自己的手势识别模型 1. 安装tensorflow以及下载object detection api 1.安装tensorflow: 对于CPU版本:pip install tensorflow 对于GPU版本:pip install tensorflow-gpu 升级tensorflow到最新版1.4.0:pip install --upgrade tensorflow-gpu 2.安装必须库: sudo pip instal…
  本文主要记录Keras训练得到的.h5模型文件转换成TensorFlow的.pb文件 #*-coding:utf-8-* """ 将keras的.h5的模型文件,转换成TensorFlow的pb文件 """ # ========================================================== from keras.models import load_model import tensorflow as t…
Introduction to TensorFlow Lite TensorFlow Lite is TensorFlow’s lightweight solution for mobile and embedded devices. It enables on-device machine learning inference with low latency and a small binary size. TensorFlow Lite also supports hardware acc…
需求: 数据库使用飘雪算法保存唯一标识  是一个18位长整形 将数据输出到浏览器时出现了精度丢失问题,这是一个重大的BUG.如果没解决好整个项目都要改一遍. 讨论有三个办法 1.把所有实体 数据模型的long值手动换成string类型.——-这是一个工作庞大且极度无聊的事情,并且给人感觉很不好 2.将模型转换成json字符串,或者对象. ———前者是将工作丢给前端,然后前端不干了....略, ———后者需要定义一个规则,在需要更改的地方加上一个标识,json转换的时候就会将数据转换成string…
假如想要在ARM板上用tensorflow lite,那么意味着必须要把PC上的模型生成tflite文件,然后在ARM上导入这个tflite文件,通过解析这个文件来进行计算. 根据前面所说,tensorflow的所有计算都会在内部生成一个图,包括变量的初始化,输入定义等,那么即便不是经过训练的神经网络模型,只是简单的三角函数计算,也可以生成一个tflite模型用于在tensorflow lite上导入.所以,这里我就只做了简单的sin()计算来跑一编这个流程. 生成tflite模型 这部分主要是…
List<Object> list = getList(); return (List<Customer>) list; Compiler says: cannot cast List<Object> to List<Customer> 不能将Object集合强制转换成实体集合!   you can always cast any object to any type by up-casting it to Object first. in your cas…
在ROS机器人的应用开发中,调用摄像头进行机器视觉处理是比较常见的方法,现在把利用opencv和python语言实现摄像头调用并转换成HSV模型的方法分享出来,希望能对学习ROS机器人的新手们一点帮助.至于为什么转换成HSV模型,因为在机器视觉方面用HSV模型进行图像处理是比较方便的,实现的方法和效果相对于其他模型都较为突出. 接下来是完整步骤: 1.打开一个终端,用vim编辑器新建并打开一个后缀为.py的文件 $ vim a.py 2.在打开的文件里按“a”进入编辑模式,然后输入以下代码 im…
AoE( AI on Edge , https://github.com/didi/AoE ) 是滴滴近期开源的终端侧 AI 集成运行时环境 ( IRE ). 随着人工智能技术快速发展,近几年涌现出了许多运行在终端的高性能推理框架,例如 TensorFlow Lite,在实时性.安全性上给开发者带来更多支持和选择,极大的优化了用户的使用体验,但当我们想要在终端侧落地一些具体的 AI 业务时,会发现有些不得不面对的问题: 除了要做推理框架选型,还需要关注数据预 / 后处理逻辑的稳定性,模型分发使用…
将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #i…
功能概述 Excel2HtmlTable的主要功能就是把Excel的内容以表格的方式,展现在页面中.Excel的多个Sheet对应页面的多个Tab选项卡.转换算法的难点在于,如何处理行列合并,将Excel的行列合并模型转换成Html表格的行列合并模型. 背景故事 因实际需要,需要将Excel展现在Web界面中. 最初,想在网上找开源的东东,结果没有1个是想要的.有的特别复杂,有的只能在Windows平台,需要闭源的dll,最终还是得靠自己. 人不逼迫自己,真是想偷懒,不能出成果. 要是不是自己实…
一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorflow/models下载到本地,解压 我们需要的目标检测代码在models-research文件中: 其中object_detection中的README.md记录了API的使用指导: 注意:models包含了众多的模块,可以根据需要选择下载,也可以将整个models一块儿下载,大概420M 4)Pr…
前言 已完成数据预处理工作,具体参照: 基于TensorFlow Object Detection API进行迁移学习训练自己的人脸检测模型(一) 设置配置文件 新建目录face_faster_rcnn 将上文已完成预数据处理的目录data移动至face_faster_rcnn目录下, 并在face_faster_rcnn目录下创建face_label.pbtxt文件,内容如下: item { id: 1 name: 'face' } 在已下载的TensorFlow Object Detecti…
二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面新建文件夹目标检测,把下载好的压缩文件n01440764.tar放到其中,并解压 2)选择图片 在此数据集中,大部分图片都较为清晰,但是有极少数图片像素点少,不清晰.像素点少的图片不利于模型训练或模型测试,选出部分图片文件,在目标检测路径下输入jupyter notebook,新建一个get_som…
一.下载Tensorflow object detection API工程源码 网址:https://github.com/tensorflow/models,可通过Git下载,打开Git Bash,输入git clone https://github.com/tensorflow/models.git进行下载. 二.标记需要训练的图片 ①.在第一步下载的工程文件models\research\object_detection目录下,建立一个my_test_images用来放测试test和训练t…
四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. 链接:https://pan.baidu.com/s/1tHOfRJ6zV7lVEcRPJMiWaw 提取码:mf9r,下载到桌面,并解压,目标检测目录下存在:nets.object_detection.training三个文件夹,文件夹training中含有训练了200000次的模型 要求:读者…
三.模型训练 1)错误一: 在桌面的目标检测文件夹中打开cmd,即在路径中输入cmd后按Enter键运行.在cmd中运行命令: python /your_path/models-master/research/object_detection/model_main.py --pipeline_config_path=training/ssdlite_mobilenet_v2_coco.config --model_dir=training --alsologtostderr 运行结果如下图所示:…
关于TensorFlow Object Detection API配置,可以参考之前的文章https://becominghuman.ai/tensorflow-object-detection-api-tutorial-training-and-evaluating-custom-object-detector-ed2594afcf73 在本文中,我将讨论如何更改预训练模型的配置.本文的目的是您可以根据您的应用程序配置TensorFlow/models,而API将不再是一个黑盒! 本文的概述:…
cloud执行:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_pets.md 本地执行:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_locally.md 1. 获取数据Oxford-IIIT Pets Dataset # From t…
前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的库去学习,可以节约很多时间,而且逐渐吃透别人代码,使得我们可以慢慢的接受. Object Detection API是谷歌开放的一个内部使用的物体识别系统.2016年 10月,该系统在COCO识别挑战中名列第一.它支持当前最佳的实物检测模型,能够在单个图像中定位和识别多个对象.该系统不仅用于谷歌于自…
整体流程(以PASCAL VOC为例) 1.下载PASCAL VOC2012数据集,并将数据集转为tfrecord格式 2.选择并下载预训练模型 3.配置训练文件configuration(所有的训练参数都通过配置文件来配置) 4.训练模型 5.利用tensorboard查看训练过程中loss,accuracy等变化曲线 6.冻结模型参数 7.调用冻结pb文件进行预测 文件格式 首先建立一下文件结构,把models/research/object_detection/data下的label_ma…
1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配好).也可以直接安装python,安装各种包比较麻烦,因此直接装了Anaconda集成环境. 安装完Anaconda后,打开Anaconda Prompt,逐个输入conda --version和python --version,出现下图所示内容则安装成功. ②.安装TensorFlow 如果是初学…