主頁 >  其他 > 聯邦學習:多任務思想與聚類聯邦學習

聯邦學習:多任務思想與聚類聯邦學習

2022-03-16 07:17:24 其他

1.導引

計算機科學一大定律:許多看似過時的東西可能過一段時間又會以新的形式再次回歸,

在聯邦學習領域,許多傳統機器學習已經討論過的問題(甚至一些90年代和00年代的論文)都可以被再次被發明一次,比如我們會發現聚類聯邦學習和多任務學習之間就有千絲萬縷的聯系,

2. 多任務學習回顧

我們在博客《基于正則化的多任務學習》中介紹了標準多任務學習的核心是多任務個性化權重+知識共享[1],如多任務學習最開始提出的模型即為一個共享表示的神經網路:

多層前饋網路構建共享特征表示

而多任務學習中有一種方法叫聚類多任務學習,聚類多任務學習基本思想為:將任務分為若個個簇,每個簇內部的任務在模型引數上更相似, 最早的聚類多任務學習的論文[2]為一種一次性聚類(one-shot clustering),即將任務聚類和引數學習分為了兩個階段:第一階段,根據在各任務單獨學習得到的模型來聚類,確定不同的任務簇,第二階段,聚合同一個任務簇中的所有訓練資料,以學習這些任務的模型,這種方法把任務聚類和模型引數學習分為了兩個階段,可能得不到最優解,因此后續作業都采用了迭代式聚類(iterative clustering),即在訓練迭代中同時學習任務聚類和模型引數的方法,

我們著重介紹Bakker等人(2003)[3]提出了一個多任務貝葉斯神經網路(multi-task Bayesian neural network),其結構與我們前面所展現的共享表示的神經網路相同,其亮點在于基于連接隱藏層和輸出層的權重采用高斯混合模型(Gaussian mixture model)對任務進行分組,若給定資料集\(\mathcal{D} = \{D_t\}, t=1,...,T\),設隱藏層維度為\(h\),輸出層維度為\(T\)\(\mathbf{W}\in \mathbb{R}^{T\times (h + 1)}\)代表隱藏層到輸出層的權重矩陣(結合了偏置),我們假定每個任務對應的權重向量\(\mathbf{w}_t\)(\(\mathbf{W}\)的第\(t\)列)關于給定超引數獨立同分布,我們假定第\(t\)個任務先驗分布如下:

\[\bm{w}_t \sim \mathcal{N}(\bm{w}_t | \bm{u}, \mathbf{\Sigma}) \tag{8} \]

這是一個高斯分布,均值為\(\bm{u} \in \mathbb{R}^{h + 1}\),協方差矩陣\(\mathbf{\Sigma} \in \mathbb{R}^{ (h+1) \times (h+1)}\)
我們上面的定義其實假定了所有任務屬于一個簇,接下來我們假定我們有不同的簇(每個簇由相似的任務組成),我們設有\(C\)個簇(cluster),則任務\(t\)的權重\(w_t\)\(C\)個高斯分布的混合分布:

\[\bm{w}_t \sim \sum_{c=1}^C \alpha_c \mathcal{N} (\bm{w}_t | \bm{u}_c, \mathbf{\Sigma}_c) \tag{9} \]

其中,每個高斯分布可以被認為是描述一個任務簇,式\((9)\)中的\(\alpha_c\)代表了任務\(t\)被分為簇\(c\)的先驗概率,其中task clustering(如下面左圖所示)模型中所有任務對簇\(c\)的加權\(\alpha_c\)都相同;而task-depenent模型(如下面右圖所示)中各任務對簇\(c\)的加權\(\alpha_{tc}\)不同,且依賴于各任務特定的向量\(\bm{f}_t\)
混合高斯模型對任務進行分組

好,大家再細細品味一下這種一個任務簇對應一個概率分布的思想,下面我們介紹的很多聚類聯邦學習演算法都體現有這種思想的思想,

3. 潛在聚類結構的的前置假設

上面我們提到的這種來自于上個世紀90年代的多任務學習思想并未過時,近年來在個性化聯邦學習中又重新煥發了生機,這篇文章我們就來歸納一下與多任務學習思想關系密切的聯邦學習個性化方法之一——聚類聯邦學習,

聚類聯邦學習基本上都基于這樣一個假設:雖然聯邦學習中各節點的資料是Non-IID的,但是我們可以假定某些節點的資料可以歸為一個聚類簇(簇內節點的分布近似IID),實際上,這個思想讓我們聯想到高斯混合分布,高斯混合分布就假設每個節點的資料采樣自高斯混合分布中的一個成分(對應一個簇),而經典的高斯混合聚類就是要確定每個節點和簇的對應關系,如果采用這種假設,那么在做實驗時就可以考慮基于混合分布的劃分方法,參見我的博客《基于混合分布的多任務學習》

深度多任務學習實體1

注意,雖然這里假定每個聚類簇對應一個成分分布,但現實情況的資料分布是模糊的,不同簇之間的資料仍然可能會有關聯,而這就為我們進行簇間的多任務知識共享提供了動機

按照其聚類的時間,我們按照上文聚類多任務學習的分發,可將聚類聯邦學習的方法也分為一次性聚類迭代式聚類

一次性聚類即在模型訓練開始之前就先對client資料進行聚類,因為client資料不出庫,常常將\(T\)個client初步訓練后的引數\(\{\widetilde{\theta}_t\}^T_{t=1}\)發往server,然后由server將\(T\)個client聚為\(S_1,...,S_k\),然后對每一個類\(k(k\in [K])\),運行傳統聯邦學習方法(如FedAvg[5]或二階方法[6][7])求解出最終的\(\hat{\theta}_k\),注意, 此種方式默認每個聚類簇得到一個引數\(\hat{\theta}_k\),同樣,類似我們上面對一次性聚類多任務學習的分析,如果一旦開局的聚類演算法產生了錯誤的估計,那么接下來的時間里演算法將無法對其進行更正,此外,這種方法常常使用類似于K-means的距離聚類方法,而從理論上講對于神經網路兩個模型擁有相近的引數距離,但其輸出可能大不相同(由于模型對于隱藏層單元的置換不變性),

動態式的聚類為則為在訓練的程序中一邊訓練,一邊根據模型引數\(\widetilde{\theta}_t\)的情況來動態調整聚類結果,這種方式既可以簇內任務直接廣播引數\(\theta_k\),也可以僅僅共享引數的變化量\(\Delta \theta_k\)

按照其任務劃分粒度的方式,我們可將方法分為節點間多任務簇間多任務,節點間多任務類似聚類多任務學習,它為將每個節點視為一個任務(訓練一個個性化模型),然后將節點劃分為多個簇,簇內和簇間都會進行知識共享,簇間多任務為將節點劃分為多個簇,假定簇內資料IID,然后簇內節點直接廣播引數,此時將每個簇視為一個任務,然后再在簇間進行知識共享,

4. 聚類聯邦學習經典論文閱讀

4.1 TNNLS 2020:《Clustered Federated Learning: Model-Agnostic Distributed Multitask Optimization Under Privacy Constraints》[8]

深度多任務學習實體1

本文采用的是迭代式聚類節點間多任務,它在每輪迭代時,都會根據節點的引數相似度進行一次任務簇劃分,同一個任務簇共享引數的變化量 \(g\),以此既能達到每個節點訓練一個個性化模型,又能完成知識共享和相似的節點相互促進的目的,本論文的亮點是聚類簇的個數可以隨著迭代變化,無需實作指定任務簇個數\(K\)做為先驗,

本篇論文演算法的每輪通信描述如下:

(1) 第\(t\)個client節點執行

  • 從server接收對應的簇引數\(g_k\)
  • \(\theta_{old}=\theta_t=\theta_t + g_k\)
  • 執行\(E\)個區域epoch的SGD:

    \[\theta_t = \theta_t - \eta \nabla \mathcal{l}(\theta_t; b) \]

    (此處將區域資料\(D_t\)劃分為多個\(b\))
  • \(\widetilde{g}_t = \theta_t-\theta_{old}\)發往server,

(2) server節點執行

  • \(T\)個client接收\(\widetilde{g}_1、\widetilde{g}_2,...\widetilde{g}_T\)

  • 對每一個簇\(k\),計算簇內平均引數變化:

\[\hat{g}_{k} = \frac{1}{|S_k|}\sum_{t\in S_k}\widetilde{g}_t \]

  • 將每個簇的簇內變化\(\hat{g}_k\)發往對應的client,

  • 根據不同節點引數變化量的余弦距離\(\alpha_{i,j}=\frac{\langle \widetilde{g}_i, \widetilde{g}_j\rangle}{||\widetilde{g}_i||||\widetilde{g}_j||}\)重新劃分聚類簇,

4.2 NIPS 2020:《An Efficient Framework for Clustered Federated Learning》[8]

深度多任務學習實體1

本文采用的是迭代式聚類簇間多任務,本論文需要事先指定聚類簇的個數\(K\),它在每輪迭代時,都會根據節點的引數相似度重新進行一次任務簇劃分,第\(k\)個任務簇對其所有節點廣播引數\(\theta_k\),也就是說每個聚類簇構成一個學習任務(負責學習屬于該任務簇的個性化模型),

本篇論文演算法的每輪通信描述如下:

(1) 第\(t\)個client節點執行

  • 從server接收簇引數\(\theta_1,\theta_2,...\theta_{K}\)

  • 估計其所屬的簇:\(\hat{k}=\underset{k\in[K]}{\text{argmin }}\mathcal{l}(\theta_k;D_t)\)

  • 對簇引數執行\(E\)個區域epoch的SGD:

    \[\theta_k = \theta_k - \eta \nabla \mathcal{l}(\theta_k; b) \]

    (此處將區域資料\(D_t\)劃分為多個\(b\))

  • 將最終得到的簇引數做為\(\widetilde{\theta}_t\),并和該client對應的簇劃分一起發往server,

(2) server節點執行

  • \(T\)個client接收\(\widetilde{\theta}_1、\widetilde{\theta}_2,..., \widetilde{\theta}_T\)和各client的簇劃分情況

  • 根據節點引數的平均值來更新簇引數:

\[\hat{\theta}_k = \frac{1}{|S_k|} \sum_{t \in S_k}\widetilde{\theta}_t \]

由于現實的聚類關系很模糊,該演算法在具體實作時效仿多任務學習中的權值共享[1]機制,允許不同簇(任務)之間共享部分引數,具體地,即在訓練神經網路模型時,先使用所有client的訓練資料學習一個共享表示,然后再運行聚類演算法為每個簇學習神經網路的最后一層(即多任務層),

4.3 WWW 2021:《PFA: Privacy-preserving Federated Adaptation for Effective Model Personalization》[9]

深度多任務學習實體1

本文采用的是一次性聚類,本論文需要事先指定聚類簇的個數\(K\),然后在訓練迭代開始前,每個節點先訓練一個稀疏表征模型模型,然后將稀疏表征模型得到的稀疏向量傳到server,server再根據各client稀疏向量之間的相似度進行任務簇劃分,之后,各任務簇分別運行傳統FedAvg演算法學習每個簇對應的個性化模型,值得一提的是,雖然該演算法屬于聚類聯邦學習,但我個人認為嚴格來說它與標準的多任務學習還有一定距離,因為它的每個簇之間缺少知識共享, 不過它確物體現了“多任務”的思想,而且與我們前面講的聚類演算法關聯十分密切,最終我還是將其加入本專題,

4.4 INFOCOM 2021:《Resource-Efficient Federated Learning with Hierarchical Aggregation in Edge Computing》

多層前饋網路構建共享特征表示

這篇文章嚴格來說不屬于上面所說的聚類聯邦學習,也不是多任務學習/個性化聯邦學習的范疇,其文中提到的clustered應該翻譯成"(局域網構成的)集群的",但我覺得這篇文章算是從另一個工程的角度來應用了分組聚合的思想,我在這里還是覺得將其介紹一下,

在現實工業環境下,聯邦學習常常是基于引數服務器(parameter server)的,但引數服務器位于遠程云平臺上,邊緣節點與它之間的通信經常不可用,而邊緣節點的數量龐大,這就導致通信代價可能會很高,本文的基本思想即是減少邊緣節點和PS之間的通信,加強邊緣節點之間的協作,論文將不同的client劃分為了多個局域網/集群,每個集群都有一個leader node(LN)做為集群頭,每個集群先分別運行FedAvg演算法將引數聚合到LN(集群內是同步的),然后再由PS異步地搜集各LN的引數并進行聚合,最后再將新的引數廣播到各個邊遠client,

本篇論文還考慮了每個client的資源消耗等復雜資訊,此處為了簡單起見,我們將簡化后演算法的每輪通信描述如下:

(1) 第\(t\)個client節點執行

  • \(LN_k\)接收引數\(\theta\)做為本地的\(\theta_t\)
  • 執行\(E\)個區域epoch的SGD:

    \[\theta_t = \theta_t - \eta \nabla \mathcal{l}(\theta_t; b) \]

    (此處將區域資料\(D_t\)劃分為多個\(b\))
  • 將新的引數\(\widetilde{\theta}_t\)發往所在簇的\(LN_k\)

(2) \(LN_k\)節點執行

  • 從集群內的\(|S_k|\)個client接收引數\(\{\widetilde{\theta}_j\}(j\in S_k)\)

  • 根據簇內節點引數的加權平均值來更新簇引數:

\[\theta_k = \frac{\sum_{j \in S_k}{ |D_j|}\widetilde{\theta}_j}{\sum_{j\in S_k} |D_j|} \]

  • 將簇引數\(\theta_k\)發往PS,
  • 從PS接收引數\(\theta\)并將其發往client節點,

(2) PS節點執行

  • \(k\)\(LN_k\)節點接收\({\theta}_k\)(異步地),

  • 根據一階指數平滑來更新引數:

\[\hat{\theta} = (1-\alpha)\theta + \alpha \theta_k \]

\(\quad\quad\)(在實際論文中\(\alpha\)是一個在迭代中變化的量,此處為了簡化省略)

  • 將新的引數\(\hat{\theta}\)發往\(LN_k\)

參考

  • [1] Caruana R. Multitask learning[J]. Machine learning, 1997, 28(1): 41-75

  • [2] Thrun S, O'Sullivan J. Discovering structure in multiple learning tasks: The TC algorithm[C]//ICML. 1996, 96: 489-497.

  • [3] Bakker B J, Heskes T M. Task clustering and gating for bayesian multitask learning[J]. 2003.

  • [4] Sattler F, Müller K R, Samek W. Clustered federated learning: Model-agnostic distributed multitask optimization under privacy constraints[J]. IEEE transactions on neural networks and learning systems, 2020, 32(8): 3710-3722.

  • [5] McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Artificial intelligence and statistics. PMLR, 2017: 1273-1282.

  • [6] Wang S, Roosta F, Xu P, et al. Giant: Globally improved approximate newton method for distributed optimization[J]. Advances in Neural Information Processing Systems, 2018, 31.

  • [7] Ghosh A, Maity R K, Mazumdar A. Distributed newton can communicate less and resist byzantine workers[J]. Advances in Neural Information Processing Systems, 2020, 33: 18028-18038.

  • [8] Ghosh A, Chung J, Yin D, et al. An efficient framework for clustered federated learning[J]. Advances in Neural Information Processing Systems, 2020, 33: 19586-19597.

  • [9] Liu B, Guo Y, Chen X. PFA: Privacy-preserving Federated Adaptation for Effective Model Personalization[C]//Proceedings of the Web Conference 2021. 2021: 923-934.

  • [10] Wang Z, Xu H, Liu J, et al. Resource-Efficient Federated Learning with Hierarchical Aggregation in Edge Computing[C]//IEEE INFOCOM 2021-IEEE Conference on Computer Communications. IEEE, 2021: 1-10.

數學是符號的藝術,音樂是上界的語言,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/444405.html

標籤:其他

上一篇:【使用分享】Hive磁區表那些事

下一篇:【面經】面試基本流程

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more