首页 > 编程知识 正文

torch八项(transfac数据库)

时间:2023-05-05 00:21:41 阅读:75636 作者:4627

前言博客大部分是运送文档的,是文档的翻译版,不太有趣。 详细内容要结合文件来看。

这是大致概念不至于浏览文档头昏眼花不是手把手教你

文档:

3359 py torch-geometric.readthedocs.io/en/latest/notes/introduction.html

血液数据集有两种,一种是只存一个图的ImMemory类型,另一种需要存多个图DataSet,需要额外实现len和get函数。

ImMemory基本上是从官方网站开始实现的:

importtorchfromtorch _ geometric.dataimportinmemorydatasetclassmyowndataset (inmemorydataset ) 360 def _ _ init _ (pre self.slices=torch.load (self.processed _ paths [0] ) propertydefraw_file_names ) self ) :return['sorn] . @ propertydefprocessed _ file _ names (self ) : return [ ' data.pt ' ] defdownload (self ) :#downloadto ` ) readdataintohuge ` data ` list.data _ list=[ . ] if self.pre _ filterisnotnone : data _ list=[ datafordatataindata if self.pre _ transformisnotnone : data _ list=[ self.pre _ transform (数据) for data in data_list] data,slices slices ),self.processed_paths[0] )另一个只能在继承类处更改为torch

deflen(self ) : return len (self.processed _ file _ names ) defget ) self,idx ) :数据=torch.load ) OSP.Joad ' data_{}.pt'.format(idx ) ) (返回数据函数名称用途download编写如何获取原始数据集。 自定义数据集通常位于本地。 它可以直接成为passreturnraw _ file _ NNA set。processed _ paths在处理所有graph后写下保存的路径,道理是raw_file_namesprocess处理数据规定的什么格式? 名为from torch _ geometric.dataimportdata的数据类型是要处理的格式。

以下内容可以在Data.py中找到,但我会大致提及。

人必须具有的属性如下。

y:标签是的。 可以直接给one hot,也可以给数字型。 x:节点属性edge_index:边关系有多种类型,如(id,id )列表和邻接表。 哪个都可以。

处理完以上数据后,直接# contiguous这需要以(id,id )的方式添加的graph=data ) x=features,edge_index=network.t ).contiguous

但是,也可以添加其他属性。 直接加在他后面就行了。

# train _ idx train _ idx=torch.tensor ([ id2inter _ id [ idx ] foridxinherb _ with _ label _ id ],dtype=torch eded 这些会直接出现。 processed存储运行process函数后的数据,raw是原始数据。

函数的执行首先是调用参数root路径下不存在raw和processed两条路径,raw中不存在raw_paths给出的raw data,如果不存在则调用down_load函数进行下载

要避免download,请确保原始文件中始终存在您的原始路径返回的文件名。

现在举个例子:

假设我使用一个名为现有的AMiner的数据集。 但是数据是dropbox的,不能在网上使用。 手动下车后使用。

首先,确定此数据集位于何处。 然后,在此目录中创建新的dir AMiner,并在AMiner下创建新的原始和处理。 图:

访问源代码,查看所需的原始数据。

然后,在download函数中,找到并下载(并解压缩) url,然后将其放入http://www.Sina.com/raw的该目录中。 http://www.Sina.com/: http://www.Sina.com /

剩下的就可以直接使用了。 处理函数也将数据存储在处理中。 省略详细说明。

我想不经过处理就直接加载到内存中进行保存,但这还不会继续。

最后我给你一个我自己用的例子。 importtorchimportpicklefromtorch _ geometric.dataimportinmemorydataset,dataclasstcmdataset (inmemorydataset )。 根,name,feature_size,transform=None, pre _ transform=none (: self.feature _ size=feature _ size print (f ' featuresize 3360 { feature _ size } ' } suru se ) self.slices=torch.load (self.processed _ paths [0] ) propertydefraw_file_0) (propertydefraw ) )。 ] @ propertydefprocessed _ file _ names (self ) : return ['tcm_dataset.pt ',]defdownload(self ) 3360passdef y edge_index=network.t ).contiguous )、y=labels (train _ idx=torch.tensor ) [ id2inter _ id [ idx ] foridxinhion dype=torch.long(#新属性graph.train _ idx=train _ idxifself.pre _ filterisnotnone 3360 graph=[ datafordatataingraph if self.pre _ transformisnotnone : graph=[ self.pre _ transform (data ) for data in graph] data,slices=self.coll

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。