日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中)

發(fā)布時(shí)間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1?torch_geometric.utils.add_self_loops

add_self_loops(edge_index, edge_weight: Optional[torch.Tensor] = None, fill_value: float = 1.0, num_nodes: Optional[int] = None)

在edge_index中,對(duì)圖上每個(gè)節(jié)點(diǎn)i,添加一條邊(i,i)

參數(shù)介紹

edge_index?(LongTensor)?

原圖的edge_index

edge_weight?(Tensor,?optional)

原圖那些邊的weight

【一維數(shù)組,維度需要和原來(lái)的邊數(shù)量一致】

【此時(shí)自環(huán)的權(quán)重默認(rèn)為1】

fill_value?(float,?optional)

如果edge_weight非空,將用fill_value作為自環(huán)的weight

num_nodes?(int,?optional)?

最初的多少個(gè)點(diǎn)進(jìn)行自環(huán)(沒(méi)有這個(gè)參數(shù)的話,就是默認(rèn)所有的點(diǎn))

?返回內(nèi)容

????????(LongTensor,?Tensor) 第一個(gè)維度是更新后的edge_idx,第二個(gè)維度是邊權(quán)重,如果沒(méi)有設(shè)置edge_weight,那么第二個(gè)維度是None

2?torch_geometric.utils.remove_self_loops

去除自環(huán)

remove_self_loops(edge_index, edge_attr: Optional[torch.Tensor] = None)

3 torch_geometric.utils.degree

degree(index, num_nodes: Optional[int] = None, dtype: Optional[int] = None)

計(jì)算一個(gè)給定的一維index tensor的度

num_nodes也是表示計(jì)算多少個(gè)點(diǎn)的度

x,y=edge_index x,y #(tensor([0, 1, 2, 0, 3]), tensor([1, 0, 1, 3, 2]))torch_geometric.utils.degree(x) #tensor([2., 1., 1., 1.]) #0~3這四個(gè)點(diǎn)的出度torch_geometric.utils.degree(y) #tensor([1., 2., 1., 1.]) #0~3這四個(gè)點(diǎn)的入度

4?torch_geometric.utils.get_laplacian

通過(guò)edge_index和可能有的edge_weight,計(jì)算圖拉普拉斯矩陣

get_laplacian(edge_index, edge_weight: Optional[torch.Tensor] = None, normalization: Optional[str] = None, dtype: Optional[int] = None, num_nodes: Optional[int] = None)

?參數(shù)說(shuō)明?

edge_index?(LongTensor)?原圖的edge_index
edge_weight?(Tensor,?optional)?邊權(quán)重
normalization?

圖拉普拉斯矩陣的歸一化方法:默認(rèn)是sym

None沒(méi)有歸一化? ? ???
"sym"對(duì)稱歸一化? ? ? ??
"rw"隨機(jī)游走歸一化? ?
dtype?(torch.dtype,?optional)?
num_nodes?(int,?optional)?表示計(jì)算多少個(gè)點(diǎn)的拉普拉斯矩陣

5?to_networkx

to_networkx(data, node_attrs=None, edge_attrs=None, to_undirected=False, remove_self_loops=False)

參數(shù)說(shuō)明

data?(torch_geometric.data.Data)?需要轉(zhuǎn)換的Data數(shù)據(jù)
node_attrs?(iterable of str,?optional)?需要轉(zhuǎn)換的點(diǎn)屬性
edge_attrs?(iterable of str,?optional)?需要轉(zhuǎn)化的邊屬性
to_undirected?(bool,?optional)?

如果是True,那么返回的就是networkx.Graph

如果是False,那么返回的就是networkx.DiGraph

無(wú)向圖會(huì)根據(jù)相應(yīng)鄰接矩陣的上三角矩陣進(jìn)行創(chuàng)建

remove_self_loops?(bool,?optional)?是否移除自環(huán)

我們以ENZYMES數(shù)據(jù)集的第一個(gè)data為例:

torch_geometric筆記:數(shù)據(jù)集 ENZYMES &Minibatches_UQI-LIUWJ的博客-CSDN博客

import networkx as nx import matplotlib.pyplot as plt from torch_geometric.datasets import TUDataset from torch_geometric.utils import to_networkxdataset = TUDataset(root='', name='ENZYMES')dataset[0] #Data(edge_index=[2, 168], x=[37, 3], y=[1])x=to_networkx(dataset[0]) nx.draw(x, with_labels=True)

?

總結(jié)

以上是生活随笔為你收集整理的torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。