(Arxiv-2024)VideoMaker:零樣本定制化視頻生成,依托于視頻擴散模型的內在力量

VideoMaker:零樣本定制化視頻生成,依托于視頻擴散模型的內在力量

paper title:VideoMaker: Zero-shot Customized Video Generation with the Inherent Force
of Video Diffusion Models

paper是ZJU發布在Arxiv 2024的工作

Code:鏈接

圖1

圖1. 我們的 VideoMaker 可視化結果。我們的方法基于 AnimateDiff [26],實現了高保真零樣本定制化人物和物體視頻生成。

Abstract

零樣本定制化視頻生成因其巨大的應用潛力而備受關注。現有方法依賴于額外的模型來提取和注入參考主體特征,假設僅憑視頻擴散模型(VDM)不足以實現零樣本定制化視頻生成。然而,這些方法由于特征提取和注入技術不夠理想,往往難以保持主體外觀的一致性。在本文中,我們揭示了 VDM 本身就具備提取和注入主體特征的內在能力。不同于以往的啟發式方法,我們提出了一種新穎的框架,利用 VDM 的內在力量來實現高質量的零樣本定制化視頻生成。具體而言,在特征提取方面,我們直接將參考圖像輸入 VDM,并利用其內在的特征提取過程,這不僅提供了細粒度的特征,還能顯著契合 VDM 的預訓練知識。在特征注入方面,我們設計了一種創新的雙向交互機制,通過 VDM 內部的空間自注意力在主體特征與生成內容之間建立聯系,從而保證 VDM 在保持生成視頻多樣性的同時具有更好的主體保真度。在人物和物體定制化視頻生成上的實驗結果驗證了我們框架的有效性。

1. Introduction

視頻擴散模型(VDMs)[5, 9, 19, 57, 70] 可以根據給定的文本提示生成高質量視頻。然而,這些預訓練模型無法從特定主體生成對應視頻,因為這種定制化主體僅通過文本提示難以準確描述。這個問題被稱為定制化生成,已有研究通過個性化微調 [6, 53, 65, 67] 進行探索。然而,耗時的主體特定微調限制了其在現實中的應用。最近,一些基于 [58, 71] 的方法 [23, 32] 開始探索零樣本定制化視頻生成,但這些方法仍未能保持與參考主體一致的外觀。

圖2

圖2. 與現有零樣本定制化生成框架相比,我們的框架無需任何額外模塊來提取或注入主體特征。它只需要將參考圖像與生成視頻進行簡單拼接,并利用 VDM 的內在能力生成定制化視頻。

定制化視頻生成的兩個關鍵在于主體特征提取與主體特征注入。當前方法依賴額外的模型進行特征提取和注入,往往忽視了 VDM 的內在能力。例如,一些方法 [26, 58, 68] 受到 [79] 啟發,采用額外的 ReferenceNet 進行特征提取,并將主體特征直接加入 VDM 中進行注入(圖2 (a))。然而,這些方法引入了大量額外訓練參數,并且這種像素級注入方式顯著限制了生成視頻的多樣性。其他方法 [23, 32, 38, 71] 則采用預訓練的跨模態對齊模型 [43, 45, 50, 69] 作為特征提取器,并通過跨注意力層注入主體特征(圖2 (b,c))。然而,這些方法從預訓練提取器中獲得的僅是粗粒度的語義級特征,難以捕捉主體的細節。因此,這些精心設計的啟發式方法并未在定制化視頻生成中取得令人滿意的效果。一個自然的問題是:或許 VDM 本身就具備提取和注入主體特征的能力,我們只需通過一種簡單方式激活并利用這種力量,就能實現定制化生成?

重新審視 VDM,我們發現了一些潛在的內在能力。在主體特征提取方面,由于輸入無噪聲的參考圖像可以視為時間步 t=0t=0t=0 的特殊情況,預訓練的 VDM 已經能夠在無需額外訓練的情況下提取其特征。在主體特征注入方面,VDM 的空間自注意力主要建模幀內不同像素之間的關系,因此更適合注入與生成內容緊密相關的主體參考特征。此外,空間自注意力的自適應特性使其能夠選擇性地與這些特征交互,從而避免過擬合并促進生成視頻的多樣性。因此,如果我們利用 VDM 本身作為細粒度的主體特征提取器,并通過空間自注意力機制將主體特征與生成內容交互,就能利用 VDM 的內在力量實現定制化生成。

基于上述動機,我們提出了 VideoMaker,一個新穎的框架,利用 VDM 的內在能力實現高質量的零樣本定制化生成。我們將參考圖像作為模型輸入的一部分,直接使用 VDM 進行特征提取。所提取的特征不僅細粒度,而且與 VDM 的內在知識高度契合,避免了額外的對齊過程。在主體特征注入方面,我們利用 VDM 的空間自注意力,在逐幀生成內容時顯式地將主體特征與生成內容進行交互,使其與 VDM 的內在知識保持緊密聯系。此外,為了確保模型在訓練過程中能夠有效區分參考信息與生成內容,我們設計了一種簡單的學習策略以進一步提升性能。我們的框架采用原生方法完成主體特征的提取與注入,無需增加額外模塊,僅需對預訓練的 VDM 進行輕量微調以激活其內在力量。通過大量實驗,我們在定性與定量結果上均驗證了方法在零樣本定制化視頻生成中的優越性。

我們的貢獻總結如下:

  • 我們利用視頻擴散模型的內在力量提取主體的細粒度外觀特征,這些外觀信息對視頻擴散模型的學習更為友好。
  • 我們革新了以往的信息注入方式,創新性地利用視頻擴散模型中原生的空間自注意力計算機制完成主體特征注入。
  • 我們的框架優于現有方法,僅通過微調部分參數就實現了高質量的零樣本定制化視頻生成。

2. Related Work

2.1. Text-to-video diffusion models


隨著擴散模型和圖像生成 [12, 28, 29, 46–49, 51, 52, 66, 76, 82] 的進展,文本生成視頻(T2V)取得了顯著突破。由于高質量視頻-文本數據集 [4, 33] 的有限性,許多研究者嘗試基于已有的文本生成圖像(T2I)框架來開發 T2V 模型。一些研究 [3, 13, 20, 60, 61, 75, 77, 80, 83] 專注于改進傳統 T2I 模型,通過引入時序模塊并訓練這些新組件,將 T2I 模型轉化為 T2V 模型。具有代表性的例子包括 AnimateDiff [19]、Emu Video [17]、PYoCo [16] 和 Align your Latents [4]。此外,LVDM [24]、VideoCrafter [7, 9]、ModelScope [57]、LAVIE [62] 和 VideoFactory [59] 等方法采用了類似的架構,利用 T2I 模型進行初始化,并在空間和時序模塊上進行微調,從而獲得更優的視覺效果。除此之外,Sora [5]、CogVideoX [70]、Latte [44] 和 Allegro [84] 通過融合基于 Transformer 的骨干網絡 [44, 73] 并結合 3D-VAE 技術,在視頻生成方面也取得了重要進展。這些基礎模型的發展為定制化視頻生成奠定了堅實的基礎。

2.2. Customized Image/Video Generation


與基礎模型的發展歷程類似,文本生成圖像技術的快速進步也推動了圖像領域中定制化生成的顯著發展。能夠適應用戶偏好的定制化圖像生成,正受到越來越多的關注 [8, 10, 21, 22, 27, 30, 37, 39, 41, 42, 54, 55, 58, 64]。這些工作大體可以分為兩類,依據在更換主體時是否需要對整個模型進行重新訓練。第一類方法包括 Textual Inversion [14]、DreamBooth [53]、Custom Diffusion [35] 和 Mix-of-Show [18]。這類方法通過學習一個文本 token 或直接微調模型的全部或部分參數,實現完全定制化。盡管這些方法通常能生成與指定主體高度一致的高保真內容,但在主體變化時仍需重新訓練。第二類方法包括 IP-Adapter [71]、InstantID [58] 和 PhotoMaker [38]。這些方法采用不同的信息注入技術,并利用大規模訓練,從而在主體更換時無需參數重訓。在這些方法的基礎上,定制化視頻生成也隨著基礎模型的進展而發展起來。DreamVideo [65]、CustomVideo [63]、Animate-A-Story [25]、Still-Moving [6]、CustomCrafter [67] 和 VideoAssembler [81] 通過微調視頻擴散模型的部分參數實現定制化。然而,這相較于圖像定制化生成帶來了更高的訓練成本,對用戶而言造成了顯著的不便。一些研究,如 VideoBooth [32] 和 ID-Animator [23],嘗試采用類似 IP-Adapter 的訓練方法,但尚未達到與定制化圖像生成相同的成功水平。

3. Preliminary

視頻擴散模型(VDMs)[9, 19, 24, 57] 旨在通過擴展圖像擴散模型以適應視頻數據,從而完成視頻生成任務。VDMs 通過對從高斯分布采樣的變量逐步去噪來學習視頻數據分布。首先,一個可學習的自編碼器(由編碼器 E\mathcal{E}E 和解碼器 D\mathcal{D}D 組成)被訓練用于將視頻壓縮到一個更小的潛在空間表示。然后,潛在表示 z=E(x)z = \mathcal{E}(x)z=E(x) 被訓練替代視頻 xxx。具體來說,擴散模型 ?θ\epsilon_\theta?θ? 旨在根據文本條件 ctextc_{text}ctext? 在每個時間步 ttt 預測加入的噪聲 ?\epsilon?,其中 t∈U(0,1)t \in \mathcal{U}(0,1)tU(0,1)。訓練目標可以簡化為一個重建損失:

Lvideo=Ez,c,?~N(0,I),t[∥???θ(zt,ctext,t)∥22],(1)\mathcal{L}_{video} = \mathbb{E}_{z, c, \epsilon \sim \mathcal{N}(0, I), t} \Big[ \lVert \epsilon - \epsilon_\theta (z_t, c_{text}, t) \rVert_2^2 \Big], \tag{1} Lvideo?=Ez,c,?N(0,I),t?[???θ?(zt?,ctext?,t)22?],(1)

其中 z∈RF×H×W×Cz \in \mathbb{R}^{F \times H \times W \times C}zRF×H×W×C 是視頻數據的潛在編碼,F,H,W,CF, H, W, CF,H,W,C 分別表示幀數、高度、寬度和通道。ctextc_{text}ctext? 是輸入視頻的文本提示。一個帶噪潛在編碼 ztz_tzt? 由真實潛在編碼 z0z_0z0? 生成,形式為 zt=λtz0+σt?z_t = \lambda_t z_0 + \sigma_t \epsilonzt?=λt?z0?+σt??,其中 σt=1?λt2\sigma_t = \sqrt{1 - \lambda_t^2}σt?=1?λt2??λt\lambda_tλt?σt\sigma_tσt? 是控制擴散過程的超參數。在本文中,我們選擇 AnimateDiff [19] 作為基礎視頻擴散模型。

4. Method

給定一張主體的照片,我們的目標是訓練一個模型,該模型能夠提取主體的外觀并生成相同主體的視頻。此外,在更換主體時,該模型不需要重新訓練。我們在第 4.1 節討論了方法的關鍵思想,并在第 4.2 節詳細說明了如何利用 VDM 的內在能力來提取主體特征并使 VDM 學習主體。在第 4.3 節中,我們介紹了所提出的訓練策略,以更好地區分參考信息與生成內容。此外,我們在第 4.4 節中補充了有關訓練和推理的細節。

4.1. Explore Video Diffusion Model


為了實現定制化視頻生成,需要解決兩個核心問題:主體特征提取和特征注入。在主體特征提取方面,一些工作采用跨模態對齊模型,例如 CLIP [50]。然而,由于其訓練任務的限制,這些模型僅能生成粗粒度特征,無法細致地捕捉主體的外觀。一些研究嘗試訓練 ReferenceNet,但這顯著增加了訓練開銷。我們提出了一種新方法,利用預訓練的 VDM 進行主體特征提取。當將主體參考圖像直接輸入 VDM 且不添加噪聲時,可以將其視為 t=0t=0t=0 時 VDM 的特殊情況。因此,VDM 能夠準確地處理并提取無噪聲參考圖像的特征。這種方法不僅能夠在不增加額外訓練開銷的情況下提取細粒度主體特征,還能減少所提取特征與 VDM 內在知識之間的域差異。

在特征注入方面,空間交叉注意力通常用于 VDM 在圖像和文本之間的跨模態交互。受這種設計的影響,現有方法啟發式地采用交叉注意力來注入主體特征。然而,VDM 中的空間自注意力主要用于建模幀內像素之間的關系。在定制化視頻生成中,一個關鍵目標是確保主體“出現在”幀中。因此,在構建幀內像素關系時注入主體特征是一種更直接的方法。此外,空間自注意力能夠選擇性地與這些特征交互,從而有助于提升生成視頻的多樣性。受益于 VDM 自身執行的特征提取,我們可以直接利用 VDM 的內在空間自注意力建模能力來實現更直接的信息交互。

圖3

圖3. VideoMaker 的整體流程。我們將參考圖像直接輸入 VDM,并利用 VDM 的模塊進行細粒度特征提取。同時,我們修改了空間自注意力的計算方式以實現特征注入。此外,為了區分參考特征與生成內容,我們設計了引導信息識別損失(Guidance Information Recognition Loss)來優化訓練策略。

4.2. Personalized Injection Self Attention


主體特征提取。與以往的方法不同,我們利用 VDM 的現有網絡結構來實現這一點,即基于單元的 VDM 中的 Resblock。如圖3所示,給定一個視頻 xxx,它被編碼到潛在空間中并加噪得到 zt∈RF×H×W×Cz_t \in \mathbb{R}^{F \times H \times W \times C}zt?RF×H×W×C。同時,對于特定主體的參考圖像 RRR,我們首先通過 VAE 編碼參考圖像 RRR,在不添加噪聲的情況下獲得 rrr。然后我們將編碼后的參考圖像潛在空間 rrrztz_tzt? 沿幀維度進行拼接,得到 zt′∈R(F+1)×H×W×Cz_t' \in \mathbb{R}^{(F+1) \times H \times W \times C}zt?R(F+1)×H×W×C,作為模型的實際輸入。接下來,我們使用 Resblock 作為特征提取器,從 zt′z_t'zt? 中提取特征,得到輸入 f∈R(F+1)×h×w×cf \in \mathbb{R}^{(F+1) \times h \times w \times c}fR(F+1)×h×w×c,供空間自注意力層使用。然后我們將特征 fff 分離,得到對應于生成視頻的噪聲部分 fz∈RF×h×w×cf_z \in \mathbb{R}^{F \times h \times w \times c}fz?RF×h×w×c,以及對應于參考信息的部分 fr∈R1×h×w×cf_r \in \mathbb{R}^{1 \times h \times w \times c}fr?R1×h×w×c。至此,我們完成了針對特定主體的特征提取。

主體特征注入。在提取到特定主體特征后,接下來需要將這些特征注入到 VDM 中。對于 fzf_zfz? 中的每一幀 fzif_z^ifzi?,在計算空間自注意力之前,它會被轉換為 h×wh \times wh×w 個 tokens。我們將 frf_rfr?fzif_z^ifzi? 拼接,使得每幀的空間自注意力輸入變為 2×h×w2 \times h \times w2×h×w 個 tokens。我們將這些 tokens 記為 XXX。然后,我們通過空間自注意力來融合這些信息:

X′=Attention(Q,K,V)=Softmax(QK?d)V(2)X' = \text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^\top}{\sqrt{d}}\right)V \tag{2} X=Attention(Q,K,V)=Softmax(d?QK??)V(2)

其中 X′X'X 表示輸出的注意力特征,Q,K,VQ, K, VQ,K,V 分別表示查詢、鍵和值矩陣。具體來說,Q=XWQ,K=XWK,V=XWVQ = XW_Q, K = XW_K, V = XW_VQ=XWQ?,K=XWK?,V=XWV?WQ,WK,WVW_Q, W_K, W_VWQ?,WK?,WV? 分別是對應的投影矩陣,ddd 是鍵特征的維度。在計算注意力后,我們將輸出注意力特征 X′X'X 分離為 fz′f_z'fz?fr′f_r'fr?。由于 fr′f_r'fr? 被重復 FFF 次,我們對 FFF 個對應結果取平均,作為最終的 fr′f_r'fr?。最后,我們將得到的 fr′f_r'fr?fz′f_z'fz? 拼接,得到更新后的 f′f'f,并將其輸入到后續的模型層進行進一步處理。

4.3. Guidance Information Recognition Loss


由于我們框架的實際輸入 zt′z_t'zt? 相比于公式 (1) 的輸入多了一幀,因此輸出 ?θ∈R(F+1)×H×W×C\epsilon_\theta \in \mathbb{R}^{(F+1)\times H \times W \times C}?θ?R(F+1)×H×W×C 也相對于公式 (1) 的輸出多了一幀。一個直接的訓練目標是去掉對應參考信息 rrr 的輸出,只對剩余幀計算損失。這種方法鼓勵模型專注于學習帶有指定主體的定制化視頻生成。然而,我們在實驗中發現,如果對參考信息沒有監督,模型會難以準確識別參考信息 rrr 是一張未加噪聲的圖像,從而導致生成結果不穩定。為了解決這個問題,我們引入了引導信息識別損失(Guidance Information Recognition Loss),用于對參考信息進行監督,使模型能夠準確區分參考信息與生成內容,從而提升定制化生成的質量。具體來說,在訓練過程的時間步 ttt,我們為參考信息 rrr 添加一個提醒噪聲:

rt=λt′r+1?λt′2?,(3)r_t = \lambda_{t'} r + \sqrt{1 - \lambda_{t'}^2}\,\epsilon, \tag{3} rt?=λt?r+1?λt2???,(3)

其中 t′=α?tt' = \alpha \cdot tt=α?tα\alphaα 是一個手動設置的超參數。

為了防止加入的噪聲嚴重破壞參考信息,α\alphaα 被設置為一個較小的值,以確保提醒噪聲保持在最小水平。在計算損失函數時,我們還會像公式 (1) 那樣對參考信息 rrr 計算損失:

Lreg=Er,c,?~N(0,I),t[∥???θ(rt,ctext,t)∥22].(4)\mathcal{L}_{reg} = \mathbb{E}_{r,c,\epsilon \sim \mathcal{N}(0,I),t} \Big[ \lVert \epsilon - \epsilon_\theta(r_t, c_{text}, t) \rVert_2^2 \Big]. \tag{4} Lreg?=Er,c,?N(0,I),t?[???θ?(rt?,ctext?,t)22?].(4)

我們將 Lreg\mathcal{L}_{reg}Lreg? 作為輔助優化目標,與主要目標結合起來,引導模型的訓練:

L=Lvideo+β?Lreg,(5)\mathcal{L} = \mathcal{L}_{video} + \beta \cdot \mathcal{L}_{reg}, \tag{5} L=Lvideo?+β?Lreg?,(5)

其中 β\betaβ 是一個超參數。為了避免干擾主要的定制化視頻生成任務的優化,β\betaβ 被選擇為一個相對較小的值。

4.4. Training and Inference Paradigm


訓練。我們框架的簡潔設計使得在訓練過程中無需額外的主體特征提取器。由于我們只是調整了輸入 tokens 的數量到模型原有的空間自注意力層,將主體信息注入 VDM 并不會增加參數量。我們假設預訓練 VDM 中的 ResBlock 已經足夠提取參考圖像中的特征信息。因此,我們的模型只需要在訓練過程中微調原始 VDM 的空間自注意力層,同時凍結其余部分的參數。此外,為了使時序注意力能夠更好地區分參考信息與生成視頻,我們建議在訓練時同步微調 motion block 的參數。即使不微調 motion block,該方法也能實現定制化視頻生成。我們還會在訓練階段隨機丟棄圖像條件,以便在推理階段實現無分類器引導(classifier-free guidance):

?^θ(zt,ct,r,t)=w?θ(zt,ct,r,t)+(1?w)?θ(zt,t).(6)\hat{\epsilon}_\theta(z_t, c_t, r, t) = w \epsilon_\theta(z_t, c_t, r, t) + (1-w)\epsilon_\theta(z_t, t). \tag{6} ?^θ?(zt?,ct?,r,t)=w?θ?(zt?,ct?,r,t)+(1?w)?θ?(zt?,t).(6)

推理。在推理過程中,對于模型的輸出,對應參考信息的輸出會被直接丟棄。此外,雖然我們在訓練時對主體參考圖像添加了輕微噪聲,以顯式幫助模型區分引導信息,但在推理過程中我們選擇去除參考圖像的噪聲添加。這保證了生成的視頻不會受到噪聲影響,從而保持輸出的質量與穩定性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95120.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95120.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95120.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

錄屏、助眠、翻譯

01【小熊錄屏】 02【全球翻譯】 03【聲萌助眠】 03 軟件獲取 小熊錄屏(點擊下載) 聲萌助眠(點擊下載) 全球-譯官(點擊下載)

第17章|PowerShell 安全警報——高分學習筆記(運維實戰向)

🛡? 第17章|PowerShell 安全警報——高分學習筆記(運維實戰向)一句話核心:PowerShell 的“安全設計目標”是——不替你越權;盡量防“誤觸發不可信腳本”;并非反惡意軟件的最后防線。1&#xff…

哈希表性能對比:uthash、hsearch與Linux內核哈希表的深度解析

引言 在網絡編程和高性能服務器開發中,高效的數據結構是保證系統性能的關鍵。本文基于對三種主流哈希表實現(uthash、hsearch和Linux內核哈希表)的深度測試,探討它們在處理50,000個客戶端連接時的性能表現、內存效率及適用場景。 測試環境與方法 測試數據結構 我們使用…

探索 XGBoost 與 LightGBM 的差異:哪個更適合你的項目?

輕松對比:XGBoost 和 LightGBM 的差異與選擇指南 在機器學習領域,梯度提升樹(GBDT)是一種廣泛使用的算法,而 XGBoost 和 LightGBM 是兩款最受歡迎的 GBDT 實現。它們都能夠顯著提高模型的準確性,但它們之間…

C++鏈表雙杰:list與forward_list

在C容器的世界里,當我們需要頻繁地在序列中間進行插入和刪除時,基于數組的 vector 會顯得力不從心。這時,鏈表結構就閃亮登場了。STL提供了兩種鏈表容器:功能全面的雙向鏈表 std::list 和極致輕量化的單向鏈表 std::forward_list。…

Ruoyi-vue-plus-5.x第一篇Sa-Token權限認證體系深度解析:1.4 Sa-Token高級特性實現

👋 大家好,我是 阿問學長!專注于分享優質開源項目解析、畢業設計項目指導支持、幼小初高的教輔資料推薦等,歡迎關注交流!🚀 Sa-Token高級特性實現 前言 在前面的文章中,我們學習了Sa-Token的…

Linux 服務器初始化解析和ssh密鑰交換的介紹

目錄 2. SSH 基于密鑰交換的介紹和原理 2.1 核心優勢 2.2 密鑰交換原理(非對稱加密體系) 2.3 基礎配置步驟 3. 服務器初始化 3.1 安裝 yum 網絡源 3.1.1 背景說明 3.1.2 實操步驟 3.2 安裝運維的必備工具 3.2.1 工具清單 3.2.2 批量安裝命令 …

web滲透ASP.NET(Webform)反序列化漏洞

web滲透ASP.NET(Webform)反序列化漏洞1)ASP.NET(Webform)反序列化漏洞ASP.NET(Webform) 反序列化漏洞的核心觸發點是 Webform 框架中的VIEWSTATE參數 —— 該參數用于存儲頁面控件狀態數據,默認以 Base64 編碼傳輸,內部包含序列化的對象數據。…

Android FrameWork - 開機啟動 SystemServer 進程

基于安卓 12 源碼分析相關類:frameworks/base/core/java/com/android/internal/os/ZygoteInit.java frameworks/base/core/java/com/android/internal/os/Zygote.java frameworks/base/core/java/com/android/internal/os/RuntimeInit.java frameworks/base/service…

C++:list容器--模擬實現(下篇)

1. 模擬實現 list 一些常用接口// list.h #pragma once #include <assert.h> #include "Iterator.h"namespace room {template<class T>struct list_node{list_node<T>* _next;list_node<T>* _prev;T _data;list_node(const T& x T()):…

邊緣計算:一場由物理定律發起的“計算革命”

專欄引言:在前面的文章中,我們探討了云計算如何將計算資源變成了“數字水電煤”,構建了一個強大的中心化數字帝國。然而,當這個帝國試圖將它的觸角伸向物理世界的每一個角落時,卻遭遇了兩位“上古之神”的無情阻擊——光速與帶寬。今天,我們將聚焦于一場由物理定律發起的…

量化模型部署工具llama.cpp

量化模型部署工具llama.cppllama.cppllama.cpp 是什么使用場景是什么如何使用&#xff1f;第 1 步&#xff1a;獲取量化模型第 2 步&#xff1a;編譯 llama.cpp第 3 步&#xff1a;運行推理完整 Demo&#xff1a;與 Llama 3 對話進階使用&#xff1a;Python 集成總結概念解釋1.…

【光照】[光照模型]發展里程碑時間線

【從UnityURP開始探索游戲渲染】專欄-直達 圖形學光照模型發展史&#xff1a;技術演進與里程碑 section 基礎奠基期(1960s-1970s) 1967 &#xff1a; Lambert模型(漫反射) - Bui Tuong Phong提出1971 &#xff1a; Gouraud著色 - Henri Gouraud發明頂點插值著色1973 &#xf…

【從零開始java學習|第十篇】面向對象

目錄 一、面向對象介紹 二、類和對象 1. 類&#xff08;Class&#xff09;&#xff1a;對象的模板 2. 對象&#xff08;Object&#xff09;&#xff1a;類的實例 三、封裝 1. 封裝的概念 2. 封裝的優勢 四、就近原則和 this 關鍵字 1. 就近原則 2. this 關鍵字 五、…

Spark算子調優

Spark中可用下面的算子對數據計算進行優化處理&#xff0c;包括&#xff1a; mapPartition&#xff1a;一次處理一個分區數據&#xff0c;能夠使用mapPartition的盡量使用&#xff0c;但是使用時會一次性讀取整個分區數據到內存&#xff0c;占內存很大&#xff0c;同理還有fore…

碼農特供版《消費者權益保護法》逆向工程指北——附源碼級注釋與異常處理方案

尊敬的審核&#xff1a; 本人文章《碼農特供版〈消費者權益保護法〉逆向工程指北——附源碼級注釋與異常處理方案》 1. 純屬技術交流&#xff0c;無任何違法內容 2. 所有法律引用均來自公開條文 3. 請依據《網絡安全法》第12條“不得無故刪除合法內容”處理 附&#xff1a;本文…

MQTT 連接建立與斷開流程詳解(二)

三、核心機制與最佳實踐&#xff08;一&#xff09;會話管理與 QoS 保障Clean Session vs 持久會話&#xff1a;在 MQTT 連接中&#xff0c;會話管理是一個重要的概念&#xff0c;其中 Clean Session 和持久會話是兩種不同的會話模式。Clean Session&#xff0c;當設置為 1 時&…

[光學原理與應用-332]:ZEMAX - 序列模式與非序列模式的本質、比較

序列模式&#xff08;Sequential Mode&#xff09;與非序列模式&#xff08;Non-Sequential Mode&#xff09;是ZEMAX光學設計軟件中的兩種核心設計模式&#xff0c;二者在光路定義、分析工具、應用場景等方面存在本質差異。以下是兩者的詳細比較&#xff1a;一、本質差異光路定…

WeakAuras Lua Script (My Version)

分享下我的WA的簡約配置&#xff0c;大多數都是團隊框架高亮&#xff0c;輔助大腳DBM監控 表格&#xff1a; WeakAuras Lua Script &#xff1c;BiaoGe&#xff1e;_wa拍賣字符串-CSDN博客 ICC 監控&#xff0c;只要團隊框架監控 WeakAuras Lua Script ICC &#xff08;Barne…

【Python+requests】解決Python requests中的ProxyError:SSL版本錯誤問題詳解

解決Python requests中的ProxyError&#xff1a;SSL版本錯誤問題詳解 在使用Python進行網絡請求時&#xff0c;很多人都會用到requests庫配合代理服務器進行調試或抓包。但有時會遇到令人困惑的ProxyError&#xff0c;尤其是伴隨SSLError: [SSL: WRONG_VERSION_NUMBER]這樣的錯…