chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于嵌入向量的全新設(shè)備端搜索庫(kù)

Tensorflowers ? 來(lái)源:TensorFlow ? 作者:TensorFlow ? 2022-06-02 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今年的 I/O 大會(huì)上,我們很高興宣布推出一個(gè)基于嵌入向量的全新設(shè)備端搜索庫(kù),讓您在幾毫秒的時(shí)間內(nèi)即可從數(shù)百萬(wàn)個(gè)數(shù)據(jù)樣本中快速找到相似的圖像、文本或音頻。

693921c2-e1ae-11ec-ba43-dac502259ad0.gif

此搜索庫(kù)通過(guò)使用模型,將搜索查詢嵌入到表示查詢語(yǔ)義的高維向量中來(lái)執(zhí)行搜索。隨后搜索庫(kù)使用 ScaNN(可擴(kuò)容最近鄰算法)從預(yù)定義的數(shù)據(jù)庫(kù)中搜索相似項(xiàng)目。為將搜索庫(kù)應(yīng)用到您的數(shù)據(jù)集,您需要使用 Model Maker Searcher API教程)構(gòu)建自定義 TFLite Searcher 模型,然后使用 Task Library Searcher API(視覺/文本)將其部署到設(shè)備上。

  • ScaNN

    https://github.com/google-research/google-research/tree/master/scann

  • 教程

    https://tensorflow.google.cn/lite/tutorials/model_maker_text_searcher

  • 視覺

    https://tensorflow.google.cn/lite/inference_with_metadata/task_library/image_searcher

  • 文本

    https://tensorflow.google.cn/lite/inference_with_metadata/task_library/text_searcher

例如,使用在 COCO 上訓(xùn)練的 Searcher 模型,搜索查詢:“A passenger plane on the runway”,系統(tǒng)將返回以下圖像:

  • COCO

    https://cocodataset.org/#home

699b9668-e1ae-11ec-ba43-dac502259ad0.png

圖 1:所有圖像均來(lái)自 COCO 2014 訓(xùn)練和驗(yàn)證數(shù)據(jù)集。圖像 1 由 Mark Jones Jr. 依據(jù)《版權(quán)歸屬許可證》提供。圖像 2 由 305 Seahill 依據(jù)《版權(quán)歸屬-禁止演繹許可證》提供。圖像 3 由 tataquax 依據(jù)《版權(quán)歸屬-相同方式共享許可證》提供。

在本文中,我們將向您介紹使用新 TensorFlow Lite Searcher Library 構(gòu)建文本到圖像搜索功能的端到端示例(根據(jù)給定文本查詢檢索圖像)。以下是主要步驟:

1. 使用 COCO 數(shù)據(jù)集訓(xùn)練用于圖像和文本查詢編碼的雙編碼器模型。

2. 使用 Model Maker Searcher API 創(chuàng)建文本到圖像 Searcher 模型。

3. 使用 Task Library Searcher API 檢索帶有文本查詢的圖像。

訓(xùn)練雙編碼器模型

6a25f6c8-e1ae-11ec-ba43-dac502259ad0.png

圖 2:用點(diǎn)積相似距離訓(xùn)練雙編碼器模型。損失函數(shù)可為相關(guān)圖像和文本賦予更大的點(diǎn)積(陰影綠色方塊)

雙編碼器模型由圖像編碼器和文本編碼器組成。兩個(gè)編碼器分別將圖像和文本映射到高維空間中的嵌入向量。雙編碼器模型計(jì)算圖像和文本嵌入向量之間的點(diǎn)積,同時(shí)損失函數(shù)可為相關(guān)圖像和文本賦予更大的點(diǎn)積(更接近),而為不相關(guān)的圖像和文本賦予更小的點(diǎn)積(更遠(yuǎn))。

整個(gè)訓(xùn)練過(guò)程受到了 CLIP 論文和本 Keras 示例的啟發(fā)。圖像編碼器是在預(yù)訓(xùn)練 EfficientNet 模型的基礎(chǔ)上構(gòu)建而成,而文本編碼器則是基于預(yù)訓(xùn)練通用語(yǔ)句編碼器模型。

  • CLIP

    https://arxiv.org/abs/2103.00020

  • Keras 示例

    https://keras.io/examples/nlp/nl_image_search/

  • EfficientNet

    https://hub.tensorflow.google.cn/google/imagenet/efficientnet_v2_imagenet21k_ft1k_s/feature_vector/2

  • 通用語(yǔ)句編碼器

    https://hub.tensorflow.google.cn/google/universal-sentence-encoder-lite/2

系統(tǒng)隨后會(huì)將兩個(gè)編碼器的輸出投影到 128 維空間并進(jìn)行 L2 歸一化。對(duì)于數(shù)據(jù)集,我們選擇使用 COCO,因?yàn)樵摂?shù)據(jù)集的訓(xùn)練和驗(yàn)證分塊會(huì)為每個(gè)圖像人工生成字幕。請(qǐng)查看配套的 Colab notebook,了解訓(xùn)練過(guò)程的詳細(xì)信息。

  • Colab notebook

    https://colab.sandbox.google.com/github/tensorflow/tflite-support/blob/master/tensorflow_lite_support/examples/colab/on_device_text_to_image_search_tflite.ipynb

雙編碼器模型可以從沒有字幕的數(shù)據(jù)庫(kù)中檢索圖像,因?yàn)樵诮?jīng)過(guò)訓(xùn)練后,圖像嵌入器可以直接從圖像中提取語(yǔ)義,而無(wú)需人工生成的字幕。

使用 Model Maker 創(chuàng)建文本

到圖像 Searcher 模型

6aba0ad4-e1ae-11ec-ba43-dac502259ad0.png

圖 3:使用圖像編碼器生成圖像嵌入向量,并使用 Model Maker 創(chuàng)建 TFLite Searcher 模型

完成對(duì)雙編碼器模型的訓(xùn)練后,我們可以使用它來(lái)創(chuàng)建 TFLite Searcher 模型,該模型可根據(jù)文本查詢,從圖像數(shù)據(jù)集中搜索最相關(guān)的圖像。模型創(chuàng)建分為以下三大步驟:

1. 使用 TensorFlow 圖像編碼器生成圖像數(shù)據(jù)集的嵌入向量。ScaNN 能夠搜索非常龐大的數(shù)據(jù)集,因此我們結(jié)合了 COCO 2014 的訓(xùn)練和驗(yàn)證分塊(總計(jì)超過(guò) 12.3 萬(wàn)張圖像),以展示其搜索性能。相關(guān)代碼請(qǐng)查閱此處(1)。

2. 將 TensorFlow 文本編碼器模型轉(zhuǎn)換為 TFLite 格式。相關(guān)代碼請(qǐng)查閱此處(2)。

3. 使用 Model Maker,通過(guò) TFLite 文本編碼器和使用以下代碼的圖像嵌入向量創(chuàng)建 TFLite Searcher 模型:

  • 此處(1)

    https://colab.sandbox.google.com/github/tensorflow/tflite-support/blob/master/tensorflow_lite_support/examples/colab/on_device_text_to_image_search_tflite.ipynb#scrollTo=Bp0qBKkyu4jA

  • 此處(2)

    https://colab.research.google.com/github/tensorflow/tflite-support/blob/master/tensorflow_lite_support/examples/colab/on_device_text_to_image_search_tflite.ipynb#scrollTo=6Dzye66Xc8vE

#Configure ScaNN options. See the API doc for how to configure ScaNN. 
scann_options = searcher.ScaNNOptions(
      distance_measure='dot_product',
      tree=searcher.Tree(num_leaves=351, num_leaves_to_search=4),
      score_ah=searcher.ScoreAH(1, anisotropic_quantization_threshold=0.2))

# Load the image embeddings and corresponding metadata if any.
data = searcher.DataLoader(tflite_embedder_path, image_embeddings, metadata)

# Create the TFLite Searcher model.
model = searcher.Searcher.create_from_data(data, scann_options)

# Export the TFLite Searcher model.
model.export(
      export_filename='searcher.tflite',
      userinfo='',
      export_format=searcher.ExportFormat.TFLITE)

請(qǐng)?jiān)诖颂幉殚喩戏酱a中提到的 API doc。

  • API doc

    https://tensorflow.google.cn/lite/api_docs/python/tflite_model_maker/searcher/ScaNNOptions

在創(chuàng)建 Searcher 模型時(shí),Model Maker 利用 ScaNN 將嵌入向量編入索引。嵌入向量數(shù)據(jù)集首先被分為多個(gè)子集。在每個(gè)子集中,ScaNN 存儲(chǔ)嵌入向量的量化表征。在檢索時(shí),ScaNN 會(huì)選擇一些最相關(guān)的分區(qū),并按照快速近似距離對(duì)量化表征進(jìn)行評(píng)分。這個(gè)過(guò)程既(通過(guò)量化)節(jié)省了模型大小又(通過(guò)分區(qū)選擇)實(shí)現(xiàn)了加速。請(qǐng)參閱深入研究資料,詳細(xì)了解 ScaNN 算法。

在上方示例中,我們將數(shù)據(jù)集劃分為 351 個(gè)分區(qū)(約是我們擁有的嵌入向量數(shù)量的平方根),并在檢索期間搜索其中的 4 個(gè)分區(qū),即大約是數(shù)據(jù)集的 1%。我們還將 128 維浮點(diǎn)嵌入向量量化為 128 個(gè) int8 值,以節(jié)省空間。


使用 Task Library 運(yùn)行推理

6b297e00-e1ae-11ec-ba43-dac502259ad0.png

圖 4:使用帶有 TFLite Searcher 模型的 Task Library 運(yùn)行推理。推理接收查詢文本并返回最近鄰的元數(shù)據(jù)。我們可以在此找到對(duì)應(yīng)的圖像

如要使用 Searcher 模型查詢圖像,您只需使用 Task Library 的幾行代碼即可,具體如下所示:

from tflite_support.task import text

# Initialize a TextSearcher object
searcher = text.TextSearcher.create_from_file('searcher.tflite')

# Search the input query
results = searcher.search(query_text)

# Show the results
for rank in range(len(results.nearest_neighbors)):
  print('Rank #', rank, ':')
  image_id = results.nearest_neighbors[rank].metadata
  print('image_id: ', image_id)
  print('distance: ', results.nearest_neighbors[rank].distance)
  show_image_by_id(image_id)

可以嘗試一下 Colab 的代碼。此外,歡迎查看更多信息,了解如何使用 Task Library JavaC++ API 集成模型,尤其是在 Android 上的用法。在 Pixel 6 上,每個(gè)查詢通常只需要 6 毫秒。

  • 更多信息

    https://tensorflow.google.cn/lite/inference_with_metadata/task_library/text_searcher

以下是一些示例結(jié)果:

查詢:A man riding a bike

根據(jù)估算的相似距離對(duì)結(jié)果進(jìn)行排序。以下是檢索到的圖像示例。請(qǐng)注意,我們僅會(huì)顯示附有圖像使用許可的圖像。

6b85b4ae-e1ae-11ec-ba43-dac502259ad0.png

圖 5:所有圖像均來(lái)自 COCO 2014 訓(xùn)練和驗(yàn)證數(shù)據(jù)集。圖像 1 由 Reuel Mark Delez 依據(jù)《版權(quán)歸屬許可證》提供。圖像 2 由 Richard Masoner/Cyclelicious 依據(jù)《版權(quán)歸屬-相同方式共享許可證》提供。圖像 3 由 Julia 依據(jù)《版權(quán)歸屬-相同方式共享許可證》提供。圖像 4 由 Aaron Fulkerson 依據(jù)《版權(quán)歸屬-相同方式共享許可證》提供。圖像 5 由 Richard Masoner/Cyclelicious 依據(jù)《版權(quán)歸屬-相同方式共享許可證》提供。圖像 6 由 Richard Masoner/Cyclelicious 依據(jù)《版權(quán)歸屬-相同方式共享許可證》提供。

研究展望

我們將致力于啟用除圖像和文本之外的更多搜索類型,如音頻片段。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3953

    瀏覽量

    142653
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2372

    瀏覽量

    66790
  • 向量
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    12037

原文標(biāo)題:使用 TensorFlow Lite Searcher Library 實(shí)現(xiàn)設(shè)備端文本到圖像搜索

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FSKV:給嵌入設(shè)備一個(gè)“不會(huì)失憶的大腦”

    FSKV是LuatOS系統(tǒng)專為嵌入設(shè)備設(shè)計(jì)的鍵值對(duì)(Key-Value)存儲(chǔ)庫(kù),其作用是在Flash存儲(chǔ)器中持久化存儲(chǔ)鍵值對(duì)數(shù)據(jù),允許開發(fā)者以鍵值對(duì)的形式存儲(chǔ)和檢索數(shù)據(jù),并且這些數(shù)據(jù)會(huì)被持久化存儲(chǔ)
    的頭像 發(fā)表于 01-05 20:13 ?122次閱讀
    FSKV:給<b class='flag-5'>嵌入</b>式<b class='flag-5'>設(shè)備</b>一個(gè)“不會(huì)失憶的大腦”

    請(qǐng)問CW32W031智能搜索需要在發(fā)射和接收分別進(jìn)行哪些配置?

    CW32W031智能搜索需要在發(fā)射和接收分別進(jìn)行哪些配置?需要注意哪些事項(xiàng)?
    發(fā)表于 12-29 07:06

    云端?EDM?器件庫(kù)賦能原理圖Place Part,高效革新設(shè)計(jì)體驗(yàn)!

    在電子原理圖設(shè)計(jì)中,PlacePart(放置元器件)作為搭建電路的起點(diǎn),其效率與精準(zhǔn)度直接影響整體設(shè)計(jì)進(jìn)度。而云端EDM器件庫(kù)的接入,讓這一核心操作突破了本地庫(kù)的局限,為工程師帶來(lái)了全新的高效
    的頭像 發(fā)表于 12-05 18:30 ?551次閱讀
    云端?EDM?器件<b class='flag-5'>庫(kù)</b>賦能原理圖Place Part,高效革<b class='flag-5'>新設(shè)</b>計(jì)體驗(yàn)!

    按圖搜索1688商品API接口技術(shù)實(shí)現(xiàn)指南

    ? 一、接口原理 1688的按圖搜索功能基于圖像特征匹配技術(shù),核心流程如下: 用戶上傳商品圖片 系統(tǒng)提取圖像特征向量 在商品庫(kù)中進(jìn)行相似度匹配 返回相似商品列表 匹配算法通常采用: $$ text
    的頭像 發(fā)表于 11-11 14:18 ?366次閱讀
    按圖<b class='flag-5'>搜索</b>1688商品API接口技術(shù)實(shí)現(xiàn)指南

    京東拍立淘API開發(fā)指南:從零開始構(gòu)建圖像搜索應(yīng)用

    京東圖片識(shí)別搜索API(拍立淘)是基于深度學(xué)習(xí)的視覺搜索服務(wù),通過(guò)卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征向量,結(jié)合近似最近鄰搜索算法實(shí)現(xiàn)商品精準(zhǔn)匹配?。該技術(shù)解決了傳統(tǒng)文字
    的頭像 發(fā)表于 11-09 17:40 ?2161次閱讀

    按圖搜索1688商品的API接口

    服務(wù)(如ImageSearch)實(shí)現(xiàn)類似功能。本技術(shù)帖將逐步介紹原理、實(shí)現(xiàn)步驟和代碼示例,幫助你構(gòu)建一個(gè)可用的API接口。 1. 圖像搜索原理 按圖搜索的核心是基于內(nèi)容的圖像檢索(CBIR),它通過(guò)提取圖像特征向量并進(jìn)行相似度計(jì)
    的頭像 發(fā)表于 10-22 15:05 ?613次閱讀
    按圖<b class='flag-5'>搜索</b>1688商品的API接口

    在中斷向量表中,數(shù)字較小的中斷向量能否以 larg 中斷中斷向量?

    在中斷向量表中,數(shù)字較小的中斷向量能否以 larg 中斷中斷向量
    發(fā)表于 08-21 08:17

    全新導(dǎo)航庫(kù)Jetpack Navigation 3發(fā)布

    在應(yīng)用中的不同屏幕之間導(dǎo)航理應(yīng)簡(jiǎn)單明了。然而,構(gòu)建穩(wěn)健、可擴(kuò)展且賞心悅目的導(dǎo)航體驗(yàn)卻并非易事。多年來(lái),Jetpack Navigation 庫(kù)一直是開發(fā)者的重要工具,但隨著 Android 界面格局的演變,尤其是 Jetpack Compose 的興起,我們意識(shí)到是時(shí)候探索一種
    的頭像 發(fā)表于 08-06 13:56 ?1281次閱讀

    第二十六章 W55MH32?上位機(jī)搜索和配置示例

    。文章詳細(xì)介紹了上位機(jī)的概念、特點(diǎn)、應(yīng)用場(chǎng)景以及搜索和配置的基本工作流程,幫助讀者理解其在嵌入設(shè)備管理中的實(shí)際應(yīng)用價(jià)值。
    的頭像 發(fā)表于 07-24 16:13 ?907次閱讀
    第二十六章 W55MH32?上位機(jī)<b class='flag-5'>搜索</b>和配置示例

    產(chǎn)品搜索與過(guò)濾API接口

    這些功能。本文將詳細(xì)介紹其原理、設(shè)計(jì)實(shí)現(xiàn)和實(shí)際應(yīng)用,幫助您逐步構(gòu)建可靠的API系統(tǒng)。 1. 什么是產(chǎn)品搜索與過(guò)濾API接口 產(chǎn)品搜索與過(guò)濾API接口是一種基于HTTP的接口,允許客戶發(fā)送請(qǐng)求來(lái)查詢產(chǎn)品數(shù)據(jù),并根據(jù)特定條件篩選結(jié)
    的頭像 發(fā)表于 07-24 14:35 ?562次閱讀
    產(chǎn)品<b class='flag-5'>搜索</b>與過(guò)濾API接口

    Kioxia推出UFS 4.1版本嵌入式閃存設(shè)備樣品

    全球存儲(chǔ)解決方案領(lǐng)導(dǎo)者Kioxia Corporation今日宣布,已開始提供全新的通用閃存存儲(chǔ)(2)?(UFS) 4.1版本嵌入式存儲(chǔ)設(shè)備樣品,進(jìn)一步鞏固其在高性能存儲(chǔ)領(lǐng)域的領(lǐng)先地位。這些
    的頭像 發(fā)表于 07-10 14:35 ?904次閱讀

    milvus向量數(shù)據(jù)庫(kù)的主要特性和應(yīng)用場(chǎng)景

    Milvus 是一個(gè)開源的向量數(shù)據(jù)庫(kù),專門為處理和分析大規(guī)模向量數(shù)據(jù)而設(shè)計(jì)。它適用于需要高效存儲(chǔ)、檢索和管理向量數(shù)據(jù)的應(yīng)用場(chǎng)景,如機(jī)器學(xué)習(xí)、人工智能、計(jì)算機(jī)視覺和自然語(yǔ)言處理等。
    的頭像 發(fā)表于 07-04 11:36 ?1075次閱讀
    milvus<b class='flag-5'>向量</b>數(shù)據(jù)<b class='flag-5'>庫(kù)</b>的主要特性和應(yīng)用場(chǎng)景

    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智云方案(二)

    ,我們還將討論如何移植HAL庫(kù)和標(biāo)準(zhǔn)庫(kù)以實(shí)現(xiàn)與機(jī)智云的兼容,幫助開發(fā)者更高效地完成項(xiàng)目的云平臺(tái)接入。代碼下載注意:此時(shí)手機(jī)app的該設(shè)備為網(wǎng)頁(yè)
    的頭像 發(fā)表于 05-28 18:02 ?1406次閱讀
    基于STM32 HAL<b class='flag-5'>庫(kù)</b>與標(biāo)準(zhǔn)<b class='flag-5'>庫(kù)</b>的esp8266接入機(jī)智云方案(二)

    Redis 8 向量搜索實(shí)測(cè):輕松擴(kuò)展至 10 億向量

    艾體寶Redis 8 向量搜索實(shí)測(cè)輕松支持 10 億向量,仍保持低延遲與高吞吐。中位延遲僅200毫秒,90%精確度;處理50并發(fā)搜索請(qǐng)求中位延遲僅1.3秒,95%精確度。
    的頭像 發(fā)表于 05-13 14:00 ?756次閱讀
    Redis 8 <b class='flag-5'>向量</b><b class='flag-5'>搜索</b>實(shí)測(cè):輕松擴(kuò)展至 10 億<b class='flag-5'>向量</b>

    ETAS全新嵌入式AI解決方案

    “將訓(xùn)練后的AI神經(jīng)網(wǎng)絡(luò)模型,自動(dòng)化生成安全且高效的C代碼,用于嵌入式系統(tǒng)” ,近日ETAS攜全新的智能化工具Embedded AI Coder亮相2025上海國(guó)際車展。
    的頭像 發(fā)表于 05-07 11:43 ?2051次閱讀
    ETAS<b class='flag-5'>全新</b>的<b class='flag-5'>嵌入</b>式AI解決方案