import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.utils.data import DataLoader,Dataset
import torch.optim as optim
from argparse import ArgumentParser,ArgumentDefaultsHelpFormatter
import networkx as nx
defparse_args():
parser = ArgumentParser(formatter_class = ArgumentDefaultsHelpFormatter,conflict_handler ='resolve')# 输入文件
parser.add_argument('--input',default ='./data/cora/cora_edgelist.txt',help='Input graph file')# 训练结果embedding输出文件
parser.add_argument('--output',default ='./data/cora/Vec.emb',help='Output representation file')# 并行参数
parser.add_argument('--workers',default =8,type=int,help='Number of parallel processes')# 处理有/无权图
parser.add_argument('--weighted',action ='store_true',default =False,help='Treat graph as weighted')# epoch数量
parser.add_argument('--epochs',default =100,type=int,help='The training epochs of SDNE.')# dropout比例值
parser.add_argument('--dropout',default =0.5,type=float,help='Dropout rate (1 - keep probability)')
parser.add_argument('--weight-decay',type=float,default =5e-4,help='Weight for L2 loss on embedding matrix')# 学习率设置
parser.add_argument('--lr',default =0.001,type=float,help='learning rate')# 模型参数,一阶相似度和二阶相似度之间的比重
parser.add_argument('--alpha',default =1e-2,type=float,help='alpha is a hyperparameter in SDNE')# 图的稀疏性问题
parser.add_argument('--beta',default =5.,type=float,help='beta is a hyperparameter in SDNE.')
parser.add_argument('--mu1',default =1e-5,type=float,help='mul is a hyperparameter in SDNE')
parser.add_argument('--mu2',default =1e-4,type=float,help='mu2 is a hyperparameter in SDNE')# batch大小
parser.add_argument('--bs',default =100,type=int,help='batch size of SDNE')# 自编码器第一层神经元个数
parser.add_argument('--nhid0',default =1000,type=int,help='The first dim.')# 自编码器的第二层神经元个数
parser.add_argument('--nhid1',default =128,type=int,help='The second dim.')# 学习率步长设置
parser.add_argument('--step_size',default =10,type=int,help='The step size for lr.')# 学习率gamma值设置
parser.add_argument('--gamma',default =0.9,type=int,help='The gamma for lr')
args = parser.parse_args(args =[])return args
args = parse_args()
1.参数设定import numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.utils.data import DataLoader,Datasetimport torch.optim as optimfrom argparse import ArgumentParser,ArgumentDefaultsHelpFormatterimport networkx as nx