女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個基于PyTorch的幾何深度學習擴展庫,為GNN的研究和應用再添利器

DPVg_AI_era ? 來源:lp ? 2019-03-11 08:49 ? 次閱讀

德國研究者提出最新幾何深度學習擴展庫 PyTorch Geometric (PyG),具有快速、易用的優勢,使得實現圖神經網絡變得非常容易。作者開源了他們的方法,并提供教程和實例。

過去十年來,深度學習方法(例如卷積神經網絡和遞歸神經網絡)在許多領域取得了前所未有的成就,例如計算機視覺語音識別

研究者主要將深度學習方法應用于歐氏結構數據(Euclidean domains),但在許多重要的應用領域,如生物學、物理學、網絡科學、推薦系統和計算機圖形學,可能不得不處理非歐式結構的數據,比如圖和流形。

直到最近,深度學習在這些特定領域的采用一直很滯后,主要是因為數據的非歐氏結構性質使得基本操作(例如卷積)的定義相當困難。在這個意義上,幾何深度學習將深度學習技術擴展到了圖/流形結構數據。

圖神經網絡(GNN)是近年發展起來的一個很有前景的深度學習方向,也是一種強大的圖、點云和流形表示學習方法。

然而,實現GNN具有挑戰性,因為需要在高度稀疏且不規則、不同大小的數據上實現高GPU吞吐量。

近日,德國多特蒙德工業大學的研究者兩位Matthias Fey和Jan E. Lenssen,提出了一個基于PyTorch的幾何深度學習擴展庫PyTorch Geometric (PyG),為GNN的研究和應用再添利器。

論文:

https://arxiv.org/pdf/1903.02428.pdf

Yann Lecun也熱情推薦了這個工作,稱贊它是一個快速、美觀的PyTorch庫,用于幾何深度學習(圖和其他不規則結構的神經網絡)。

作者聲稱,PyG甚至比幾個月前NYU、AWS聯合開發的圖神經網絡庫 DGL(Deep Graph Library)快了15倍!

作者在論文中寫道:“這是一個PyTorch的幾何深度學習擴展庫,它利用專用的CUDA 內核實現了高性能。它遵循一個簡單的消息傳遞API,將最近提出的大多數卷積和池化層捆綁到一個統一的框架中。所有實現的方法都支持CPU和GPU計算,并遵循一個不可變的數據流范式,該范式支持圖結構隨時間的動態變化。”

PyG已經在MIT許可下發布,可以在GitHub上獲取。里面有完整的文檔說明,并提供了作為起點的教程和示例。

地址:

https://github.com/rusty1s/pytorch_geometric

PyTorch Geometry:基于PyTorch的幾何深度學習擴展庫

PyTorch Geometry是一個基于PyTorch的幾何深度學習擴展庫,用于不規則結構輸入數據,例如圖(graphs)、點云(point clouds)和流形(manifolds)。

PyTorch Geometry包含了各種針對圖形和其他不規則結構的深度學習方法,也稱為幾何深度學習,來自于許多已發表的論文。

此外,它還包含一個易于使用的mini-batch加載器、多GPU支持、大量通用基準數據集和有用的轉換,既可以學習任意圖形,也可以學習3D網格或點云。

在PyG中,我們用一個節點特征矩陣和一個稀疏鄰接元組代表一個圖

其中以坐標格式編碼索引,保持?D?維邊緣特征。

所有面向用戶的API,據加載例程、多GPU支持、數據增強或模型實例化都很大程度上受到PyTorch的啟發,以便使它們盡可能保持熟悉。

Neighborhood Aggregation:將卷積算子推廣到不規則域通常表示為一個鄰域聚合(neighborhood aggregation),或message passing scheme (Gilmer et al., 2017)。

其中,表示一個可微分的置換不變函數,例如?sum, mean or max,而表示可微分函數,例如?MLP。

在實踐中,這可以通過收集和散布節點特性并利用broadcasting進行

圖1

幾乎所有最近提出的鄰域聚合函數可以利用這個接口,已經集成到PyG的方法包括(但不限于):

對于任意圖形學習,我們已經實現了:

GCN(Kipf & Welling, 2017)和它的簡化版本SGC(Wu et al., 2019)

spectral chebyshev和ARMAfilter convolutionss (Defferrard et al., 2016; Bianchi et al., 2019)

GraphSAGE(Hamilton et al., 2017)

attention-based operatorsGAT(Veli?kovi? et al., 2018)及AGNN (Thekumparampil et al., 2018),

Graph Isomorphism Network (GIN) from Xu et al. (2019)

Approximate Personalized Propagation of Neural Predictions (APPNP) operator (Klicpera et al., 2019)

對于學習具有多維邊緣特征的點云,流形和圖,我們提供了:

Schlichtkrull et al. (2018)的relationalGCNoperator

PointNet++(Qi et al., 2017)

PointCNN(Li et al., 2018)

kernel-based methodsMPNN(Gilmer et al., 2017),

MoNet(Monti et al., 2017)

SplineCNN(Fey et al., 2018)

以及邊緣卷積算子EdgeCNN(Wang et al., 2018b).

實驗評估

我們通過對同類評估場景進行綜合比較研究,評估了利用PyG所實現方法的正確性。所有使用過的數據集的描述和統計可以在論文附錄中找到。

對于所有的實驗,我們都盡可能地遵循各自原始論文的超參數設置,GitHub存儲庫中提供了復制所有實驗的代碼。

表2:圖分類的結果

表3:點云分類的結果

我們對多個數據模型對進行了多次實驗,并報告了在單個NVIDIA GTX 1080 Ti上獲得的整個訓練過程的運行情況(表4)。與Deep Graph Library (DGL)(Wang et al., 2018a)相比,PyG訓練模型的速度快了15倍。

表4:訓練runtime比較

安裝、教程&示例

PyTorch Geometric使實現圖卷積網絡變得非常容易(請參閱GitHub上的教程)。

例如,這就是實現一個邊緣卷積層(edge convolution layer)所需的全部代碼:

import torchfrom torch.nn import Sequential as Seq, Linear as Lin, ReLUfrom torch_geometric.nn import MessagePassingclass EdgeConv(MessagePassing): def __init__(self, F_in, F_out): super(EdgeConv, self).__init__() self.mlp = Seq(Lin(2 * F_in, F_out), ReLU(), Lin(F_out, F_out)) def forward(self, x, edge_index): # x has shape [N, F_in] # edge_index has shape [2, E] return self.propagate(aggr='max', edge_index=edge_index, x=x) # shape [N, F_out] def message(self, x_i, x_j): # x_i has shape [E, F_in] # x_j has shape [E, F_in] edge_features = torch.cat([x_i, x_j - x_i], dim=1) # shape [E, 2 * F_in] return self.mlp(edge_features) # shape [E, F_out]

此外,與其他深度圖神經網絡庫相比,PyTorch Geometric的速度更快:

表:在一塊NVIDIA GTX 1080Ti上的訓練runtime

安裝

確保至少安裝了PyTorch 1.0.0,并驗證cuda/bin和cuda/include分別位于$PATH和 $cpathrespecific,例如:

$ python -c "import torch; print(torch.__version__)">>> 1.0.0$ echo $PATH>>> /usr/local/cuda/bin:...$ echo $CPATH>>> /usr/local/cuda/include:...

然后運行:

$ pip install --upgrade torch-scatter$ pip install --upgrade torch-sparse$ pip install --upgrade torch-cluster$ pip install --upgrade torch-spline-conv (optional)$ pip install torch-geometric

運行示例

cd examplespython cora.py

paper:

https://arxiv.org/pdf/1903.02428.pdf

GitHub:

https://github.com/rusty1s/pytorch_geometric

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4804

    瀏覽量

    102637
  • 深度學習
    +關注

    關注

    73

    文章

    5554

    瀏覽量

    122428
  • pytorch
    +關注

    關注

    2

    文章

    809

    瀏覽量

    13742
  • GNN
    GNN
    +關注

    關注

    1

    文章

    31

    瀏覽量

    6494

原文標題:LeCun推薦:最新PyTorch圖神經網絡庫,速度快15倍(GitHub+論文)

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    機器學習實戰:GNN加速器的FPGA解決方案

    展現給讀者。2. GNN 簡介GNN的架構在宏觀層面有著很多與傳統CNN類似的地方,比如卷積層、Poing、激活函數、機器學習處理器(MP)和FC層等等模塊,都會在GNN中得以應用。下
    發表于 10-20 09:48

    Pytorch入門教程與范例

    pytorch基于 python 的深度學習。py
    發表于 11-15 17:50 ?5557次閱讀
    <b class='flag-5'>Pytorch</b>入門教程與范例

    Facebook研究開放新框架,讓深度學習更加容易

    FAIR直是深度學習領域研究和開源框架的定期貢獻者。從PyTorch到ONNX, FAIR團隊
    的頭像 發表于 03-13 15:23 ?1812次閱讀

    基于PyTorch深度學習入門教程之PyTorch的安裝和配置

    神經網絡結構,并且運用各種深度學習算法訓練網絡參數,進而解決各種任務。 本文從PyTorch環境配置開始。PyTorch種Python接
    的頭像 發表于 02-16 15:15 ?2790次閱讀

    基于PyTorch深度學習入門教程之PyTorch簡單知識

    計算 Part3:使用PyTorch構建神經網絡 Part4:訓練神經網絡分類器 Part5:數據并行化 本文是關于Part1的內容
    的頭像 發表于 02-16 15:20 ?2444次閱讀

    PyTorch 的 Autograd 機制和使用

    PyTorch 作為深度學習平臺,在深度學習任務
    的頭像 發表于 08-15 09:37 ?1279次閱讀

    ?計算機視覺深度學習訓練推理框架

    PyTorch是由Facebook人工智能研究小組開發的種基于Lua編寫的Torch的Python實現的深度
    的頭像 發表于 05-08 14:20 ?1385次閱讀
    ?計算機視覺<b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練推理框架

    PyTorch教程12.1之優化和深度學習

    電子發燒友網站提供《PyTorch教程12.1之優化和深度學習.pdf》資料免費下載
    發表于 06-05 15:08 ?0次下載
    <b class='flag-5'>PyTorch</b>教程12.1之優化和<b class='flag-5'>深度</b><b class='flag-5'>學習</b>

    深度學習框架pytorch入門與實踐

    深度學習框架pytorch入門與實踐 深度學習是機器學習中的
    的頭像 發表于 08-17 16:03 ?1817次閱讀

    深度學習框架pytorch介紹

    深度學習框架pytorch介紹 PyTorch是由Facebook創建的開源機器學習框架,其中TensorFlow是完全基于數據流圖的。它是
    的頭像 發表于 08-17 16:10 ?2165次閱讀

    TensorFlow與PyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度學習模型的
    的頭像 發表于 07-02 14:04 ?1455次閱讀

    深度學習常用的Python

    深度學習作為人工智能的重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為種流行的編程語言,憑借其簡潔的語法和豐富的
    的頭像 發表于 07-03 16:04 ?1025次閱讀

    PyTorch的介紹與使用案例

    PyTorch基于Python的開源機器學習,它主要面向深度
    的頭像 發表于 07-10 14:19 ?746次閱讀

    PyTorch深度學習開發環境搭建指南

    PyTorch作為種流行的深度學習框架,其開發環境的搭建對于深度學習
    的頭像 發表于 07-16 18:29 ?2159次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發表于 10-28 14:05 ?528次閱讀
    <b class='flag-5'>Pytorch</b><b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的方法