圖的基本概念
學(xué)習(xí)GNN之前需要掌握?qǐng)D的基本概念光稼,這些概念基本都在數(shù)據(jù)結(jié)構(gòu)這門課中涉及或南,需要再簡(jiǎn)單過一遍。
1.有向圖艾君、無向圖采够、有權(quán)圖、無權(quán)圖
2.節(jié)點(diǎn)的度degree(出冰垄、入)
3. 節(jié)點(diǎn)鄰接節(jié)點(diǎn)表示為 N(
)
4. 子圖和連通分量(連通分量屬于子圖的一種蹬癌,但是聯(lián)通分量中任意節(jié)點(diǎn)之間都存在路徑且所有邊的節(jié)點(diǎn)都存在與連通分量中)
5.節(jié)點(diǎn)s→t 之間的最短路徑表示 ? 兩結(jié)點(diǎn)中所有路徑集合中取長(zhǎng)度最短的路徑
??????????????????????
6. 連通圖的直徑(diameter)為其所有結(jié)點(diǎn)對(duì)之間的最短路徑的最大值
7.同質(zhì)圖 異質(zhì)圖
8. 圖數(shù)據(jù)結(jié)構(gòu)的機(jī)器學(xué)習(xí)應(yīng)用:
pyg庫的安裝
首先安裝正確版本的pytorch和cudatoolkit 然后安裝pyg
上圖的安裝的庫對(duì)應(yīng)版本是pytorch1.8.0和cuda11.1 可自行修改
本人電腦沒有GPU 安裝的是cpu版本 將上圖cu111改為cpu即可。因?yàn)閣in環(huán)境沒有自帶c++編譯器虹茶。所以遠(yuǎn)程安裝上面的包(torch-scatter,torch-sparse,torch-cluster,torch-spline-conv)會(huì)報(bào)錯(cuò)逝薪,兩種解決辦法一種安裝c++編譯器,一種是將whl包下載到本地然后直接 pip install 絕對(duì)路徑 安裝蝴罪。這里采用的是第二種解決措施董济。whl下載地址 https://pytorch-geometric.com/whl 。下載的whl包一定要兼容pytorch版本要门, 以下的庫版本兼容torch1.8+cpu+py3.8
初步試用
請(qǐng)通過繼承Data類實(shí)現(xiàn)一個(gè)類虏肾,專門用于表示“機(jī)構(gòu)-作者-論文”的網(wǎng)絡(luò)。該網(wǎng)絡(luò)包含“機(jī)構(gòu)“欢搜、”作者“和”論文”三類節(jié)點(diǎn)封豪,以及“作者-機(jī)構(gòu)“和“作者-論文“兩類邊。對(duì)要實(shí)現(xiàn)的類的要求:1)用不同的屬性存儲(chǔ)不同節(jié)點(diǎn)的屬性炒瘟;2)用不同的屬性存儲(chǔ)不同的邊(邊沒有屬性)吹埠;3)逐一實(shí)現(xiàn)獲取不同節(jié)點(diǎn)數(shù)量的方法。