幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

图学习温故初探PaddleGraphLearning构建属于

  项目链接:https:aistudio。baidu。comaistudioprojectdetail5000517?contributionType1
  如遇到问题查看原项目解决图学习温故以及初探PaddleGraphLearning(PGL)构建属于你的图【系列三】
  相关项目参考:
  图机器学习(GML)图神经网络(GNN)原理和代码实现(前置学习系列二):https:aistudio。baidu。comaistudioprojectdetail4990947?contributionType1
  关于图计算图学习的基础知识概览:前置知识点学习(PGL)系列一〕〔https:aistudio。baidu。comaistudioprojectdetail4982973?contributionType10。知识点回顾
  根据图的节点间是否有方向,可将图分为无向图与有向图;图的边是否有权重,可以将图分为无权图和有权图;图的边和点是否具有多种类型,可以将图分为同构图和异构图度是图上一节点,其边的条数邻居指的是图上一节点的相邻节点
  无向图的临界矩阵就是对称矩阵
  邻接表:其实就是直接记录着每个节点的邻居信息
  可以将基于图能做的任务进行一个分类。这个点的类别或者其他的特性,那么这就是一个节点级别的任务;预测这条边的权值,或者预测这条边是否存在,等等,那么这就是一个边级别的任务;预测整张图的一个类别,或者想比较两张图之间的相似性等等,这就是一个图级别的任务了。
  节点级别任务:金融诈骗检测
  在建图的时候,它的节点是用户和商家,同时还包含了各自共有的信息作为节点。
  其中,每个用户或者商家都有着各自的特征,也具备着某些相同的特征,同时也有着与他人的交互。传统方法通常是直接利用用户和商家的特征来训练一个分类网络,而没有利用节点与节点之间的交互,因此使用图学习,可以同时学习图结构以及节点特征,更好地进行分类,从而更好地找到金融诈骗分子。
  目标检测:点云
  点云是通过激光扫描等来获得的点数据,而3D点云这个结构可以建模为图结构。
  在点云中构建好图之后,将图结构和图特征经过这个叫PointGNN的模型,从而预测出点云中每个点所对应的object,也就是目标对象,同时要预测出对应目标的所在三维边界,也就是boundingbox。
  由于预测对象是每个点,因此这是一个节点级别的任务。
  推荐系统
  比如,想要向用户推荐新闻,以左边这个图为例,已经知道了用户ABC的历史点击行为,那么接下来,想要预测用户B会不会点击某条广告,其实就相当于预测这条边是否存在,因此这就是一个边预测的任务。
  具体实现的时候,会把用户行为图关系通过图表示学习后,得到用户、商品或内容的向量表示;得到对应这些节点的Embeddings之后,就可以利用这些embeddings来做各种的推荐任务。
  这里分为了三大类:游走类算法、图神经网络算法、以及知识图谱嵌入算法。
  因为知识图谱也是一种典型的图,因此把它也加入到了这个分类里面。
  其中,图神经网络算法还可以进行更加具体的划分,比如分为卷积网络和递归网络,等等。
  图游走类算法,任意选择一个出发点,然后随机地选择下一个目的地,不断地走,通过不断地游走,得到了多个序列,而游走类算法就是在得到这些序列之后,对它们应用图表示学习,再进行接下来的其他操作。
  图神经网络算法相对来说则复杂一点,它的一种实现方式是消息传递。
  消息传递,其实质就是把当前节点的邻居发送到自身,将这些信息聚合后,再利用这些信息更新自身的表示。图游走类算法:通过在图上的游走,获得多个节点序列,再利用SkipGram模型训练得到节点表示图神经网络算法:端到端模型,利用消息传递机制实现。知识图谱嵌入算法:专门用于知识图谱的相关算法。
  1。PaddleGraphLearning(PGL)简介
  https:github。comPaddlePaddlePGLblobmainREADME。zh。md
  PaddleGraphLearning(PGL)是一个基于PaddlePaddle的高效易用的图学习框架
  PGL的优点:易用性:建图方便高效性:运行速度快大规模:支持十亿节点百亿边丰富性:预置了主流的图学习算法
  在最新发布的PGL中引入了异构图的支持,新增MetaPath采样支持异构图表示学习,新增异构图MessagePassing机制支持基于消息传递的异构图算法,利用新增的异构图接口,能轻松搭建前沿的异构图学习算法。而且,在最新发布的PGL中,同时也增加了分布式图存储以及一些分布式图学习训练算法,例如,分布式deepwalk和分布式graphsage。结合PaddlePaddle深度学习框架,的框架基本能够覆盖大部分地图网络应用,包括图表示学习以及图神经网络。1。1特色:高效性支持ScatterGather及LodTensor消息传递
  对比于一般的模型,图神经网络模型最大的优势在于它利用了节点与节点之间连接的信息。但是,如何通过代码来实现建模这些节点连接十分的麻烦。PGL采用与DGL相似的消息传递范式用于作为构建图神经网络的接口。用于只需要简单的编写send还有recv函数就能够轻松的实现一个简单的GCN网络。如下图所示,首先,send函数被定义在节点之间的边上,用户自定义send函数phie会把消息从源点发送到目标节点。然后,recv函数phiv负责将这些消息用汇聚函数oplus汇聚起来。
  如下面左图所示,为了去适配用户定义的汇聚函数,DGL使用了DegreeBucketing来将相同度的节点组合在一个块,然后将汇聚函数oplus作用在每个块之上。而对于PGL的用户定义汇聚函数,则将消息以PaddlePaddle的LodTensor的形式处理,将若干消息看作一组变长的序列,然后利用LodTensor在PaddlePaddle的特性进行快速平行的消息聚合。
  用户只需要下面简单几行代码,就可以实现一个求和聚合函数了。importpglimportpaddleimportnumpyasnpnumnodes5edges〔(0,1),(1,2),(3,4)〕featurenp。random。randn(5,100)。astype(np。float32)gpgl。Graph(numnodesnumnodes,edgesedges,nodefeat{h:feature})g。tensor()defsendfunc(srcfeat,dstfeat,edgefeat):returnsrcfeatdefrecvfunc(msg):returnmsg。reducesum(msg〔h〕)msgg。send(sendfunc,srcfeatg。nodefeat)retg。recv(recvfunc,msg)
  尽管DGL用了一些内核融合(kernelfusion)的方法来将常用的sum,max等聚合函数用scattergather进行优化。但是对于复杂的用户定义函数,他们使用的DegreeBucketing算法,仅仅使用串行的方案来处理不同的分块,并不会充分利用GPU进行加速。然而,在PGL中使用基于LodTensor的消息传递能够充分地利用GPU的并行优化,在复杂的用户定义函数下,PGL的速度在的实验中甚至能够达到DGL的13倍。即使不使用scattergather的优化,PGL仍然有高效的性能表现。当然,也是提供了scatter优化的聚合函数。
  性能测试
  用TeslaV100SXM216G测试了下列所有的GNN算法,每一个算法跑了200个Epoch来计算平均速度。准确率是在测试集上计算出来的,并且没有使用Earlystopping策略。
  如果使用复杂的用户定义聚合函数,例如像GraphSAGELSTM那样忽略邻居信息的获取顺序,利用LSTM来聚合节点的邻居特征。DGL所使用的消息传递函数将退化成DegreeBucketing模式,在这个情况下DGL实现的模型会比PGL的慢的多。模型的性能会随着图规模而变化,在的实验中,PGL的速度甚至能够能达到DGL的13倍。
  1。2特色:易用性原生支持异质图
  图可以很方便的表示真实世界中事物之间的联系,但是事物的类别以及事物之间的联系多种多样,因此,在异质图中,需要对图网络中的节点类型以及边类型进行区分。PGL针对异质图包含多种节点类型和多种边类型的特点进行建模,可以描述不同类型之间的复杂联系。1。2。1支持异质图MetaPathwalk采样
  上图左边描述的是一个购物的社交网络,上面的节点有用户和商品两大类,关系有用户和用户之间的关系,用户和商品之间的关系以及商品和商品之间的关系。上图的右边是一个简单的MetaPath采样过程,输入metapath为UPU(userproductuser),采出结果为
  然后在此基础上引入word2vec等方法,支持异质图表示学习metapath2vec等算法。1。2。2支持异质图MessagePassing机制
  在异质图上由于节点类型不同,消息传递也方式也有所不同。如上图左边,它有五个邻居节点,属于两种不同的节点类型。如上图右边,在消息传递的时候需要把属于不同类型的节点分开聚合,然后在合并成最终的消息,从而更新目标节点。在此基础上PGL支持基于消息传递的异质图算法,如GATNE等算法。1。3特色:规模性支持分布式图存储以及分布式学习算法
  在大规模的图网络学习中,通常需要多机图存储以及多机分布式训练。如下图所示,PGL提供一套大规模训练的解决方案,利用PaddleFleet(支持大规模分布式Embedding学习)作为参数服务器模块以及一套简易的分布式存储方案,可以轻松在MPI集群上搭建分布式大规模图学习方法。
  1。4特色:丰富性覆盖业界大部分图学习网络
  上述模型包含图表示学习,图神经网络以及异质图三部分,而异质图里面也分图表示学习和图神经网络。
  2。使用PGL构建同质图小试牛刀2。1用PGL来创建一张图
  为了让用户快速上手,本教程的主要目的是:
  理解PGL是如何在图网络上进行计算的。
  使用PGL实现一个简单的图神经网络模型,用于对图网络中的节点进行二分类。
  假设我们有下面的这一张图,其中包含了10个节点以及14条边。
  我们的目的是,训练一个图模型,使得该图模型可以区分图上的黄色节点和绿色节点。安装PGL学习库!pipinstallpgl1。2。1需要注意的是,Paddle2。x是动态图了,为了进一步简化使用,将GraphWrapper的概念去掉了,目前可以直接在Graph上进行SendRecvimportpglfrompglimportgraph导入PGL中的图模块importpaddle。fluidasfluid导入飞桨框架importnumpyasnpimportpaddledefbuildgraph():定义图中的节点数目,我们使用数字来表示图中的每个节点,每个节点用一个数字表示,即从09numnodes10定义图中的边集,添加节点之间的边,每条边用一个tuple表示为:(src,dst)edgelist〔(2,0),(2,1),(3,1),(4,0),(5,0),(6,0),(6,4),(6,5),(7,0),(7,1),(7,2),(7,3),(8,0),(9,7)〕随机初始化节点特征,特征维度为d每个节点可以用一个d维的特征向量作为表示,这里随机产生节点的向量表示。在PGL中,我们可以使用numpy来添加节点的向量表示。d16featurenp。random。randn(numnodes,d)。astype(float32)随机地为每条边赋值一个权重对于边,也同样可以用一个特征向量表示。edgefeaturenp。random。randn(len(edgelist),1)。astype(float32)创建图对象,最多四个输入根据节点,边以及对应的特征向量,创建一个完整的图网络。在PGL中,节点特征和边特征都是存储在一个dict中。ggraph。Graph(numnodesnumnodes,edgesedgelist,nodefeat{feature:feature},edgefeat{edgefeature:edgefeature})returng创建一个图对象,用于保存图网络的各种数据。gbuildgraph()打印图的节点的数量和边的数量print(图中共计d个节点g。numnodes)print(图中共计d条边g。numedges)除了打印节点,我们也可以可视化整个图网络,下面演示如何绘图显示整个图网络。matplotlibinlineimportmatplotlib。pyplotaspltimportnetworkxasnxnetworkx是一个常用的绘制复杂图形的Python包。defdisplaygraph(g):nxGnx。Graph()nxG。addnodesfrom(range(g。numnodes))forlineing。edges:nxG。addedge(line)nx。draw(nxG,withlabelsTrue,nodecolor〔y,g,g,g,y,y,y,g,y,g〕,nodesize1000)foofigplt。gcf()getcurrentfigurefoofig。savefig(gcn。png,formatpng,dpi1000)foofig。savefig(。foo。pdf,formatpdf)也可以保存成pdfplt。show()displaygraph(g)创建一个GraphWrapper作为图数据的容器,用于构建图神经网络。2。2定义图模型
  定义下面的一个简单图模型层,这里的结构是添加了边权重信息的类GCN层。
  在本教程中,我们使用图卷积网络模型(Kipf和Welling)来实现节点分类器。为了方便,这里我们使用最简单的GCN结构。如果读者想更加深入了解GCN,可以参考原始论文。在第l层中,每个节点uil都有一个特征向量hil;在每一层中,GCN的想法是下一层的每个节点ui{l1}的特征向量hi{l1}是由该节点的所有邻居节点的特征向量加权后经过一个非线性变换后得到的。
  GCN模型符合消息传递模式(messagepassingparadigm),当一个节点的所有邻居节点把消息发送出来后,这个节点就可以根据上面的定义更新自己的特征向量了。
  在PGL中,我们可以很容易实现一个GCN层。如下所示:定义一个同时传递节点特征和边权重的简单模型层,自定义GCN层函数defmodellayer(gw,nfeat,efeat,hiddensize,name,activation):gw:GraphWrapper图数据容器,用于在定义模型的时候使用,后续训练时再feed入真实数据gw是一个GraphWrapper;feature是节点的特征向量。nfeat:节点特征efeat:边权重hiddensize:模型隐藏层维度activation:使用的激活函数定义send函数,定义message函数,defsendfunc(srcfeat,dstfeat,edgefeat):将源节点的节点特征和边权重共同作为消息发送注意:这里三个参数是固定的,虽然我们只用到了第一个参数。在本教程中,我们直接返回源节点的特征向量作为message。用户也可以自定义message函数的内容。returnsrcfeat〔h〕edgefeat〔e〕定义reduce函数,参数feat其实是从message函数那里获得的。defrecvfunc(feat):目标节点接收源节点消息,采用sum的聚合方式这里通过将源节点的特征向量进行加和。feat为LodTensor,关于LodTensor的介绍参照Paddle官网。returnfluid。layers。sequencepool(feat,pooltypesum)触发消息传递机制send函数触发message函数,发送消息,并将返回消息。msggw。send(sendfunc,nfeatlist〔(h,nfeat)〕,efeatlist〔(e,efeat)〕)recv函数接收消息,并触发reduce函数,对消息进行处理。outputgw。recv(msg,recvfunc)以activation为激活函数的全连接输出层。outputfluid。layers。fc(output,sizehiddensize,biasattrFalse,actactivation,namename)returnoutput2。3模型定义
  在PGL中,图对象用于保存各种图数据。我们还需要用到GraphWrapper作为图数据的容器,用于构建图神经网络。
  这里我们简单的把上述定义好的模型层堆叠两层,作为我们的最终模型。需要注意的是,Paddle2。x是动态图了,为了进一步简化使用,将GraphWrapper的概念去掉了,目前可以直接在Graph上进行SendRecv在定义好GCN层之后,我们可以构建一个更深的GCN模型,如下我们定一个两层GCN。classModel(object):definit(self,graph):graph:我们前面创建好的图创建GraphWrapper图数据容器,用于在定义模型的时候使用,后续训练时再feed入真实数据self。gwpgl。graphwrapper。GraphWrapper(namegraph,nodefeatgraph。nodefeatinfo(),edgefeatgraph。edgefeatinfo())作用同GraphWrapper,此处用作节点标签的容器,创建一个标签层作为节点类别标签的容器。self。nodelabelfluid。layers。data(nodelabel,shape〔None,1〕,dtypefloat32,appendbatchsizeFalse)defbuildmodel(self):定义两层modellayer第一层GCN将特征向量从16维映射到8维,激活函数使用relu。outputmodellayer(self。gw,self。gw。nodefeat〔feature〕,self。gw。edgefeat〔edgefeature〕,hiddensize8,namelayer1,activationrelu)第二层GCN将特征向量从8维映射导2维,对应我们的二分类。不使用激活函数。outputmodellayer(self。gw,output,self。gw。edgefeat〔edgefeature〕,hiddensize1,namelayer2,activationNone)对于二分类任务,可以使用以下API计算损失使用带sigmoid的交叉熵函数作为损失函数lossfluid。layers。sigmoidcrossentropywithlogits(xoutput,labelself。nodelabel)计算平均损失lossfluid。layers。mean(loss)计算准确率probfluid。layers。sigmoid(output)predprob0。5predfluid。layers。cast(prob0。5,dtypefloat32)correctfluid。layers。equal(pred,self。nodelabel)correctfluid。layers。cast(correct,dtypefloat32)accfluid。layers。reducemean(correct)returnloss,acc
  GCN的训练过程跟训练其它基于paddlepaddle的模型是一样的。首先我们构建损失函数;接着创建一个优化器;最后创建执行器并执行训练过程。是否在GPU或CPU环境运行importpaddleusecudaFalseplacefluid。CUDAPlace(0)ifusecudaelsefluid。CPUPlace()2。x版本动态转换为静态图paddle。enablestatic()定义程序,也就是我们的Programstartupprogramfluid。Program()用于初始化模型参数trainprogramfluid。Program()训练时使用的主程序,包含前向计算和反向梯度计算testprogramfluid。Program()测试时使用的程序,只包含前向计算withfluid。programguard(trainprogram,startupprogram):modelModel(g)创建模型和计算Lossloss,accmodel。buildmodel()选择Adam优化器,学习率设置为0。01adamfluid。optimizer。Adam(learningrate0。01)adam。minimize(loss)计算梯度和执行梯度反向传播过程复制构造testprogram,与trainprogram的区别在于不需要梯度计算和反向过程。testprogramtrainprogram。clone(fortestTrue)定义一个在place(CPU)上的Executor来执行program,创建执行器exefluid。Executor(place)参数初始化exe。run(startupprogram)获取真实图数据,获取图数据feeddictmodel。gw。tofeed(g)获取真实标签数据由于我们是做节点分类任务,因此可以简单的用0、1表示节点类别。其中,黄色点标签为0,绿色点标签为1。y〔0,1,1,1,0,0,0,1,0,1〕labelnp。array(y,dtypefloat32)labelnp。expanddims(label,1)feeddict〔nodelabel〕labelprint(feeddict)2。4模型训练测试forepochinrange(100):trainlossexe。run(trainprogram,feedfeeddict,feed入真实训练数据fetchlist〔loss〕,fetch出需要的计算结果returnnumpyTrue)〔0〕print(EpochdLoss:f(epoch,trainloss))testaccexe。run(testprogram,feedfeeddict,fetchlist〔acc〕,returnnumpyTrue)〔0〕print(TestAcc:ftestacc)
  TestAcc:0。7000003。总结
  本项目主要讲解了图的基本概念、图学习的概念、图的应用场景、以及图算法有哪些,最后介绍了PGL图学习框架,并给出demo实践。
  PaddleGraphLearning(PGL)是一个基于PaddlePaddle的高效易用的图学习框架
  PGL的优点:易用性:建图方便高效性:运行速度快大规模:支持十亿节点百亿边丰富性:预置了主流的图学习算法
  项目链接:https:aistudio。baidu。comaistudioprojectdetail5000517?contributionType1
  如遇到问题查看原项目解决

春笋是发物,肺癌吃了会复发?真正不能吃的是这4类食物导语:俗话说不时不食,意思是说到了什么季节就要吃什么样的东西,自从开春之后,就要适当的吃一些春季的专属食材,比如香椿、春笋等,这些食物都是春天独有的,错过了或许就要再等一年。……刘海屏终于要没了,苹果屏下FaceID专利获批4月12日消息,自从2017年iPhoneX发布到现在已经过去5年时间,备受诟病的刘海屏也逐渐成为iPhone的标志特征。好消息是,近日有苹果一项屏下FaceID专利获批……克莱怒砍41分,勇士大胜鹈鹕,季后赛首轮将面对掘金4月11日,勇士在客场面对鹈鹕比赛中克莱迎回复出,本场比赛克莱梦回巅峰,他全场出战31分钟29中16,三分14中7轰下41分3篮板2助攻优异表现,普尔同样高效16中7砍下22分……张柏芝也难逃衰老!苹果肌饱满却很僵硬,脸部蜡黄穿粉色也不显嫩想要get青春又减龄的穿搭?那必然少不了一件粉色的搭配单品。近年来,粉色越来越受到大家的喜爱,肤白的人穿上它更显白皙,皮肤黑的人穿上它也能提亮肤色,今天我们就一起来看看张柏芝的……拜托你丢掉阔腿裤!今春必火的老爹裤来了天气越来越热,腿,必须露!去年夏天,骑行裤当道,身材优越的美女子们纷纷露了一把大长腿,那叫一个养眼。cr小红书:困得睡不着然而它丝毫不给粗腿星人面子,一不留神……量子纠错的副作用及其应对方法量子传感器的动力学。噪声等误差会导致信号相对于理想情况产生阻尼。量子纠错可恢复大部分丢失的信号强度,但也会改变感应频率,导致偏差逐渐积聚(显示为灰条)。改编自Rojkov等人,……第1部飞虎队10个穿帮镜头《飞虎队》是由钱雁秋执导,张子健、贺刚、钟卫华、梁琳琳、淳于珊珊、杨棋珺主演的抗日剧一共39集抗日神剧抗日神剧之一日本鬼子和日本汉奸打起来了,伤到老百姓和保安队,日……北京房山,徒步登山,踏春赏景,却是艰难险阻的户外之行这两天确实天气又回暖了,可能这次真的不会再大幅度降温了吧,那也会预示着春季即将到来,山里的雪还都没有融化,恐怕个别地方又会持续到四五月份才会彻底消融,这其中也包括上方山国家森林……花事一场,史诗半段,京城遛娃赏花的那些事儿作者:M梦初说说这次旅行托老舍先生的金字玉言,北平之秋的美可谓人尽皆知,却不知帝都那些温暖的春日时光,也美得如同人间的天堂,甚至比天堂还要更繁荣一些。北京的春……两个科学妙招,助你缓解失眠失眠是一种常见的睡眠障碍,是指尽管有适当的睡眠机会和睡眠环境,仍然对睡眠时间或睡眠质量不满意,并且影响日间社会功能的一种主观体验。研究发现,近20的人存在失眠症状,女性高于男性……明日方舟新年全新保底福袋卡池公开未收录福利来袭鹰角开窍了明日方舟对于这次公开的新活动中,对于玩家来说最有看点也最让人关注的,莫过于是这次新年全新保底福袋卡池的公开,对于这个全新的卡池,官方还担心玩家不明白具体的机制系统和设计是什么样……老男人游朝鲜,街头逛了一天,人少车少,感觉有点荒啊小编相信很多去朝鲜玩的人都有一颗想要探访我们这个神秘友邻,看看当地人们究竟生活得咋样的心,只可惜有着丰富经验的老哥会会告诉你,朝鲜的街头我们并不能看到太多人。我的一位远房表叔就……
阳过后失眠怎么办?来试试中医方案吧日常生活中,总有些关于健康和养生的小疑惑,各种说法和偏方满天飞,究竟该信哪个?别急,浦东医生话养生栏目,邀请浦东新区各大医院的专家和医生为你带来专业的养生和健康知识,一起来看看……月球探索新时达来临啦,看看哪些国家加入探月大军随着月球探索新时代的来临,人类的目标不仅仅是登上月球这么简单,还要在那里开展活动。这次,更多的国家将目光转向月球,参与到浩浩荡荡的探月大军中。美国国家航空航天局(NASA……28国登顶的原神堪称国产之光!为何频频被诬陷抄袭?《原神》可以说是这个世界上风评最为两极分化的游戏之一。热度上,《原神》是国内最火的二次元游戏,甚至放在世界范围上,也曾登顶28个国家的下载排行榜。文化上,《原神》多次推出中国文……手游每日榜单(2021年12月1日)每日更新游戏榜单和新鲜资讯,关注我不迷路。关注我的都棒棒哒!今天是2021年12月1日,首先来看看今天的畅销榜单变化:今天具体的榜单如下:今日IOS畅销榜……宝可梦传说官网更新小游戏暗示雷电球将有新形态《宝可梦传说:阿尔宙斯(PokmonLegendsArceus)》即将在明年1月发售,由于游戏的地区是在古时候的神奥地区,那时候还叫做洗翠地区,所以不少宝可梦也都拥有了全新的形……冲击波直抵香港!汤加海啸将袭击我国沿海地区?美日先慌了在我们生活的地球上,曾经发生过五次生物大灭绝的事件,其中,我们最熟知的就是6500万年前的恐龙灭绝事件。当时的恐龙可是地球中的一方霸主,奈何行星撞地球,最终引得火山喷发,给地球……我的游戏王打牌生涯大家好我是游戏王爱好者,我的第一篇文章是介绍一下我的游戏王打牌生涯,希望看到我这篇文章的人能尝试玩一下游戏王这个游戏。我最初了解到游戏王是在小学的时候,那个时候校园小卖部……中国男排队长晒结婚照!曾是张常宁绯闻男友,妻子颜值超高似明星2021年10月份的时候,中国男排队长江川和妻子周慧萍举办了婚礼,当时得到了很多球迷和粉丝的祝福,据了解,这场婚礼在北京王府井某酒店进行,场面宏大、宾客众多,江川的众多帅气队友……如果你睡不着,试试这些10秒钟的睡眠方法!亲测有效充足的睡眠是保持一天精力充沛的重要原因,所以我们必须保持足够的睡眠来确保睡眠质量,不能熬夜以缩短睡眠时间。然而,有很多朋友有失眠的麻烦,今天给你带来了10秒的睡眠方法,帮助你在……意甲亚特兰大VS罗马,定位球战术被针对?罗马两点劣势要注意亚特兰大去年圣诞节前最后一个主场对手就是罗马,当时的他们在伊利契奇神兵天降般的发挥下,强势拿下了一场41。按照传统,亚特兰大将在本场比赛继续身穿圣诞节比赛特别球衣,但乌龙的是,……2022年苹果推出的iphone15或将采用自研芯片苹果明年推出的iPhone14将配备三星4nm制程的高通5G数据机晶片X65和射频IC,并与苹果A16应用程序处理器匹配。在2023年推出的iPhone15将首次使用自研……梦幻模拟战手游巅峰梦幻基础知识分享作者:NGAzkbeststone赶在魏老师大部队来之前总算吭哧吭哧爬上去了。这赛季初被刺客打得生活不能自理。后面慢慢顶住刺客才稳住了阵地。不得不说龙DD残局实在是太强力……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网