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

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

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

一些優(yōu)秀的Github倉庫源碼與框架

DPVg_AI_era ? 來源:lp ? 2019-03-20 08:50 ? 次閱讀

深度學(xué)習(xí)是當(dāng)前深度學(xué)習(xí)領(lǐng)域最熱門的方向之一,圖神經(jīng)網(wǎng)絡(luò)(GNN)不僅在理論上有所創(chuàng)新,在工業(yè)界中也真實的應(yīng)用。本文介紹 Github 上熱門的圖神經(jīng)網(wǎng)絡(luò)源碼及框架,方便研究人員和工程師上手圖深度學(xué)習(xí)。

近兩年來,圖卷積、圖注意力網(wǎng)絡(luò)等圖神經(jīng)網(wǎng)絡(luò)在學(xué)術(shù)界、工業(yè)界都有廣泛的應(yīng)用。雖然大多數(shù)圖神經(jīng)網(wǎng)絡(luò)理論包含復(fù)雜的公式推導(dǎo),但最終產(chǎn)出的網(wǎng)絡(luò)結(jié)構(gòu)(公式)缺一般比較簡單,但這并不意味著圖神經(jīng)網(wǎng)絡(luò)的實現(xiàn)會很簡單。

導(dǎo)致圖神經(jīng)網(wǎng)絡(luò)實現(xiàn)復(fù)雜的原因主要有以下幾個:

以圖卷積網(wǎng)絡(luò)為例,它的原版依賴完整鄰接矩陣和全部節(jié)點(diǎn)作為輸入,對內(nèi)存、顯存和計算效率都造成了限制。好在目前有一些理論如 FaskGCN 可以通過 mini-batch 等方式來進(jìn)行數(shù)據(jù)切分從而解決這個問題。

雖然利用稀疏矩陣可以一定程度上緩解上述問題,但依然不能處理大規(guī)模的數(shù)據(jù)。另外,由于多層網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜,一般在實現(xiàn)時要同時實現(xiàn)稀疏版和非稀疏版的組件。

對圖結(jié)構(gòu)數(shù)據(jù)的預(yù)處理比較麻煩。例如在處理異構(gòu)網(wǎng)絡(luò)時,有時需要對每種類型的節(jié)點(diǎn)進(jìn)行獨(dú)立地編號、為每種關(guān)系獨(dú)立建立子圖等,才能將圖數(shù)據(jù)轉(zhuǎn)換為深度學(xué)習(xí)模型可用的數(shù)值化數(shù)據(jù),并且任何一個細(xì)節(jié)可能都會影響算法的效率(如鄰節(jié)點(diǎn)列表的數(shù)據(jù)結(jié)構(gòu)使用 list 和 set 會導(dǎo)致不同的采樣效率和查詢效率)。

需要一些基于圖的額外操作,例如 Random Walk、有類型約束的 Random Walk(Meta-path)等,由于圖結(jié)構(gòu)的復(fù)雜性,這些操作在單機(jī)上的實現(xiàn)都比較費(fèi)力,更不用說在大規(guī)模分布式上。

圖深度學(xué)習(xí)研究者和工業(yè)界在 Github 上開源了一些優(yōu)秀的圖神經(jīng)網(wǎng)絡(luò)的實現(xiàn)其框架,都從一定程度上去解決了上述的問題,非常值得我們借鑒。下面我們列出一些優(yōu)秀的 Github 倉庫:

DeepWalk / LINE

鏈接:

DeepWalk: https://github.com/phanein/deepwalk

LINE: https://github.com/tangjianpku/LINE

簡介:

雖然 DeepWalk 和 LINE 屬于網(wǎng)絡(luò)表示學(xué)習(xí)中的算法,與現(xiàn)在端到端的圖神經(jīng)網(wǎng)絡(luò)有一定的區(qū)別,但目前一些圖神經(jīng)網(wǎng)絡(luò)應(yīng)用(如社交網(wǎng)絡(luò)、引用網(wǎng)絡(luò)節(jié)點(diǎn)分類)依然使用 DeepWalk/LINE 來作為預(yù)訓(xùn)練算法,無監(jiān)督地為節(jié)點(diǎn)獲得初始特征表示。另外,DeepWalk 項目中的 Random Walk 也可以被直接拿來用作圖神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)采樣操作。

圖卷積網(wǎng)絡(luò) GCN TensorFlow/PyTorch 版

鏈接:

TensorFlow:https://github.com/tkipf/gcn

PyTorch:https://github.com/tkipf/pygcn

簡介:

GCN 論文作者提供的源碼,該源碼提供了大量關(guān)于稀疏矩陣的代碼。例如如何構(gòu)建稀疏的變換矩陣(這部分代碼被其他許多項目復(fù)用)、如何將稀疏 CSR 矩陣變換為 TensorFlow/PyTorch 的稀疏 Tensor,以及如何構(gòu)建兼容稀疏和非稀疏的全連接層等,幾乎是圖神經(jīng)網(wǎng)絡(luò)必讀的源碼之一了。

快速圖卷積網(wǎng)絡(luò) FastGCN TensorFlow 版

鏈接:

https://github.com/matenure/FastGCN

簡介:

FastGCN 作者提供的源碼,基于采樣的方式構(gòu)建 mini-match 來訓(xùn)練 GCN,解決了 GCN 不能處理大規(guī)模數(shù)據(jù)的問題。

圖注意力網(wǎng)絡(luò) GAT TensorFlow 版

鏈接:

https://github.com/PetarV-/GAT

簡介:

GAT 論文作者提供的源碼。源碼中關(guān)于 mask 的實現(xiàn)、以及稀疏版 GAT 的實現(xiàn)值得借鑒。

Mini-batch 版圖注意力網(wǎng)絡(luò) DeepInf

鏈接:

https://github.com/xptree/DeepInf

簡介:

DeepInf 論文其實是 GAT 的一個應(yīng)用,但其基于 Random Walk 采樣子圖構(gòu)建 mini-batch 的方法解決了 GAT 在大規(guī)模網(wǎng)絡(luò)上應(yīng)用的問題。

DeepMind 開源的圖神經(jīng)網(wǎng)絡(luò)框架Graph Nets

鏈接:

https://github.com/deepmind/graph_nets

簡介:

基于 TensorFlow 和 Sonnet。上面的項目更側(cè)重于節(jié)點(diǎn)特征的計算,而 graph_nets 同時包含節(jié)點(diǎn)和邊的計算,可用于一些高級任務(wù),如最短路徑、物理場景模擬等。

工業(yè)級分布式圖神經(jīng)網(wǎng)絡(luò)框架 Euler

鏈接:

https://github.com/alibaba/euler

簡介:

Euler 是阿里巴巴開源的大規(guī)模分布式的圖學(xué)習(xí)框架,配合 TensorFlow 或者阿里開源的 XDL 等深度學(xué)習(xí)工具,它支持用戶在數(shù)十億點(diǎn)數(shù)百億邊的復(fù)雜異構(gòu)圖上進(jìn)行模型訓(xùn)練。

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

    關(guān)注

    42

    文章

    4717

    瀏覽量

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

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120596
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    461

    瀏覽量

    16237

原文標(biāo)題:Github熱門圖深度學(xué)習(xí)(GraphDL)源碼與框架

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    上傳本地項目代碼到github

    概述 GitHub個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯的版本庫格式進(jìn)行托管,故名GitHub。本文主要講解如何將本地代碼上傳至
    發(fā)表于 09-11 16:33

    RFID背夾在倉庫管理中的應(yīng)用

    是RFID背夾在倉庫管理中的一些應(yīng)用:1.快速識別和追蹤貨物RFID背夾可以附著在貨物上,包含了唯的標(biāo)識信息。當(dāng)貨物經(jīng)過安裝在倉庫入口、出口和其他關(guān)鍵位置的RFID
    的頭像 發(fā)表于 05-16 10:51 ?314次閱讀
    RFID背夾在<b class='flag-5'>倉庫</b>管理中的應(yīng)用

    谷歌模型框架是什么?有哪些功能和應(yīng)用?

    谷歌模型框架(Google Model Framework)并不是個特定的框架,而是指谷歌開發(fā)的系列軟件框架,用于支持機(jī)器學(xué)習(xí)和人工智能
    的頭像 發(fā)表于 02-29 18:11 ?1232次閱讀

    較為全面的倉庫溫濕度管理知識

    溫濕度管理是倉庫管理中的重要環(huán)節(jié),它關(guān)乎著貨品質(zhì)量的安全。同時,做好溫濕度管理更是訂單能夠及時履行的關(guān)鍵所在。很多倉庫管理人員大致了解一些關(guān)于溫濕度管理方面的知識,但還不夠全面。搜集總結(jié)一些
    的頭像 發(fā)表于 01-27 00:00 ?1745次閱讀
    較為全面的<b class='flag-5'>倉庫</b>溫濕度管理知識

    嵌入式學(xué)習(xí)——ElfBoard ELF1板卡 獲取內(nèi)核源碼的方法

    及時,在遇到一些內(nèi)核問題時就可以到linux官網(wǎng)的源碼中查下是不是有相關(guān)的提交記 二、獲取芯片原廠的linux源碼 每個芯片原廠都有自己的git
    發(fā)表于 12-16 09:44

    I.MX6ULL-ElfBoard ELF1板卡 獲取內(nèi)核源碼的方法。

    及時,在遇到一些內(nèi)核問題時就可以到linux官網(wǎng)的源碼中查下是不是有相關(guān)的提交記 二、獲取芯片原廠的linux源碼 每個芯片原廠都有自己的git
    發(fā)表于 12-16 09:41

    GitHub入門與實踐

    GitHub個基于 Git 版本控制系統(tǒng)的代碼托管平臺,它提供了許多功能和用途,主要面向軟件開發(fā)和協(xié)作。以下是 GitHub 的主要用途和一些關(guān)鍵技術(shù):
    發(fā)表于 12-14 09:53 ?4次下載

    我們?yōu)槭裁葱枰私?b class='flag-5'>一些先進(jìn)封裝?

    我們?yōu)槭裁葱枰私?b class='flag-5'>一些先進(jìn)封裝?
    的頭像 發(fā)表于 11-23 16:32 ?466次閱讀
    我們?yōu)槭裁葱枰私?b class='flag-5'>一些</b>先進(jìn)封裝?

    分享一些SystemVerilog的coding guideline

    本文分享一些SystemVerilog的coding guideline。
    的頭像 發(fā)表于 11-22 09:17 ?582次閱讀
    分享<b class='flag-5'>一些</b>SystemVerilog的coding  guideline

    ROS核心框架介紹

    message_filter),有些應(yīng)該是通過socket。 不過ROS的核心框架也就是ros-base主要由Willow Garage公司和一些開發(fā)者設(shè)計、提供以及維護(hù),它提供了一些分布式計算的基本工具
    的頭像 發(fā)表于 11-21 18:07 ?819次閱讀
    ROS核心<b class='flag-5'>框架</b>介紹

    PCB抄板的一些方法

    拆掉所有器多層板抄板件,并且將PAD孔里的錫去掉。用酒精將PCB清洗干凈,然后放入掃描儀內(nèi),掃描儀掃描的時候需要稍調(diào)高一些掃描的像素, 以便得到較清晰的圖像。
    的頭像 發(fā)表于 11-15 17:04 ?773次閱讀
    PCB抄板的<b class='flag-5'>一些</b>方法

    epoll源碼分析

    個函數(shù)進(jìn)行源碼分析。 源碼來源 由于epoll的實現(xiàn)內(nèi)嵌在內(nèi)核中,直接查看內(nèi)核源碼的話會有一些無關(guān)代碼影響閱讀。為此在GitHub上寫的簡化
    的頭像 發(fā)表于 11-13 11:49 ?842次閱讀
    epoll<b class='flag-5'>源碼</b>分析

    針對RF PCBA設(shè)計的一些建議

    射頻(RF)PCBA設(shè)計涉及系列復(fù)雜的考慮因素,包括天線設(shè)計、濾波器設(shè)計以及傳輸線(RF Trace)的優(yōu)化。這些因素對于無線通信和射頻應(yīng)用的性能至關(guān)重要。以下是針對RF PCBA設(shè)計的一些建議。
    的頭像 發(fā)表于 10-30 10:19 ?370次閱讀

    單片機(jī)“低耦合”的一些方法

    單片機(jī)“低耦合”的一些方法
    的頭像 發(fā)表于 10-17 18:30 ?416次閱讀

    gvim中常用的一些指令介紹

    在 Vim 編輯器中,有一些常用的指令可以幫助我們更高效地編輯文本。以下是一些在 gvim 中常用的指令
    的頭像 發(fā)表于 10-10 15:47 ?1663次閱讀