首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Tensorflow进行实时移动视频对象检测

为减少障碍,Google发布了Tensorflow对象检测API和Tensorflow Hub等开源工具,使人们能够利用那些已经广泛使用的预先训练的模型(例如Faster R-CNN,R-FCN和SSD...本文旨在展示如何通过以下步骤使用TensorFlow的对象检测API训练实时视频对象检测器并将其快速嵌入到自己的移动应用中: 搭建开发环境 准备图像和元数据 模型配置和训练 将训练后的模型转换为TensorFlow...对象检测API中的python模块添加到搜索路径中,稍后将在模型脚本中调用它们。...模型配置和训练 下载预训练的模型 正如在开始时提到的,将使用预先训练的模型,而不是从头开始设计模型,检测模型动物园收集了广泛使用的预先训练的模型的列表。...下一步是什么 到目前为止,已经完成了使用实时视频对象检测的自定义模型创建iOS应用的过程,这也是通过利用一些现有的预训练模型来快速构建思想原型的良好起点。

2.2K00

《Scikit-Learn、Keras与TensorFlow机器学习实用指南(第二版)》第19章 规模化训练和部署TensorFlow模型

加速训练的方法之一是使用GPU或TPU。要进一步加快,可以在多个机器上训练,每台机器上都有硬件加速。TensorFlow的Distribution Strategies API可以轻松实现多机训练。...要检测TensorFlow是否连接GPU,如下检测: >>> import tensorflow as tf >>> tf.test.is_gpu_available() True >>> tf.test.gpu_device_name...带宽饱和 无论使用同步还是异步更新,集中式参数都需要模型复制和参数模型在每个训练步开始阶段的通信,以及在训练步的后期和梯度在其它方向的通信。...使用Distribution Strategies API做规模训练 许多模型都可以用单一GPU或CPU来训练。但如果训练太慢,可以将其分布到同一台机器上的多个GPU上。...为什么使用gRPC API而不是REST API,查询TF Serving模型? 在移动和嵌入设备上运行,TFLite减小模型的大小有什么方法? 什么是伪量化训练,有什么用?

6.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Object Detection API 现已支持 TensorFlow 2

    COCO 预训练权重:可用于所有以基于对象的检查点(TF2 代码风格)形式提供的模型。...而现在我们支持将同步训练作为主要策略;我们的 TF2 模型可使用同步多 GPU 和 TPU 平台进行训练。 与 Eager 模式兼容的小样本训练和推理的 Colab 演示。...我们在其中加入了一个有趣的示例,是一个演示如何使用基于微调的小样本训练(仅使用五个示例图像!)来训练橡胶鸭子检测器的教程。...可能有很多团队正在努力执行类似的迁移项目,因此我们认为,有必要将我们的思维过程和方法分享出来。即使那些不使用 TensorFlow 对象检测模型的用户,也能从中获得帮助。...增加单元测试范围,以覆盖 GPU/TPU、TF1 和 TF2。鉴于我们现在需要确保在多个平台(GPU 和 TPU)以及跨 TF 版本上的功能可用性,我们新设计了一个灵活的单元测试框架。

    1.1K10

    精通 TensorFlow 2.x 计算机视觉:第三、四部分

    我们还将针对如何训练自己的自定义图像以使用 TensorFlow 对象检测 API 开发对象检测模型进行详细的练习。...在本章中,我们将使用 TensorFlow 对象检测器执行以下任务: 使用 Google Cloud 和 Coco 数据集上的预训练模型进行对象检测 使用 TensorFlow Hub 和 Coco 数据集上的预训练模型进行对象检测...使用 TensorFlow 和 Google Colab 训练自定义对象检测器 在本练习中,我们将使用 TensorFlow 对象检测 API 使用四种不同的模型训练自定义对象检测器。...训练模型是通过以下五个步骤执行的,这些步骤也在代码中概述: 指定配置文件。 指定输出模型目录。 指定发送STDERR文件的位置。 指定训练步骤数。 指定验证步骤的数量: !...先前描述的开放模型动物园具有各种预先构建的模型,例如用于人脸检测,人检测,自行车检测等的模型。 这些模型已经过训练,因此我们将在本章中仅出于推理目的使用这些模型。

    5.8K20

    使用 TensorFlow 进行分布式训练

    使用此 API,您只需改动较少代码就能基于现有模型和训练代码来实现单机多卡,多机多卡等情况的分布式训练。 tf.distribute.Strategy 旨在实现以下目标: 覆盖不同维度的用户用例。...来自 TensorFlow 如果要在协调器上运行,您需要使用 ParameterServerStrategy 对象来定义训练步骤,并使用 ClusterCoordinator 将训练步骤分派给远程工作者...例如,在优化器中,我们可以执行 tf.distribute.get_strategy() 并使用该策略来规约梯度,而它将始终返回一个我们可以在其上调用 Strategy.reduce API 的策略对象...在默认策略中,与没有任何分布策略的 TensorFlow 运行相比,变量放置逻辑保持不变。但是当使用 OneDeviceStrategy 时,在其作用域内创建的所有变量都会被显式地放在指定设备上。...MirroredStrategy 负责将模型的训练复制到可用的 GPU 上,以及聚合梯度等。

    1.5K20

    怎样在树莓派上轻松实现深度学习目标检测?

    分类,为图像指定一个标签。 2. 定位,对特定的标签指定一个边框。 3. 物体检测,在图像中绘制多个边框。 4. 图像分割,得到物体在图像中的精确位置区域。...收集图像(每个对象至少100张) 对于这个任务,你或许需要为每个对象收集100张图像。尽量捕捉与将用于决策的数据关联性更强的图像。 ? 步骤2. 注释(手动在图像上绘制边框) 在图像上绘制边界框。...您可以使用 labelImg 之类的工具。 你通常需要一些人来为你的图像注释。 这是一项相当耗时的任务。 ? 第二阶段——在一个有GPU的机器上训练模型 步骤3....在GPU上进行训练(像AWS/GCP之类的云服务或者你自己的具有GPU机器): ?...通过对权重的很多微调来完成神经网络的训练,而且这项工作需要这些小的增量通常要达到浮点精度(尽管这里也在努力研究使用量化模型表示)。 采用一个预训练好的模型和运行推理是非常不同的。

    1.6K30

    TensorFlow 智能移动项目:1~5

    “TF 检测”使用另一种模型,称为单发多框检测器(SSD)和 MobileNet,这是 Google 发布的一组新的深度学习模型,专门针对移动和嵌入式设备, 要执行对象检测,请在检测到的对象上绘制矩形。...TensorFlow 对象检测 API 当前支持的大多数预训练模型都在 80 级 MS COCO 数据集上进行了训练(有关预训练模型及其训练的数据集的完整列表,请参见这里。...设置 TensorFlow 对象检测 API TensorFlow 对象检测 API 在其官方网站上有详细记录,您一定要查看其“快速入门:用于现成的推断的 Jupyter 笔记本”指南,快速介绍了如何在...TensorFlow 检测模型动物园中提供了 TensorFlow 对象检测 API 支持的预训练模型的完整列表,并且大多数都是使用 MS COCO 数据集进行训练的。...然后,我们详细介绍了如何使用 TensorFlow 对象检测 API 通过预训练的模型进行现成的推理,以及如何在 Python 中重新训练预训练的 TensorFlow 对象检测模型。

    4.5K20

    TensorFlow.js 入门指南:让你的JavaScript应用拥有机器学习能力

    TensorFlow.js是由Google开发的一个开源库,允许你直接在浏览器和Node.js环境中定义、训练和运行机器学习模型。 为什么选择TensorFlow.js?...使用TensorFlow.js有以下几个优点: 跨平台:可以在浏览器、Node.js、移动设备,甚至物联网设备上运行模型。 高性能:利用WebGL在浏览器中进行GPU加速计算。...使用模型进行预测 model.predict(tf.tensor2d([5], [1, 1])).print(); }); 运行你的Node.js脚本: node main.js 构建和训练机器学习模型...定义模型 在TensorFlow.js中,你可以使用顺序API或功能性API定义模型。顺序API适用于简单的、可堆叠的层,而功能性API则更灵活,可以处理更复杂的架构。...对象检测涉及识别图像中的对象并定位它们。

    63010

    转载|在TensorFlow和PaddleFluid中使用多块GPU卡进行训练

    深度学习模型的训练往往非常耗时,在较大数据集上训练或是训练复杂模型往往会借助于 GPU 强大的并行计算能力。...如何能够让模型运行在单个/多个 GPU 上,充分利用多个 GPU 卡的计算能力,且无需关注框架在多设备、多卡通信实现上的细节是这一篇要解决的问题。 这一篇我们以 RNN 语言模型为例。...请注意,这一篇我们主要关于 如何利用多 GPU 卡进行训练,请尽量在有多 块 GPU 卡的机器上运行本节示例。...,那么这 些计算将运行在指定的设备上。...在定义神经网络模型时,需要创建 varaiable_scope ,同时指定 reuse=tf.AUTO_REUSE ,保证多个 GPU 卡上的可学习参数会是共享的。

    1.2K30

    目标检测笔记二:Object Detection API 小白实践指南

    cs231n 网络上已经有一堆原理说明文了,但是纯小白要实践来看看却总是很不知所措,因此本文偏小白详细描述如何运作项目,其次过度封装好的数据,也让小白想应用的时候无从下手,因此本文完成一个简单demo...API必须使用TFRecord的档案格式,我用的是2007年的数据集,如果你手边有2012年的--year要改成2012.  ...含预训练好的模型,和2007年的数据 数据预处理 解压缩VOCtrainval然后运行create_pascal_tf_record.py来处理成TFRecord。...做的事情分为三个部分 将每张图片注释参数(图片的宽度与高度,对象边界框,类名称,…等)跟标签映射(类ID跟类名称的对应关系)读出来并塞进tf.train.Example协议缓冲区 将tf.train.Example...${定义的Config} \     --checkpoint_dir=${训练模型存放的目录} \     --eval_dir=${测试结果要存放的目录} 之后再针对这个demo启动tensorboard

    1K41

    精通 TensorFlow 1.x:16~19

    Android 演示将在您的 Android 设备上安装以下四个应用: TF Classify:这是一个对象识别应用,用于识别设备摄像头输入中的图像,并在其中一个预定义的类中对其进行分类。...它不会学习新类型的图片,但会尝试将它们分类为已经学过的类别之一。该应用使用 Google 预训练的初始模型构建。 TF Detect:这是一个物体检测应用,可检测设备相机输入中的多个物体。...例如 Android NN API 在 TFLite 中使用模型的工作流程如下: 获取模型:您可以训练自己的模型或选择可从不同来源获得的预训练模型,并按原样使用预训练或使用您自己的数据再训练,或在修改某些部分后再训练该模型...为了在 TPU 上构建模型,使用以下三个 TPU 特定的 TensorFlow 模块: tpu_config:tpu_config模块允许您创建配置对象,其中包含有关将运行模型的主机的信息。...要在 TPU 上运行估计器,我们创建此类的对象。 tpu_optimizer:tpu_optimizer模块包装优化器。

    4.9K10

    校园视频AI分析识别算法 TensorFlow

    校园视频AI分析识别算法通过分布式TensorFlow模型训练,校园视频AI分析识别算法对学生的行为进行实时监测,当系统检测到学生出现打架、翻墙、倒地、抽烟等异常行为时算法将自动发出警报提示。...在做算法模型训练过程中,深度学习应用到实际问题中,一个非常棘手的问题是训练模型时计算量太大。为了加速训练,TensorFlow可以利用GPU或/和分布式计算进行模型训练。...TensorFlow可以通过td.device函数来指定运行每个操作的设备,这个设备可以是本设备的CPU或GPU,也可以是远程的某一台设备。...校园视频AI分析识别算法训练过程中TensorFlow主要特性有:使用灵活:TensorFlow是一个灵活的神经网络学习平台,采用图计算模型,支持High-Level的API,支持Python、C++、...高性能:TensorFlow中采用了多线程,队列技术以及分布式训练模型,实现了在多CPU、多GPU的环境下分布式训练模型。

    28010

    TensorFlow 2.0 的新增功能:第一、二部分

    程序员可以在 CPU,GPU 或 TPU 上运行基于 Estimator 的模型,而无需重新编码他们的模型。 估计器简​​化了团队中不同开发人员之间或使用不同环境或栈的团队之间的共享实现。...重要的是要确保在将原始输入数据输入模型之前对其进行管理,因为它会影响运行时模型训练的效率。 在许多情况下,原始数据可以存储在数据库中,例如 MySQL,MS SQL,MongoDB 等。...这些将在下一节中解释,我们将在其中讨论数据集的转换。 转换数据集 创建数据集对象后,需要根据模型要求对其进行转换。...有关如何使用tf.custom_gradient的更多示例,请参见这里。 分布式训练 TF 2.0 的优点之一是能够在多个 GPU 和 TPU 上以分布式方式训练和推断模型,而无需编写大量代码。...GPU 上以分布方式在 GPU 上使用各种可用的损失函数,优化器和超参数查看构建,编译和拟合模型。

    3.7K10

    Python 数据科学入门教程:TensorFlow 目标检测

    这个 API 可以用于检测图像和/或视频中的对象,带有使用边界框,使用可用的一些预先训练好的模型,或者你自己可以训练的模型(API 也变得更容易)。...将这些数据分解成训练/测试样本 从这些分割生成 TF 记录 为所选模型设置.config文件(你可以从头自己开始训练,但是我们将使用迁移学习) 训练 从新的训练模型导出图形 实时检测自定义对象!...四、创建 TFRecord 欢迎阅读 TensorFlow 目标检测 API 系列教程的第 4 部分。在本教程的这一部分,我们将介绍如何创建 TFRecord 文件,我们需要它来训练对象检测模型。...接下来,为了使用它,我们需要在 github 克隆的模型目录内运行,或者可以更正式地安装对象检测 API。...五、训练自定义对象检测器 欢迎阅读 TensorFlow 对象检测 API 系列教程的第 5 部分。在本教程的这一部分,我们将训练我们的对象检测模型,来检测我们的自定义对象。

    1.4K30

    ·TensorFlow&Keras GPU使用技巧

    GPU显存的时候,用户可以设定此任务占用的GPU显存大小,现在再使用GPU进行新的任务时,就可以并行运行了 如果有多个GPU可以默认指定任务在不同GPU上。...(推测变慢的原因是两个任务并行运算时,对GPU压力更大,每个任务上分配的性能就会降低,类似于在电脑上跑多个任务,电脑会卡顿) 这样做要注意一点,在分配显存空间后,模型训练占据的内存要设置好(这个是指实际占用内存...有两种方法可以在多张GPU上运行一个模型:数据并行/设备并行 大多数情况下,你需要的很可能是“数据并行” 数据并行 数据并行将目标模型在多个设备上各复制一份,并使用每个设备上的复制品处理整个数据集的不同部分数据...,运行在每块GPU上的模型为同一个神经网络,网络结构完全一样,并且共享模型参数。...中,每个batch里,对RPN进行训练,测试后的结果作为检测网络的输入,来训练,最后把2个模型对参数的训练结果作为一个模型保存下来。

    1.5K20

    骑车不戴头盔识别检测系统

    骑车不戴头盔识别检测系统技术上采用 Tesnorflow+TensorRT推理组合,精度高速度快更实用。深度学习应用到实际问题中,一个非常棘手的问题是训练模型时计算量太大。...为了加速训练,TensorFlow可以利用GPU或/和分布式计算进行模型训练。...在创建会还时可以指定参数allow_soft_placement 。当allow_soft_placement为True的时候,如果运算无法在GPU上运行,TF会自动将其放在CPU 上运行。...如果需要记忆不提升深度学习模型的训练效果,就需要将TensorFlow分布式的运行在多台计算机上。TensorFlow集群通过一系列的任务(tasks)来执行TF计算图中的运算。...当一个TF集群有多个任务的时候,需要使用tf.train.ClusterSpec来指定运行每一个人物的机器。图片

    91550

    TensorFlow 2.0 的新增功能:第三、四部分

    这包括使用预训练的模型,定制训练的模型或微调的模型。 TFLite 团队提供了一组预训练和预转换的模型,可以解决各种机器学习问题。 这些包括图像分类,对象检测,智能回复,姿势估计和分割。...这是 Edge TPU 支持的唯一量化,并允许在其上运行 TFLite 模型。...要使用它,请通过指定模型来创建实例,然后将图像传递到该实例的ClassifyWithImage()方法,该方法返回标签和分数列表。 DetectionEngine API,用于执行对象检测。...与先前的 API 一样,通过指定模型文件来创建实例,然后运行DetectWithImage()方法,该方法返回检测候选对象的列表,每个候选对象包含一个标签,一个得分和该对象的坐标。...视觉套件 视觉套件提供了构建智能相机的功能,该相机可以使用机器学习来查看和识别对象,甚至可以在其上运行自定义 TF 模型。

    2.4K20

    更快的iOS和macOS神经网络

    一个高效的模型能够在实时视频上获得实时结果 - 无需耗尽电池或使手机变热,就可以在其上煎鸡蛋。 传统的神经网络,如VGGNet和ResNet要求太高,我通常建议切换到MobileNet。...相机以30 FPS运行,神经网络可以轻松跟上,即使在这款旧手机上也是如此。(这个版本的SSDLite是在COCO上训练的。要在你的应用程序中使用它,你通常会在你自己的数据集上重新训练它。)...如果您使用Keras,Caffe或MXNet训练模型,将模型转换为Core ML文件并将其嵌入您的应用程序非常容易。如果您使用TensorFlow训练模型,TF Lite是一个不错的选择。...方便的帮助程序类,可以轻松地将模型放入您自己的应用程序并解释其预测。 预先训练好的模型可以快速入门。 有关如何使用API​​的文档。 示例应用。...注意:由于iOS的限制,当应用程序在后台时,无法使用GPU。如果您的应用需要在应用程序后台运行时运行神经网络,则无法使用此库。在这种情况下,使用Core ML或TF Lite是更好的选择。

    1.4K20

    学习笔记 TF061 : 分布式 TensorFlow,分布式原理、最佳实践

    代码tf.device()指定运行操作设备。优势,单机多GPU间通信,效率高。劣势,手动代码指定设备。 多工作节点部署。一台服务器运行多个工作节点。...劣势,训练数据分发在一个节点上,要分发给不同工作节点,严重影响并发训练速度。...模型并行、数据并行,TensorFlow中,计算可以分离,参数可以分离。可以在每个设备上分配计算节点,让对应参数也在该设备上,计算参数放一起。 分布式API。...tf.device(device_name_or_function)。设定指定设备执行张量运算,批定代码运行CPU、GPU。...) # 分配worker到指定gpu上运行 worker_device = "/job:worker/task:%d/gpu:%d" % (FLAGS.task_index, gpu)

    5K21
    领券