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

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

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

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

在設(shè)備上利用AI Edge Torch生成式API部署自定義大語言模型

谷歌開發(fā)者 ? 來源:谷歌開發(fā)者 ? 2024-11-14 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們很高興地發(fā)布 AI Edge Torch 生成式 API,它能將開發(fā)者用 PyTorch 編寫的高性能大語言模型 (LLM) 部署至 TensorFlow Lite (TFLite) 運(yùn)行時,從而無縫地將新的設(shè)備端生成式 AI 模型部署到邊緣設(shè)備上。本文是 Google AI Edge 博客連載的第二篇。上一篇文章為大家介紹了 Google AI Edge Torch,該產(chǎn)品可以在使用 TFLite 運(yùn)行時的設(shè)備上實(shí)現(xiàn)高性能的 PyTorch 模型推理。

AI Edge Torch 生成式 API 使開發(fā)者能夠在設(shè)備上引入強(qiáng)大的新功能,例如摘要生成、內(nèi)容生成等。我們之前已經(jīng)通過 MediaPipe LLM Inference API 讓開發(fā)者們能夠?qū)⒁恍┳钍軞g迎的 LLM 部署到設(shè)備上?,F(xiàn)在,我們很高興能進(jìn)一步拓展對模型的支持范圍,并讓大家部署到設(shè)備,而且具備優(yōu)秀的性能表現(xiàn)。今天發(fā)布的 AI Edge Torch 生成式 API 是初始版本,提供以下功能:

簡單易用的模型創(chuàng)作 API,支持自定義 Transformer。

CPU 上性能表現(xiàn)出色,并即將支持 GPU 和 NPU。

作為 AI Edge Torch 的擴(kuò)展,支持 PyTorch。

完全兼容現(xiàn)有的 TFLite 部署流程,包括量化和運(yùn)行時。

支持 TinyLlama、Phi-2 和 Gemma 2B 等模型。

兼容 TFLite 運(yùn)行時和 Mediapipe LLM 運(yùn)行時接口,支持 Android、iOS 和 Web。

MediaPipe LLM Inference API

https://ai.google.dev/edge/mediapipe/solutions/genai/llm_inference

AI Edge Torch

https://ai.google.dev/edge/lite/models/convert_pytorch

我們將在本文中為大家深入介紹該 API 的性能、可移植性、創(chuàng)作開發(fā)體驗(yàn)、端到端推理流水線和調(diào)試工具鏈。更具體的文檔和示例請查看: https://github.com/google-ai-edge/ai-edge-torch/tree/main/ai_edge_torch/generative/examples

性能表現(xiàn)

為了讓 MediaPipe LLM Inference API 順利支持最受歡迎的一些 LLM,我們的團(tuán)隊(duì)手工打造了幾款在設(shè)備上擁有最佳性能的 Transformer 模型。通過這項(xiàng)工作,我們確定了幾個主要課題: 如何有效地表示注意力機(jī)制、量化的使用以及良好的 KV 緩存。生成式 API 很好地完成了這些課題 (本文后面會具體提到),而且依然能達(dá)到之前手寫版本性能的 90% 以上,并大大提高開發(fā)速度。

通過 MediaPipe 和 TensorFlow Lite 在設(shè)備上運(yùn)行大語言模型 https://developers.googleblog.com/en/large-language-models-on-device-with-mediapipe-and-tensorflow-lite/

下表顯示了三種模型樣本的關(guān)鍵基準(zhǔn)測試結(jié)果:

18600148-9067-11ef-a511-92fbcf53809c.png

三種模型樣本 https://github.com/google-ai-edge/ai-edge-torch/blob/main/ai_edge_torch/generative/examples/README.md

這些基準(zhǔn)測試是在大核上運(yùn)行,使用 4 個 CPU 線程,并且使用了這些模型在所列設(shè)備上目前所知最快的 CPU 實(shí)現(xiàn)。

創(chuàng)作體驗(yàn)

核心創(chuàng)作庫提供了常見 Transformer 模型 (僅編碼器、僅解碼器或編碼-解碼器等樣式) 的基本構(gòu)建模塊。您可以用它從頭開始創(chuàng)作模型,或重新創(chuàng)作現(xiàn)有模型以提高性能。我們建議大多數(shù)用戶采用重新創(chuàng)作的方式,因?yàn)檫@樣就不需要訓(xùn)練 / 微調(diào)的步驟了。使用生成式 API 創(chuàng)作的核心優(yōu)勢如下:

一組針對可轉(zhuǎn)換性、性能和平臺可移植性進(jìn)行了優(yōu)化的核心 Transformer 構(gòu)建模塊,可以輕松與常規(guī) PyTorch 算子進(jìn)行混合和匹配。

一個簡單的權(quán)重重映射機(jī)制。

直觀的量化 API。

支持多簽名導(dǎo)出,包括預(yù)填充、解碼或自定義簽名,并能無縫接入現(xiàn)成的 MP 任務(wù) / LLM Inference API。

作為示例,下面展示如何使用新的生成式 API 以約 50 行 Python 代碼重新創(chuàng)作 TinyLLama (1.1B) 的核心功能。

TinyLLama (1.1B)

https://github.com/jzhang38/TinyLlama

步驟 1: 定義模型結(jié)構(gòu)

import torch
import torch.nn as nn


from ai_edge_torch.generative.layers.attention import TransformerBlock
import ai_edge_torch.generative.layers.attention_utils as attn_utils
import ai_edge_torch.generative.layers.builder as builder
import ai_edge_torch.generative.layers.model_config as cfg


class TinyLLamma(nn.Module):


  def __init__(self, config: cfg.ModelConfig):
    super().__init__()


    self.config = config
    # Construct model layers.
    self.lm_head = nn.Linear(
        config.embedding_dim, config.vocab_size, bias=config.lm_head_use_bias
    )
    self.tok_embedding = nn.Embedding(
        config.vocab_size, config.embedding_dim, padding_idx=0
    )
    self.transformer_blocks = nn.ModuleList(
        TransformerBlock(config) for _ in range(config.num_layers)
    )
    self.final_norm = builder.build_norm(
        config.embedding_dim,
        config.final_norm_config,
    )
    self.rope_cache = attn_utils.build_rope_cache(
        size=config.kv_cache_max,
        dim=int(config.attn_config.rotary_percentage * config.head_dim),
        base=10_000,
        condense_ratio=1,
        dtype=torch.float32,
        device=torch.device("cpu"),
    )
    self.mask_cache = attn_utils.build_causal_mask_cache(
        size=config.kv_cache_max, dtype=torch.float32, device=torch.device("cpu")
    )
self.config=config

步驟 2: 定義模型的前向函數(shù)

@torch.inference_mode
  def forward(self, idx: torch.Tensor, input_pos: torch.Tensor) -> torch.Tensor:
    B, T = idx.size()
    cos, sin = self.rope_cache
    cos = cos.index_select(0, input_pos)
    sin = sin.index_select(0, input_pos)
    mask = self.mask_cache.index_select(2, input_pos)
    mask = mask[:, :, :, : self.config.kv_cache_max]


    # forward the model itself
    x = self.tok_embedding(idx)  # token embeddings of shape (b, t, n_embd)


    for i, block in enumerate(self.transformer_blocks):
      x = block(x, (cos, sin), mask, input_pos)


    x = self.final_norm(x)
    res = self.lm_head(x)  # (b, t, vocab_size)
returnres
步驟 3: 映射舊模型權(quán)重

您可以使用庫中的 ModelLoaderAPI 輕松映射權(quán)重,就像這樣:

import ai_edge_torch.generative.utilities.loader as loading_utils

# This map will associate old tensor names with the new model.
TENSOR_NAMES = loading_utils.ModelLoader.TensorNames(
    ff_up_proj="model.layers.{}.mlp.up_proj",
    ff_down_proj="model.layers.{}.mlp.down_proj",
    ff_gate_proj="model.layers.{}.mlp.gate_proj",
    attn_query_proj="model.layers.{}.self_attn.q_proj",
    attn_key_proj="model.layers.{}.self_attn.k_proj",
    attn_value_proj="model.layers.{}.self_attn.v_proj",
    attn_output_proj="model.layers.{}.self_attn.o_proj",
    pre_attn_norm="model.layers.{}.input_layernorm",
    pre_ff_norm="model.layers.{}.post_attention_layernorm",
    embedding="model.embed_tokens",
    final_norm="model.norm",
    lm_head="lm_head",
)

完成這些步驟后,您可以運(yùn)行一些示例輸入來驗(yàn)證重新創(chuàng)作過的模型的數(shù)值正確性。如果數(shù)值檢查達(dá)標(biāo),您就可以繼續(xù)進(jìn)行后續(xù)的轉(zhuǎn)換和量化操作。

驗(yàn)證重新創(chuàng)作的模型

https://github.com/google-ai-edge/ai-edge-torch/blob/59946008def0ab867c2f4cd8931eaf607ac0d768/ai_edge_torch/generative/test/test_model_conversion.py#L132

轉(zhuǎn)換和量化

通過 ai_edge_torch 提供的轉(zhuǎn)換 API,您可以將 (重新創(chuàng)作的) Transformer 模型轉(zhuǎn)換為高度優(yōu)化的 TensorFlow Lite 模型。轉(zhuǎn)換過程包含以下關(guān)鍵步驟:

導(dǎo)出到 StableHLO。通過 torch dynamo 編譯器對 PyTorch 模型進(jìn)行追蹤和編譯,生成帶有 Aten 算子的 FX 計(jì)算圖,然后由 ai_edge_torch 將其降為 StableHLO 計(jì)算圖。

ai_edge_torch 在 StableHLO 上執(zhí)行進(jìn)一步的編譯器操作,包括算子融合 / 折疊等,生成高性能的 TFLite flatbuffer (包含用于 SDPA、KVCache 的融合算子)。

StableHLO

https://github.com/openxla/stablehlo

量化

核心生成式 API 庫還提供了一組量化 API,涵蓋了常見的 LLM 量化模式。這些模式作為額外參數(shù)傳遞給 ai_edge_torch 轉(zhuǎn)換器 API,由該 API 自動完成量化。我們會在未來的版本中提供更多的量化模式。

多簽名導(dǎo)出

我們發(fā)現(xiàn)在實(shí)際推理場景中,LLM 模型需要有明確分離 (細(xì)分) 的推理函數(shù) (預(yù)填充、解碼),才能實(shí)現(xiàn)最佳的服務(wù)性能。這部分基于這樣的觀察: 預(yù)填充 / 解碼可能需要采用不同的 tensor 形狀,預(yù)填充受到算力限制,而解碼則受到內(nèi)存限制。對于大型 LLM,避免在預(yù)填充 / 解碼之間重復(fù)模型權(quán)重至關(guān)重要。我們使用 TFLite 和 ai_edge_torch 中現(xiàn)有的多簽名特性來實(shí)現(xiàn)這一點(diǎn),使得開發(fā)者能輕松地為模型定義多個入口,如下所示:

def convert_tiny_llama_to_tflite(
    prefill_seq_len: int = 512,
    kv_cache_max_len: int = 1024,
    quantize: bool = True,
):
  pytorch_model = tiny_llama.build_model(kv_cache_max_len=kv_cache_max_len)
  
  # Tensors used to trace the model graph during conversion.
  prefill_tokens = torch.full((1, prefill_seq_len), 0, dtype=torch.long)
  prefill_input_pos = torch.arange(0, prefill_seq_len)
  decode_token = torch.tensor([[0]], dtype=torch.long)
  decode_input_pos = torch.tensor([0], dtype=torch.int64)


  # Set up Quantization for model.
  quant_config = quant_recipes.full_linear_int8_dynamic_recipe() if quantize else None
  
  edge_model = (
      ai_edge_torch.signature(
          'prefill', pytorch_model, (prefill_tokens, prefill_input_pos)
      )
      .signature('decode', pytorch_model, (decode_token, decode_input_pos))
      .convert(quant_config=quant_config)
  )
edge_model.export(f'/tmp/tiny_llama_seq{prefill_seq_len}_kv{kv_cache_max_len}.tflite')

針對 LLM 的性能優(yōu)化

我們在性能調(diào)查階段發(fā)現(xiàn)了幾個改善 LLM 性能的關(guān)鍵要素:

高性能的 SDPA 和 KVCache: 我們發(fā)現(xiàn),如果沒有足夠的編譯器優(yōu)化 / 融合,轉(zhuǎn)換后的 TFLite 模型會因?yàn)檫@些函數(shù)中算子的粒度問題,性能不會很好。為了解決這個問題,我們引入了高級函數(shù)邊界和 StableHLO 復(fù)合算子。

利用 TFLite 的 XNNPack 代理進(jìn)一步加速 SDPA: 確保大量 MatMul / 矩陣-向量計(jì)算得到很好的優(yōu)化至關(guān)重要。XNNPack 庫能在廣泛的移動 CPU 上以出色的性能完成這些基礎(chǔ)計(jì)算。

避免不必要的計(jì)算: 靜態(tài)形狀模型如果在預(yù)填充階段有長且固定的輸入消息大小,或者在解碼階段有大的固定序列長度,則帶來的計(jì)算量會大于該模型需要的最小計(jì)算量。

運(yùn)行時內(nèi)存消耗: 我們在 TFLite 的 XNNPack 代理中引入了權(quán)重緩存 / 預(yù)打包機(jī)制,顯著降低了內(nèi)存的峰值使用量。

SDPA

https://github.com/google-ai-edge/ai-edge-torch/blob/7f52f70709bc12cf041b3b1fd4a49bc0d52c889a/ai_edge_torch/generative/layers/attention.py#L74

部署

LLM 推理通常涉及許多預(yù)處理 / 后處理步驟和復(fù)雜的編排,例如令牌化、采樣和自回歸解碼邏輯。為此,我們提供了基于 MediaPipe 的解決方案以及一個純 C++ 推理示例。

基于 MediaPipe 的解決方案

https://ai.google.dev/edge/mediapipe/solutions/genai/llm_inference

純 C++ 推理示例

https://github.com/google-ai-edge/ai-edge-torch/tree/main/ai_edge_torch/generative/examples/c%2B%2B

使用 MediaPipe LLM Inference API

MediaPipe LLM Inference API 是一個高級 API,支持使用 prompt-in / prompt-out 接口進(jìn)行 LLM 推理。它負(fù)責(zé)處理底層所有的 LLM 復(fù)雜流水線操作,讓模型得以更輕松和順暢地部署。要使用 MediaPipe LLM Inference API 進(jìn)行部署,您需要使用給定的預(yù)填充和解碼簽名來轉(zhuǎn)換模型,并創(chuàng)建一個任務(wù)包,如下方代碼所示:

def bundle_tinyllama_q8():
  output_file = "PATH/tinyllama_q8_seq1024_kv1280.task"
  tflite_model = "PATH/tinyllama_prefill_decode_hlfb_quant.tflite"
  tokenizer_model = "PATH/tokenizer.model"
  config = llm_bundler.BundleConfig(
      tflite_model=tflite_model,
      tokenizer_model=tokenizer_model,
      start_token="",
      stop_tokens=[""],
      output_filename=output_file,
      enable_bytes_to_unicode_mapping=False,
  )
llm_bundler.create_bundle(config)

在 TFLite 運(yùn)行時使用純 C++ 推理

我們還提供了一個簡單易用的 C++ 示例 (無需 MediaPipe 依賴),來展示如何運(yùn)行端到端的文本生成。如果您需要將導(dǎo)出的模型與自己獨(dú)有的生產(chǎn)流水線和需求進(jìn)行集成,這個示例是一個很好的起點(diǎn),來幫助您實(shí)現(xiàn)更好的定制和靈活性。

跨平臺支持

由于核心推理運(yùn)行時都支持 TFLite,所以整個流水線都可以輕松集成到您的 Android (包括在 Google Play 中) 或 iOS 應(yīng)用中,無需進(jìn)行任何修改。這意味著用新的生成式 API 轉(zhuǎn)換的模型只需添加幾個自定義算子依賴即可立即部署。在未來的版本中,我們將為 Android 和 iOS 帶來 GPU 支持,并支持 ML 加速器 (TPU、NPU)。

工具

最近發(fā)布的模型探索器 (Model Explorer) 是一款很好用的工具,可用于可視化諸如 Gemma 2B 之類的大型模型。分層查看和并排比較可以讓您輕松查看和比較原始、重新創(chuàng)作和轉(zhuǎn)換后的模型。我們也準(zhǔn)備了專門的文章為您進(jìn)一步介紹該工具,以及如何通過可視化基準(zhǔn)信息來優(yōu)化模型性能。

模型探索器

https://ai.google.dev/edge/model-explorer

模型探索器: 大模型開發(fā)的計(jì)算圖可視化工具

https://research.google/blog/model-explorer/

以下是我們在編寫 PyTorch TinyLlama 模型時使用該工具的示例。我們并排顯示了 PyTorch export() 模型與 TFLite 模型。通過使用模型探索器,我們可以輕松比較每個層級 (如 RMSNorms、SelfAttention) 的表達(dá)情況。

18807b1c-9067-11ef-a511-92fbcf53809c.gif

△ 并排比較 TinyLlama PyTorch 和轉(zhuǎn)換后的 TFLite

總結(jié)以及下一步

AI Edge Torch 生成式 API 是為 MediaPipe LLM Inference API 預(yù)構(gòu)建優(yōu)化模型的強(qiáng)大補(bǔ)充,適用于希望在設(shè)備上運(yùn)行自己的生成式 AI 模型的開發(fā)者。我們會在接下來的幾個月繼續(xù)帶來更新,包括 Web 支持、更好的量化和對 CPU 之外的硬件的支持。我們也會嘗試探索更好的框架集成方案。

目前發(fā)布的是開發(fā)庫的早期預(yù)覽版本,該版本依然處于實(shí)驗(yàn)階段,旨在與開發(fā)者社區(qū)進(jìn)行開放互動。API 可能會發(fā)生變化,且存在不完善之處,并且對量化和模型的支持有限。但我們已經(jīng)在 GitHub repo 中為大家提供了很多用于上手的內(nèi)容,歡迎大家測試和體驗(yàn),并隨時和我們分享 PR、問題和功能需求。

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

    關(guān)注

    2

    文章

    2187

    瀏覽量

    66317
  • AI
    AI
    +關(guān)注

    關(guān)注

    90

    文章

    38303

    瀏覽量

    297382
  • EDGE
    +關(guān)注

    關(guān)注

    0

    文章

    189

    瀏覽量

    43961

原文標(biāo)題:通過 AI Edge Torch 生成式 API 在設(shè)備上使用自定義大語言模型

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    AMD利用可重構(gòu)FPGA設(shè)備Moku實(shí)現(xiàn)自定義激光探測解決方案

    摘要本文介紹了AdvancedMicroDevices,AMD公司如何基于可重構(gòu)FPGA設(shè)備自定義激光探測解決方案,替代傳統(tǒng)的儀器配置,通過靈活且可定制的FPGA設(shè)備Moku提供更高效和靈活的激光
    的頭像 發(fā)表于 11-20 17:28 ?1095次閱讀
    AMD<b class='flag-5'>利用</b>可重構(gòu)FPGA<b class='flag-5'>設(shè)備</b>Moku實(shí)現(xiàn)<b class='flag-5'>自定義</b>激光探測解決方案

    強(qiáng)實(shí)時運(yùn)動控制內(nèi)核MotionRT750(九):內(nèi)置C語言自定義機(jī)械手模型實(shí)現(xiàn)

    內(nèi)置C語言自定義機(jī)械手模型實(shí)現(xiàn)。
    的頭像 發(fā)表于 10-27 14:14 ?654次閱讀
    強(qiáng)實(shí)時運(yùn)動控制內(nèi)核MotionRT750(九):內(nèi)置C<b class='flag-5'>語言</b>的<b class='flag-5'>自定義</b>機(jī)械手<b class='flag-5'>模型</b>實(shí)現(xiàn)

    智能硬件通過小聆AI自定義MCP應(yīng)用開發(fā)操作講解

    智能硬件通過小聆AI自定義MCP應(yīng)用開發(fā)操作講解 前言 MCP(Modular Communication Protocol,模塊化通信協(xié)議)為智能硬件帶來多方面顯著優(yōu)勢:它通過標(biāo)準(zhǔn)化的通信接口
    發(fā)表于 10-14 15:50

    構(gòu)建自定義電商數(shù)據(jù)分析API

    ? 電商業(yè)務(wù)中,數(shù)據(jù)是驅(qū)動決策的核心。隨著數(shù)據(jù)量的增長,企業(yè)需要實(shí)時、靈活的分析工具來監(jiān)控銷售、用戶行為和庫存等指標(biāo)。一個自定義電商數(shù)據(jù)分析API(應(yīng)用程序接口)可以自動化數(shù)據(jù)提取和處理過程,提供
    的頭像 發(fā)表于 07-17 14:44 ?417次閱讀
    構(gòu)建<b class='flag-5'>自定義</b>電商數(shù)據(jù)分析<b class='flag-5'>API</b>

    完整指南:如何使用樹莓派5、Hailo AI Hat、YOLO、Docker進(jìn)行自定義數(shù)據(jù)集訓(xùn)練?

    今天,我將展示如何使用令人印象深刻的HailoAIHat樹莓派5訓(xùn)練、編譯和部署自定義模型。注意:文章內(nèi)的鏈接可能需要科學(xué)上網(wǎng)。Hail
    的頭像 發(fā)表于 06-28 08:23 ?3519次閱讀
    完整指南:如何使用樹莓派5、Hailo <b class='flag-5'>AI</b> Hat、YOLO、Docker進(jìn)行<b class='flag-5'>自定義</b>數(shù)據(jù)集訓(xùn)練?

    KiCad 中的自定義規(guī)則(KiCon 演講)

    “ ?Seth Hillbrand KiCon US 2025 為大家介紹了 KiCad 的規(guī)則系統(tǒng),并詳細(xì)講解了自定義規(guī)則的設(shè)計(jì)與實(shí)例。? ” ? 演講主要圍繞 加強(qiáng) KiCad 中的
    的頭像 發(fā)表于 06-16 11:17 ?1536次閱讀
    KiCad 中的<b class='flag-5'>自定義</b>規(guī)則(KiCon 演講)

    HarmonyOS應(yīng)用自定義鍵盤解決方案

    自定義鍵盤是一種替換系統(tǒng)默認(rèn)鍵盤的解決方案,可實(shí)現(xiàn)鍵盤個性化交互。允許用戶結(jié)合業(yè)務(wù)需求與操作習(xí)慣,對按鍵布局進(jìn)行可視化重構(gòu)、設(shè)置多功能組合鍵位,使輸入更加便捷和舒適。安全防護(hù)層面,自定義鍵盤可以
    的頭像 發(fā)表于 06-05 14:19 ?1709次閱讀

    如何添加自定義單板

    開發(fā)過程中,用戶有時需要創(chuàng)建自定義板配置。本節(jié)將通過一個實(shí)例講解用戶如何創(chuàng)建屬于自己的machine,下面以g2l-test.conf為例進(jìn)行說明。
    的頭像 發(fā)表于 03-12 14:43 ?1115次閱讀

    使用Python APIOpenVINO?中創(chuàng)建了用于異步推理的自定義代碼,輸出張量的打印結(jié)果會重復(fù),為什么?

    使用 Python* API OpenVINO? 中創(chuàng)建了用于異步推理的自定義代碼。 遇到輸出張量的打印結(jié)果會重復(fù)的問題,即使輸入圖像不同。
    發(fā)表于 03-06 07:53

    聚云科技獲亞馬遜云科技生成AI能力認(rèn)證

    近日,云管理服務(wù)提供商聚云科技成功獲得亞馬遜云科技生成AI能力認(rèn)證。此次認(rèn)證標(biāo)志著聚云科技利用亞馬遜云科技全托管的
    的頭像 發(fā)表于 02-19 10:33 ?846次閱讀

    如何快速創(chuàng)建用戶自定義Board和App工程

    概述自HPM_SDKv1.7.0發(fā)布開始,HPM_ENV中新增了user_template文件夾,以方便用戶快速創(chuàng)建自定義的Board和App工程。user_template是用戶模板工程,用戶
    的頭像 發(fā)表于 02-08 13:38 ?1018次閱讀
    如何快速創(chuàng)建用戶<b class='flag-5'>自定義</b>Board和App工程

    Altium Designer 15.0自定義元件設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《Altium Designer 15.0自定義元件設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-21 15:04 ?0次下載
    Altium Designer 15.0<b class='flag-5'>自定義</b>元件設(shè)計(jì)

    think-cell:自定義think-cell(四)

    C.5 設(shè)置默認(rèn)議程幻燈片布局 think-cell 議程可以在演示文稿中使用特定的自定義布局來定義議程、位置和議程幻燈片的其他形狀,例如標(biāo)題或圖片。通過將此自定義布局添加到模板,您
    的頭像 發(fā)表于 01-13 10:37 ?893次閱讀
    think-cell:<b class='flag-5'>自定義</b>think-cell(四)

    think-cell;自定義think-cell(一)

    本章介紹如何自定義 think-cell,即如何更改默認(rèn)顏色和其他默認(rèn)屬性;這是通過 think-cell 的樣式文件完成的,這些文件將在前四個部分中進(jìn)行討論。 第五部分 C.5 設(shè)置默認(rèn)議程幻燈片
    的頭像 發(fā)表于 01-08 11:31 ?1263次閱讀
    think-cell;<b class='flag-5'>自定義</b>think-cell(一)

    Google兩款先進(jìn)生成AI模型登陸Vertex AI平臺

    生成 AI 正在引領(lǐng)商業(yè)增長與轉(zhuǎn)型。已經(jīng)將生成 AI
    的頭像 發(fā)表于 12-30 09:56 ?1000次閱讀