千家信息网

未探索的TensorFlow库都有哪些

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章给大家介绍未探索的TensorFlow库都有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。TensorFlow是一个端到端的开源机器学习平台,能够执行一系列任务。它为
千家信息网最后更新 2025年02月16日未探索的TensorFlow库都有哪些

这篇文章给大家介绍未探索的TensorFlow库都有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

TensorFlow是一个端到端的开源机器学习平台,能够执行一系列任务。它为初学者和研究人员提供了一个易用性,可以用于不同的应用,如,但不限于,计算机视觉,自然语言处理和强化学习。

在计算机视觉领域,我们大多数人都熟悉TensorFlow的核心以及TensorFlow Lite和JS。它们用于在移动设备和边缘设备上运行模型,为后者在web上运行模型。然而,TensorFlow还提供了更多神秘的库,我们将在文中对此进行解释。


TensorFlow模型优化工具包

实时模型对于许多商业操作是必不可少的。MobileNet的推理速度使它成为了众人瞩目的焦点,即使这意味着要牺牲一点准确性。

优化TensorFlow模型首先想到的是将其转换为TensorFlow lite服务。但是,这在桌面上不太好用,因为它是为ARM neon优化的。这篇问题对此进行了解释(https://github.com/tensorflow/tensorflow/issues/35380),否则我们需要进一步优化模型。模型优化工具箱可以帮助我们完成这些任务。根据其主页,它可以用于:

减少云和边缘设备(如移动设备、物联网)的延迟和推理成本。

将模型部署到边缘设备,并限制处理、内存、功耗、网络使用和模型存储空间。

支持对现有硬件或新的专用加速器执行和优化。

它可以应用于已经训练过的模型,也可以在训练期间用于进一步优化解决方案。在编写本文时,它提供了三种技术,以及其他一些正在进行的改进模型的技术。

修剪

第一种方法是权重剪枝。它的工作原理是删除层之间的一些连接,从而减少所涉及的参数和操作的数量,从而优化模型。在训练过程中消除了不必要的张量。这有助于缩小模型的大小,通过训练后量化可以进一步减小模型的大小。

与只在训练期间进行的修剪不同,量化可以在训练和测试中进行。Tensorflow Lite模型也被量化为使用8位整数,而不是通常使用的32位浮点。这提高了性能和效率,因为整数运算比浮点运算快得多。

然而,这是有代价的。量化是一种有损技术。这意味着先前从-3e38到3e38表示的信息必须从-127表示到127。这回引入更多错误。为了解决这个问题,可以在训练期间应用量化。

量化训练

通过在训练中应用量化,我们迫使模型学习它将导致的差异并相应地采取行动。量化误差作为噪声引入,优化器试图将其最小化。用这种方法训练的模型具有与浮点模型相当的精度。很有意思的是,我们可以比较一下用这种方法创建的Tensorflow-Lite模型与普通模型。

训练后量化

虽然最好在训练期间应用量化,但有时这样做是不可行的,因为我们可能有预训练好的权重可供使用。

权重聚类

它将相似的权重组合起来,并用一个值替换它们。它可以想象成JPEG压缩。此外,由于相似的权重被插值到相同的数目,它也是有损的。

权重矩阵原本存储浮点值。这些值被转换成整数,整数代表簇号。我们再存储包含簇的查找表以便查询。这减少了所需的空间,因为整数需要更少的存储空间。

如下面的示例所示,16个float-32值被指定给4个float-32质心,层权重被转换为整数值。权重矩阵越大,节省的空间就越大。

TensorFlow Graphics

TensorFlow graphics旨在将计算机视觉和计算机图形学结合起来,解决复杂的三维任务。

计算机图形工作流需要三维对象及其在场景中的绝对位置、对它们由灯光构成的材质的描述以及生成合成渲染的摄影机。另一方面,计算机视觉工作流将从图像开始,并尝试推导其参数。

这可以看作是一个自编码器,视觉系统(编码器)将尝试查找参数,而图形系统(解码器)将基于这些参数生成图像,并与原始图像进行比较。此外,该系统不需要标记数据,也不需要以自我监督的方式训练。一些用途是:

  1. 变换-可以对对象执行旋转和平移等对象变换。这可以通过神经网络学习来精确地找到物体的位置。它对于需要精确估计这些物体位置的机械手臂很有用。

  2. 建模摄像机-可以设置不同的摄像机内部参数来改变图像的感知方式。例如,更改摄影机的焦距会更改对象的大小。

  3. 材料-可以使用具有不同类型光反射能力的不同类型的材料。因此,创建的场景可以精确地模拟对象在真实世界中的行为。

  4. 三维卷积和池(点云和网格)-它有三维卷积和池层,允许我们对三维数据进行语义分类和分割。

  5. TensorBoard 3D-3D数据变得越来越普遍,可以用来解决从2D数据进行三维重建、点云分割、3D对象变形等问题。通过TensorBoard 3D,这些结果可以可视化,从而更好地了解模型。

进一步阅读:https://blog.tensorflow.org/2019/05/introducing-tensorflow-graphics_9.html

TensorFlow Federated

这个库也可以用于计算机视觉以外的其他领域。随着移动设备和边缘设备数量的增加,产生了大量的数据。

联邦学习的目标是在分散数据上执行机器学习,即在设备本身上!这意味着不需要向服务器上传大量(敏感)数据。它已经在谷歌键盘上使用。

TensorFlow Privacy

通过隐私攻击可以从经过训练的ML模型中提取敏感信息。

左侧是仅使用人名和模型重建的图像。右边的图像是原始图像。

同样,像TensorFlow Federated一样,这并不是计算机视觉所独有的。最常用的技术是差分隐私。

差分隐私一种公开共享数据集信息的系统,通过描述数据集中组的模式,同时保留数据集中个人的信息。

假设敏感信息不会在数据集中完全重复,通过使用差分隐私模型,可以确保模型不会学习此类信息。

例如,假设有一个人与人之间聊天的数据集。现在,聊天中传递的敏感信息可以是密码、银行帐户详细信息等。因此,如果在这个数据集上创建了一个模型,则差分隐私将确保该模型无法学习这些细节,因为这些信息的数量很少。阅读这篇关于差分隐私的文章,它还包含了执行它的代码。

TensorFlow Hub

你们中的大多数人一定对这个库有所了解,所以我对它的介绍将非常简短。

TensorFlow Hub是一个在TensorFlow中发布、发现和重用部分机器学习模块的平台。把它称为TensorFlow模型的GitHub是正确的。

开发人员可以共享他们预训练过的模型,然后可以被其他人重用。通过重用,开发人员可以使用较小的数据集训练模型,提高泛化能力,或者只是加快训练速度。让我们快速了解一下现有的几种不同的计算机视觉模型。

  • 图像分类--从MobileNet到Inception 再到EfficientNet,有一百多个可用于此任务的模型。说出你想要的任何型号,很可能会在那里找到它。

  • 对象检测和分割-同样,你需要的任何模型都可以在这里找到,特别是在COCO数据集上训练的TensorFlow model-zoo对象检测器的集合中。Deeplab架构在图像分割领域占据主导地位。还有大量的TfLite和TensorFlow Js模型可用。

  • 图像样式化-图像样式化的不同的主干,以及一个卡通感兴趣。

  • **生成对抗网络-**提供了像Big GAN和Compare GAN这样的GAN模型,在ImageNet和Celeb数据集上进行训练。还有一个无边界的GAN,可以用来生成摄像机捕捉到的场景之外的区域。此外,他们中的大多数有一个Colab Notebook,所以实现他们不会太难。

关于未探索的TensorFlow库都有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

模型 训练 数据 图像 计算机 学习 信息 对象 权重 视觉 设备 不同 隐私 三维 参数 整数 应用 任务 技术 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发文档排版海报 网络安全教育怎么画还有字 游戏王md游戏服务器没有响应 敏捷软件开发模型特点 破解sqlite数据库代码 编程软件开发需要标准指法吗 防病毒服务器管理 金融信息基础数据库的功能有哪些 有光网络技术有限公司 软件开发教学培训是骗局吗 软件开发钉钉日志范文100篇 长沙网络技术支持工程师招聘 江西pdu服务器电源厂家有哪些 软考数据库系统工程师百度网盘 山东互联网展览科技馆设计 网络技术零基础教程视频 南京电视广播大学试卷数据库 找到诈骗软件开发者管用吗 教师课堂网络技术 本地ftp服务器同时访问数量 接续oracle数据库 当代人学习网络安全知识是因为 obs连接服务器配置 大一计算机网络技术 利用网络软件开发 网络安全绘图内容 大专网络技术学费 华为服务器外包装不干胶模板 数据库别名可以分组么 怎么通过管理口登录服务器
0