哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

愛(ài)奇藝深度學(xué)習(xí)平臺(tái)對(duì)TF Serving毛刺問(wèn)題的優(yōu)化

Tensorflowers ? 來(lái)源:TensorFlow ? 作者:愛(ài)奇藝技術(shù)產(chǎn)品團(tuán) ? 2020-12-17 16:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在點(diǎn)擊率 CTR(Click Through Rate)預(yù)估算法的推薦場(chǎng)景中使用 TensorFlow Serving 熱更新較大模型時(shí)會(huì)出現(xiàn)短暫的延時(shí)毛刺,導(dǎo)致業(yè)務(wù)側(cè)超時(shí),降低算法效果,為了解決這個(gè)問(wèn)題,愛(ài)奇藝深度學(xué)習(xí)平臺(tái)團(tuán)隊(duì)經(jīng)過(guò)多個(gè)階段的優(yōu)化實(shí)踐,最后對(duì) TF Serving 和 TensorFlow 的源碼進(jìn)行深入優(yōu)化,將模型熱更新時(shí)的毛刺現(xiàn)象解決,本文將分享 TensorFlow Serving 的優(yōu)化細(xì)節(jié),希望對(duì)大家有幫助。

背景介紹

TensorFlow Serving是谷歌開(kāi)源的用來(lái)部署機(jī)器學(xué)習(xí)模型的高性能推理系統(tǒng)。它主要具備如下特點(diǎn):

同時(shí)支持 gRPC 和 HTTP 接口

支持多模型,多版本

支持模型熱更新和版本切換

TensorFlow Serving
https://github.com/tensorflow/serving

愛(ài)奇藝深度學(xué)習(xí)平臺(tái)上大量的 CTR 推薦類業(yè)務(wù)使用 TensorFlow Serving 來(lái)部署線上推理服務(wù)。

CTR 類業(yè)務(wù)對(duì)線上服務(wù)的可持續(xù)性要求很高,如果模型升級(jí)時(shí)要中斷服務(wù)是不可接受的,因此 TF Serving 的模型熱更新功能對(duì)這樣的業(yè)務(wù)場(chǎng)景提供了很大的幫助,可以避免重啟容器來(lái)做模型升級(jí)。

但是,隨著業(yè)務(wù)對(duì)模型更新實(shí)時(shí)性的要求越來(lái)越高,我們發(fā)現(xiàn),模型熱更新時(shí)出現(xiàn)的短暫客戶端請(qǐng)求超時(shí)現(xiàn)象(稱之為毛刺現(xiàn)象)變成進(jìn)一步提升實(shí)時(shí)性的一個(gè)比較大的障礙。

模型更新時(shí)的毛刺現(xiàn)象

先來(lái)看一下,

什么是模型更新時(shí)的毛刺現(xiàn)象?

下面這張圖是我們?cè)?TF Serving 代碼中增加了 Bvar(https://github.com/apache/incubator-brpc/blob/master/docs/cn/bvar.md) 來(lái)查看內(nèi)部請(qǐng)求的延遲情況。圖中是延遲的分位比,延遲分位值分別為 [p80, p90, p99, p999],單位是微秒。

745748d6-357a-11eb-a64d-12bb97331649.png

從圖中可以看到,在模型更新前后,p999的延遲都在 30ms以下。但是,在模型更新的瞬間,p999延遲突然抖動(dòng)到 120ms+,持續(xù)了大概 10 秒時(shí)間,這就是毛刺現(xiàn)象,反應(yīng)到客戶端就是會(huì)產(chǎn)生請(qǐng)求超時(shí)失敗。

為了完全解決這個(gè)問(wèn)題,愛(ài)奇藝深度學(xué)習(xí)平臺(tái)經(jīng)過(guò)多個(gè)階段的深入優(yōu)化,最后將模型更新時(shí)的毛刺現(xiàn)象解決。

TF Serving 的模型更新過(guò)程

工欲善其事必先利其器,我們先來(lái)看看 TF Serving 內(nèi)部的模型更新過(guò)程。

如上圖,Source會(huì)啟動(dòng)一個(gè)線程來(lái)不斷查看模型文件,然后將發(fā)現(xiàn)的新模型構(gòu)建相應(yīng)的 Servable 數(shù)據(jù)結(jié)構(gòu)放到 Aspired Versions 的隊(duì)列中去。

DynamicManager也會(huì)啟動(dòng)一個(gè)線程,來(lái)不斷查看 Aspired Versions隊(duì)列是否有需要處理的請(qǐng)求,根據(jù)配置的 Version Policy 來(lái)執(zhí)行模型更新策略,最后通過(guò) SessionBundle來(lái)執(zhí)行模型的加載和卸載。

Version Policy 默認(rèn)為 AvailabilityPreservingPolicy,該 policy 的特點(diǎn)是當(dāng)有新的模型加入時(shí),會(huì)保證至少有一個(gè)可服務(wù)的模型版本,當(dāng)新版本加載完成后,再卸載舊版本,這樣可以最大程度的保證模型的可服務(wù)性。

舉例子來(lái)講,如果只支持一個(gè)模型版本,當(dāng)前版本是 2,如果有新的版本 3 加入,那么會(huì)先加載版本 3,然后再卸載版本 2。

接下來(lái),詳細(xì)看一下 TF Serving 的模型加載過(guò)程,主要分成以下幾個(gè)步驟:

創(chuàng)建一個(gè) DirectSession

將模型的 Graph 加載到 Session 中

執(zhí)行 Graph 中的 Restore Op 來(lái)將變量從模型中讀取到內(nèi)存

執(zhí)行 Graph 中的 Init Op 做相關(guān)的模型初始化

如果配置了 Warmup,執(zhí)行 Warmup 操作,通過(guò)定義好的樣本來(lái)預(yù)熱模型

TensorFlow 的模型執(zhí)行有個(gè)非常顯著的特點(diǎn)是 lazy initialization,也就是如果沒(méi)有 Warmup,當(dāng) TF Serving 加載完模型,其實(shí)只是加載了 Graph 和變量,Graph 中的 OP 其實(shí)并沒(méi)有做初始化,只有當(dāng)客戶端第一次發(fā)請(qǐng)求過(guò)來(lái)時(shí),才會(huì)開(kāi)始初始化 OP。

問(wèn)題的初步優(yōu)化

從上面的分析來(lái)看,可以看到初步的解決方案,那就是做模型的 Warmup,具體方案如下:

配置模型 Warmup,在模型目錄中增加 tf_serving_warmup_requests 文件

使用獨(dú)立線程來(lái)做模型的加載和卸載操作,配置 num_unload_threads和 num_load_threads

模型如何做 Warmup 詳細(xì)請(qǐng)參考 TF 的文檔 SavedModel Warmup。

https://tensorflow.google.cn/tfx/serving/saved_model_warmup

第二項(xiàng)優(yōu)化主要是參考美團(tuán)的文章基于 TensorFlow Serving 的深度學(xué)習(xí)在線預(yù)估。

https://tech.meituan.com/2018/10/11/tfserving-improve.html

我們來(lái)對(duì)比一下優(yōu)化前后的區(qū)別:

7526301a-357a-11eb-a64d-12bb97331649.png

可以看到,使用上面的優(yōu)化,抖動(dòng)的延遲減少了幾個(gè)數(shù)量級(jí),效果很明顯。

問(wèn)題的進(jìn)一步優(yōu)化

雖然上面的優(yōu)化將模型更新時(shí)的毛刺降低到只有 120ms+,但是這個(gè)仍然會(huì)對(duì)客戶端的請(qǐng)求產(chǎn)生超時(shí)現(xiàn)象,如果模型更新的頻率不高,比如一天更新一次,那么基本上是可以接受的。

但是,如果業(yè)務(wù)對(duì)模型更新的實(shí)時(shí)性到一個(gè)小時(shí)以內(nèi),甚至更高,那么就必須進(jìn)一步解決毛刺問(wèn)題。我們不得不繼續(xù)思考,剩下的這個(gè)毛刺是由于什么原因產(chǎn)生的?

TF Serving 是一個(gè)計(jì)算密集型的服務(wù),對(duì)可能產(chǎn)生影響的因素,我們做了如下猜測(cè):

計(jì)算原因:是不是新模型的初始化,包括 Warmup 的計(jì)算,影響了推理請(qǐng)求?

內(nèi)存原因:是不是模型更新過(guò)程中的內(nèi)存分配或釋放產(chǎn)生鎖而導(dǎo)致的?

或者兩者都有?

計(jì)算原因分析

先來(lái)分析一下計(jì)算方面的原因,如果模型加載會(huì)影響到推理請(qǐng)求,那么能不能將模型的加載也用獨(dú)立的線程來(lái)做?

經(jīng)過(guò)調(diào)研 TF Serving 的源碼,我們發(fā)現(xiàn)了這樣的參數(shù),原來(lái) TF 已經(jīng)考慮到這樣的因素。

// If set, session run calls use a separate threadpool for restore and init // ops as part of loading the session-bundle. The value of this field should // correspond to the index of the tensorflow::ThreadPoolOptionProto defined as // part of session_config.session_inter_op_thread_pool. google.protobuf.Int32Value session_run_load_threadpool_index = 4;

通過(guò)配置 session_inter_op_thread_pool并設(shè)置 session_run_load_threadpool_index可以將模型的初始化放在獨(dú)立的線程。

修改配置后,并做了相關(guān)驗(yàn)證,如下圖。

757b8cae-357a-11eb-a64d-12bb97331649.png

驗(yàn)證的結(jié)論很遺憾,使用獨(dú)立的線程來(lái)處理模型初始化并不能緩解毛刺問(wèn)題。

從而,進(jìn)一步分析了 TF Serving 的線程機(jī)制,發(fā)現(xiàn)計(jì)算部分主要集中在 TF 的 Inter 和 Intra Op 線程,在模型初始化線程獨(dú)立出來(lái)后,原來(lái)的推理請(qǐng)求基本不會(huì)被影響到。

另外,經(jīng)過(guò)分析還發(fā)現(xiàn),TF 在執(zhí)行 Restore Op 的時(shí)候會(huì)創(chuàng)建額外的線程池來(lái)恢復(fù)大的變量,于是嘗試將 Restore 時(shí)的線程池去掉,發(fā)現(xiàn)仍然沒(méi)有效果。

內(nèi)存原因分析

先來(lái)看一下 TF 內(nèi)存的分配機(jī)制,TF 的 GPU 顯存是通過(guò) BFC (best-fit with coalescing) 算法來(lái)分配的,CPU 內(nèi)存分配是直接調(diào)用底層 glibc ptmalloc2 的 memory allocation。

目前平臺(tái)上 CTR 類業(yè)務(wù)基本都是 CPU 推理,因此內(nèi)存的分配和釋放都是通過(guò) glibc ptmalloc2 來(lái)管理的。

經(jīng)過(guò)調(diào)研了解到,Linux glibc 的內(nèi)存管理也是經(jīng)過(guò)優(yōu)化的,原來(lái)的實(shí)現(xiàn)是 dlmalloc,對(duì)多線程的支持并不好,現(xiàn)在的 ptmalloc2 是優(yōu)化后支持了多線程。

如果要深入到 ptmalloc2 優(yōu)化內(nèi)存管理就比較麻煩,不過(guò)調(diào)研發(fā)現(xiàn)已經(jīng)有了開(kāi)源的優(yōu)化方案,那就是谷歌的 Tcmalloc和 Facebook 的 Jemalloc。

Tcmalloc
http://goog-perftools.sourceforge.net/doc/tcmalloc.html)

Jemalloc
http://jemalloc.net/

Ptmalloc,Tcmalloc 和 Jemalloc 的優(yōu)缺點(diǎn)網(wǎng)上有很多分析的文章,都指出 Tcmalloc 和 Jemalloc 在多線程環(huán)境下有比較好的性能,大體從原理上來(lái)講是區(qū)分大小內(nèi)存塊的分配,各個(gè)線程有自己內(nèi)存分配區(qū)域,減少鎖競(jìng)爭(zhēng)。

對(duì)比試驗(yàn)了三個(gè)內(nèi)存分配器,實(shí)驗(yàn)結(jié)果如下圖:

759f37ee-357a-11eb-a64d-12bb97331649.png

75f04a12-357a-11eb-a64d-12bb97331649.jpg

從實(shí)驗(yàn)結(jié)果來(lái)看,Tcmalloc 和 Jemalloc 對(duì)毛刺都有比較好的緩解,但是 Tcmalloc 會(huì)增加正常情況下的 p999 延遲;而反觀 Jemalloc 的毛刺 p999 降到了 50ms 以下,正常情況下的 p999 比 Ptmalloc也有所優(yōu)化。

看起來(lái) Jemalloc 是一個(gè)相對(duì)比較理想的方案,不過(guò)在進(jìn)一步的試驗(yàn)中發(fā)現(xiàn),如果同時(shí)更新兩個(gè)版本,Jemalloc 的 p999 毛刺會(huì)達(dá)到近 60ms,并且更新后會(huì)有一個(gè)比較長(zhǎng)的延遲抖動(dòng)期,會(huì)持續(xù)近一分鐘時(shí)間,如下圖:

7630b0ac-357a-11eb-a64d-12bb97331649.jpg

優(yōu)化到這一步,如果對(duì)這樣的延遲變化不敏感的話,基本就可以用 Jemalloc 來(lái)做為方案上線了,但對(duì)這樣的效果仍覺(jué)得不是非常理想,因此進(jìn)行了更深入的優(yōu)化。

問(wèn)題的最終深入優(yōu)化

上面內(nèi)存方案的優(yōu)化效果提供了一個(gè)很好的啟示和方向,毛刺的根本原因應(yīng)該在內(nèi)存的分配和釋放競(jìng)爭(zhēng)上,所以來(lái)進(jìn)一步分析 TF 的內(nèi)存分配。

TF 內(nèi)存分配和釋放的使用場(chǎng)景主要分成兩個(gè)部分:

一部分是模型 Restore 時(shí)變量本身 Tensor 的分配,這個(gè)是在加載模型時(shí)分配的,內(nèi)存的釋放是在模型被卸載的時(shí)候

一部分是 RPC 請(qǐng)求時(shí)網(wǎng)絡(luò)前向計(jì)算時(shí)的中間輸出Tensor 內(nèi)存分配,在請(qǐng)求處理結(jié)束后就被釋放

模型更新時(shí),新模型加載時(shí)的 Restore OP 有大量的內(nèi)存被分配,舊模型被卸載時(shí)的有很多對(duì)象被析構(gòu),大量?jī)?nèi)存被釋放。

而這個(gè)過(guò)程中,RPC 請(qǐng)求沒(méi)有中斷,這個(gè)時(shí)候兩者的內(nèi)存分配和釋放會(huì)產(chǎn)生沖突和競(jìng)爭(zhēng)關(guān)系。

因此設(shè)計(jì)了內(nèi)存分配隔離方案:

將模型本身參數(shù)的內(nèi)存分配和 RPC 請(qǐng)求過(guò)程中的內(nèi)存分配隔離開(kāi)來(lái),讓它們的分配和釋放在不同的內(nèi)存空間。

768b8496-357a-11eb-a64d-12bb97331649.jpg

結(jié)合模型的更新,線上模型一個(gè)容器里面最多就兩個(gè)版本的模型文件,給每個(gè)模型版本各自分配了獨(dú)立的內(nèi)存池,用來(lái)做 AB 切換。

在代碼的編寫上,TF 剛好有一個(gè)現(xiàn)成的 BFC 內(nèi)存分配器,利用 BFC 做模型參數(shù)的內(nèi)存分配器,RPC 請(qǐng)求的內(nèi)存分配仍然使用 glibc ptmalloc2 來(lái)統(tǒng)一分配,因此最后的設(shè)計(jì)是這樣:

代碼改動(dòng)主要在 TF 的源碼,主要是對(duì) ProcessState,ThreadPoolDevice和 Allocator做了一些改動(dòng)。

最后來(lái)看一下試驗(yàn)效果:

771935d4-357a-11eb-a64d-12bb97331649.png

從圖中,可以看到模型更新后,延遲抖動(dòng)很少,大約在 2ms,在實(shí)際的線上測(cè)試高峰期大概有 5ms 的抖動(dòng),滿足業(yè)務(wù)需求。

總結(jié)

本文介紹了愛(ài)奇藝深度學(xué)習(xí)平臺(tái)對(duì) TF Serving 毛刺問(wèn)題的優(yōu)化,主要?dú)w納如下:

配置模型 Warmup 文件來(lái)初預(yù)熱模型

使用 Jemalloc 做內(nèi)存分配優(yōu)化

TF 模型參數(shù)分配和 RPC 請(qǐng)求內(nèi)存分配分離

經(jīng)過(guò)實(shí)踐,每個(gè)方法都有進(jìn)一步的優(yōu)化,最后基本解決了模型熱更新過(guò)程中的毛刺問(wèn)題。

— 參考文獻(xiàn) —

1. TF ServingAarchtecture

https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/architecture.md

2. BVar

https://github.com/apache/incubator-brpc/blob/master/docs/cn/bvar.md

3. TF WarmUp

https://tensorflow.google.cn/tfx/serving/saved_model_warmup

4. 美團(tuán)基于 TensorFlow Serving 的深度學(xué)習(xí)在線預(yù)估

https://tech.meituan.com/2018/10/11/tfserving-improve.html

5. Google Tcmalloc

http://goog-perftools.sourceforge.net/doc/tcmalloc.html

6. Facebook Jemalloc: http://jemalloc.net/

責(zé)任編輯:xj

原文標(biāo)題:社區(qū)分享 | TensorFlow Serving 模型更新毛刺的完全優(yōu)化實(shí)踐

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

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    16033
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5603

    瀏覽量

    124600
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    336

    瀏覽量

    62356

原文標(biāo)題:社區(qū)分享 | TensorFlow Serving 模型更新毛刺的完全優(yōu)化實(shí)踐

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    開(kāi)放平臺(tái)OpenClaw接入

    配置接入OpenClaw服務(wù)器 a. 在服務(wù)器中執(zhí)行以下命令接入小插件。 openclaw plugins install @ynhcj/xiaoyi@latest b. 在OpenClaw服務(wù)器
    發(fā)表于 04-08 14:33

    調(diào)用愛(ài)回收平臺(tái)商品詳情 API 接口指南

    ? ?愛(ài)回收作為知名的二手電子產(chǎn)品回收與交易平臺(tái),其提供的 API 接口是開(kāi)發(fā)者接入其服務(wù)的重要橋梁。本文將聚焦于 獲取商品詳情 的 API 接口,介紹其基本用法、關(guān)鍵參數(shù)、響應(yīng)數(shù)據(jù)結(jié)構(gòu)以及使用時(shí)
    的頭像 發(fā)表于 03-30 17:13 ?487次閱讀
    調(diào)用<b class='flag-5'>愛(ài)</b>回收<b class='flag-5'>平臺(tái)</b>商品詳情 API 接口指南

    2026年低代碼平臺(tái)市場(chǎng)綜合評(píng)測(cè):國(guó)內(nèi)10大低代碼平臺(tái)深度解析

    至24周。本文結(jié)合Gartner、中國(guó)信通院等權(quán)威機(jī)構(gòu)數(shù)據(jù),全面解析低代碼市場(chǎng)現(xiàn)狀,并深度測(cè)評(píng)國(guó)內(nèi)10大主流低代碼平臺(tái),為企業(yè)選型提供精準(zhǔn)參考。 一、2026年低代碼平臺(tái)市場(chǎng)綜合數(shù)據(jù) 1.全球
    發(fā)表于 03-30 16:02

    Onsemi FQT1N80TF - WS N - 通道MOSFET深度解析

    Onsemi FQT1N80TF - WS N - 通道MOSFET深度解析 引言 在電子設(shè)計(jì)領(lǐng)域,MOSFET作為關(guān)鍵元件,廣泛應(yīng)用于各種電路中。Onsemi的FQT1N80TF - WS N
    的頭像 發(fā)表于 03-30 14:40 ?194次閱讀

    Onsemi FQT1N80TF-WS N溝道MOSFET深度解析

    Onsemi FQT1N80TF-WS N溝道MOSFET深度解析 在電子設(shè)計(jì)領(lǐng)域,MOSFET作為關(guān)鍵元件,廣泛應(yīng)用于各類電路之中,其性能的優(yōu)劣直接影響著整個(gè)系統(tǒng)的運(yùn)行效率與穩(wěn)定性。今天,我們就來(lái)
    的頭像 發(fā)表于 03-29 15:45 ?433次閱讀

    開(kāi)放平臺(tái)平臺(tái)功能

    平臺(tái)的高效編排方式。開(kāi)發(fā)者可通過(guò)該模式基于鴻蒙Agent通信協(xié)議快速、便捷地將成熟的第三方智能體對(duì)接至小開(kāi)放平臺(tái),實(shí)現(xiàn)分發(fā)與調(diào)用,提升平臺(tái)的場(chǎng)景覆蓋能力。該模式適用于同時(shí)具備鴻蒙端應(yīng)
    發(fā)表于 01-30 15:24

    開(kāi)放平臺(tái)快速創(chuàng)建鴻蒙智能體

    1.登錄小開(kāi)放平臺(tái),進(jìn)入小智能體平臺(tái)頁(yè)面,點(diǎn)擊立即體驗(yàn),進(jìn)入創(chuàng)建頁(yè)面。 2.點(diǎn)擊左上角【+創(chuàng)建智能體】按鈕,即可進(jìn)入智能體創(chuàng)建流程。 3.擊【+創(chuàng)建】后,會(huì)進(jìn)入到標(biāo)準(zhǔn)創(chuàng)建頁(yè)面,在這
    發(fā)表于 01-19 11:00

    穿孔機(jī)頂頭檢測(cè)儀 機(jī)器視覺(jué)深度學(xué)習(xí)

    ,能適用惡劣工況,在粉塵、高溫、氧化皮等惡劣環(huán)境中均可正常工作。 測(cè)量原理 利用頂頭與周圍的物質(zhì)(水、空氣、導(dǎo)盤等)紅外輻射能量的差異,用熱成像相機(jī)拍攝出清晰的圖片,再通過(guò)深度學(xué)習(xí)短時(shí)間內(nèi)深度
    發(fā)表于 12-22 14:33

    DAC8560:16位超低毛刺電壓輸出數(shù)模轉(zhuǎn)換器的深度剖析

    ? 在電子設(shè)計(jì)領(lǐng)域,數(shù)模轉(zhuǎn)換器(DAC)是連接數(shù)字世界和模擬世界的關(guān)鍵橋梁。今天,我們將深入探討TI公司的DAC8560,這是一款16位、超低毛刺、電壓輸出的數(shù)模轉(zhuǎn)換器,具有諸多出色的特性,適用于
    的頭像 發(fā)表于 11-28 13:44 ?752次閱讀
    DAC8560:16位超低<b class='flag-5'>毛刺</b>電壓輸出數(shù)模轉(zhuǎn)換器的<b class='flag-5'>深度</b>剖析

    愛(ài)企查平臺(tái)企業(yè)詳情數(shù)據(jù) API 接口使用指南

    ? ?引言 愛(ài)企查作為國(guó)內(nèi)知名的企業(yè)信息查詢平臺(tái),匯聚了海量的企業(yè)工商信息、經(jīng)營(yíng)數(shù)據(jù)等。對(duì)于開(kāi)發(fā)者或數(shù)據(jù)分析師而言,若能通過(guò)其開(kāi)放的 API 接口獲取這些結(jié)構(gòu)化數(shù)據(jù),將極大地提升工作效率和應(yīng)用開(kāi)發(fā)
    的頭像 發(fā)表于 11-20 14:48 ?1492次閱讀
    <b class='flag-5'>愛(ài)</b>企查<b class='flag-5'>平臺(tái)</b>企業(yè)詳情數(shù)據(jù) API 接口使用指南

    HarmonyOS 6正式發(fā)布,超能小一用就愛(ài)!

    景終端設(shè)備上帶來(lái)真人感對(duì)話、小看世界、小幫接、AI修圖、小慧記等行業(yè)領(lǐng)先的AI智慧體驗(yàn),深受消費(fèi)者喜愛(ài)。升級(jí)到HarmonyOS 6后,小再進(jìn)階超級(jí)助理,支持更多華為終端設(shè)備,
    的頭像 發(fā)表于 10-22 17:43 ?1685次閱讀

    鋰離子電池毛刺控制的要求及檢測(cè)

    鋰離子電池在完成裝配封口前最怕金屬粉塵、雜質(zhì)、水分和毛刺。極片毛刺會(huì)引起的內(nèi)部短路,因此涉及到鋰電池的安全問(wèn)題,是鋰電池制造過(guò)程中非常關(guān)鍵的管控項(xiàng)目。毛刺的控制也一直是業(yè)內(nèi)人士關(guān)注的焦點(diǎn)。美能光子灣
    的頭像 發(fā)表于 08-05 17:54 ?1838次閱讀
    鋰離子電池<b class='flag-5'>毛刺</b>控制的要求及檢測(cè)

    奧拓電子亮相CITS 2025影視拍攝技術(shù)創(chuàng)新與趨勢(shì)論壇

    近日,由奧拓電子和中廣國(guó)際聯(lián)合主辦的CITS 2025“第二屆影視拍攝技術(shù)創(chuàng)新與趨勢(shì)論壇”在北京希爾頓酒店舉行,共有來(lái)自中影、愛(ài)愛(ài)圖仕、北京電影學(xué)院等單位的150余位影視拍攝領(lǐng)域
    的頭像 發(fā)表于 07-30 09:07 ?1083次閱讀

    鋁鑄件去毛刺加工,用SycoTec浮動(dòng)去毛刺主軸

    在現(xiàn)代制造業(yè)中,鋁鑄件因其質(zhì)量輕、強(qiáng)度高、耐腐蝕性好等性能,被廣泛應(yīng)用于航空航天、汽車制造、電子設(shè)備等眾多領(lǐng)域。然而,鋁鑄件在生產(chǎn)過(guò)程中,不可避免地會(huì)產(chǎn)生毛刺。這些毛刺不僅影響鋁鑄件的外觀質(zhì)量,還可
    的頭像 發(fā)表于 07-16 09:40 ?544次閱讀
    鋁鑄件去<b class='flag-5'>毛刺</b>加工,用SycoTec浮動(dòng)去<b class='flag-5'>毛刺</b>主軸

    存儲(chǔ)示波器的存儲(chǔ)深度對(duì)信號(hào)分析有什么影響?

    信號(hào)(如電源毛刺、EMI干擾) 需求:高采樣率(≥5倍信號(hào)頻率) + 大存儲(chǔ)深度(≥10Mpts分段存儲(chǔ))。 優(yōu)化:?jiǎn)⒂猛獠坑|發(fā)或增加分段存儲(chǔ)段數(shù)。 2. 使用高級(jí)存儲(chǔ)功能 分段存儲(chǔ)
    發(fā)表于 05-27 14:39
    新巴尔虎右旗| 临颍县| 安图县| 普兰店市| 呼伦贝尔市| 门源| 乡城县| 信丰县| 乌鲁木齐市| 长子县| 申扎县| 新泰市| 盘锦市| 安龙县| 金门县| 卓尼县| 芜湖市| 镇坪县| 阿拉善右旗| 门头沟区| 沈丘县| 丰原市| 兰溪市| 兴仁县| 涞水县| 含山县| 镇雄县| 论坛| 启东市| 灌阳县| 曲水县| 行唐县| 平邑县| 绵竹市| 合作市| 马边| 武平县| 赤壁市| 黔西县| 延川县| 陇西县|