当前位置: 首页 > news >正文

第六十二周周报 HestGCL

week 62 HestGCL

摘要

本周阅读了题为Heterogeneous Spatio-Temporal Graph Contrastive Learning for Point-of-Interest Recommendation的论文。该文提出了一种新的POI推荐模型HestGCL,它超越了现有方法的局限性,探索了一种基于对比学习的新策略。构建了一个异构时空图,并设计了一个跨视图异构时空图对比学习框架来捕获异构信息。本文提出的异构时空图神经网络可以从空间和时间两个角度进行信息聚合,对比学习模块可以提取视图之间共享的信息,从而缓解数据稀疏性问题。在三个基准数据集上的实验结果表明,HestGCL模型优于所有基线模型。

Abstract

This week’s weekly newspaper decodes the paper entitled Heterogeneous Spatio-Temporal Graph Contrastive Learning for Point-of-Interest Recommendation. The paper proposes a new POI (Point of Interest) recommendation model called HestGCL, which overcomes the limitations of existing methods by exploring a new strategy based on contrastive learning. A heterogeneous spatiotemporal graph is constructed, and a cross-view heterogeneous spatiotemporal graph contrastive learning framework is designed to capture heterogeneous information. The proposed heterogeneous spatiotemporal graph neural network can aggregate information from both spatial and temporal perspectives, and the contrastive learning module can extract shared information across views, thereby alleviating the data sparsity problem. Experimental results on three benchmark datasets show that the HestGCL model outperforms all baseline models.

1. 题目

标题:Heterogeneous Spatio-Temporal Graph Contrastive Learning for Point-of-Interest Recommendation

作者:Jiawei Liu, Haihan Gao, Cheng Yang, Chuan Shi*, Tianchi Yang, Hongtao Cheng,
Qianlong Xie, Xingxing Wang, and Dong Wang

发布:TSINGHUA SCIENCE AND TECHNOLOGY ISSN 1007-0214 14/31 pp186−197

  • DOI: 10.26599/TST.2023.9010148
  • Volume 30, Number 1, February 2025

2. Abstract

兴趣点(point-of-interest, POI)推荐是推荐系统领域中最重要的主题之一,其目的是向用户推荐潜在的兴趣点。近年来,图神经网络(gnn)已被成功地用于POI推荐中的交互和时空信息建模,但POI推荐的数据稀疏性影响了gnn的训练。尽管一些现有的基于gnn的POI推荐方法尝试使用社会关系或用户属性来缓解数据稀疏性问题,但由于隐私原因,这些辅助信息并不总是可用的。自监督学习为缓解数据稀疏性问题提供了新的思路,但现有的大多数自监督推荐方法不能直接用于POI推荐的时空图。

本文提出了一种新的异构时空图对比学习方法HestGCL,以弥补现有基于gnn的方法的不足。为了对时空信息进行建模,分别生成了时空特定的视图,并设计了特定于视图的异构图神经网络来对时空信息进行建模。为了缓解数据稀疏性,提出了一种跨视图对比策略来捕捉视图之间的差异和相关性,提供更多的监督信号,协同提高整体性能。在三个基准数据集上的大量实验证明了HestGCL的有效性,显著优于现有方法。

3. 文献解读

3.1 Introduction

为了解决这两个限制,提出了一种新的POI推荐方法,称为异构时空图对比学习(HestGCL)。为了更精细地建模POI推荐场景中的异构性,构建了包含三类节点(即User、POI和Location)和三种关系的异构时空图,有助于揭示异构信息对推荐的影响。为了解决数据稀疏性和时空噪声给GNN模型带来的挑战,受自监督学习[17]的启发,提出了一种时空异构图的交叉视图对比学习技术。具体来说,首先将完整的异构图划分为空间视图和时间视图。然后,分别针对空间视图和时间视图设计了空间感知和时间感知的图神经网络。最后,使用从每个视图获得的节点表示进行对比学习。

在三个公共数据集上的实验结果表明,hesstgcl模型在POI推荐任务上取得了比现有基线方法一致且显著的改进。Recall@50在Foursquare、Gowalla和美团的相对提升率分别为8.83%、14.61%和6.86%。烧蚀实验和超参数实验进一步证明了该模型的有效性和鲁棒性。

3.2 创新点

本文的贡献总结如下:

  1. 与传统基于gnn的POI推荐模型通常建模为用户-POI二部图或多层图不同,将POI推荐任务建模为双视图异构时空图,可以更好地利用数据异质性并减轻数据噪声。
  2. 提出了一种新的跨视图异构时空图对比学习模型(HestGCL),该模型将时空异构图神经网络与对比学习相结合,提供自监督信号,缓解数据稀疏性问题。据所知,这是第一次尝试利用异构时空图对比学习进行POI推荐。
  3. 在三个基准POI推荐数据集上进行了广泛的实验,性能优于现有的最先进的基线,证明了所提出模型的有效性。

4. 网络结构

4.1 基础

POI推荐系统:令 U = { u 1 , u 2 , … , u M } U=\{u_1,u_2,\dots,u_M\} U={u1,u2,,uM}为M个用户的集合, P = { p 1 , p 2 , … , p N } P=\{p_1,p_2,\dots,p_N\} P={p1,p2,,pN}为N个POI的集合。POI推荐任务的目的是根据每个用户U中u的历史POI访问 P u P_u Pu、POI的定位 L P L_P LP、交互的时间戳 T U P T_{UP} TUP将P个POI排列为表。

异质时空图(HeSTG):HeSTG是指 G = ( V , E , L , T ) G=(V,E,L,T) G=(V,E,L,T),由对象集V、链路集E、位置集L以及时间戳集T组成。其中L和T分别与V和E存在关联,存在一个节点类型映射函数 ϕ : V → A \phi:V\rightarrow A ϕ:VA以及一个链接类型映射 φ : E → R \varphi:E\rightarrow R φ:ER,满足 ∣ A ∣ + ∣ R ∣ > 2 |A|+|R|>2 A+R>2

4.2 HestGCL

总体架构如图2所示。首先从原始数据中生成图的拓扑和特征,并将完整的图提取为双视图子图。其次,提出了双视图异构时空图神经网络,生成基于时空和基于时间的嵌入,然后将它们融合得到时空嵌入。最后,设计了对比学习模块,为推荐提供自监督信号。

4.2.1 图的构造和数据的预处理

对于POI推荐任务,相应的HeSTG可以定义为 G = ( V P , V U , V L , E U P T , E L P , E L L ) G=(V_P,V_U,V_L,E^{T}_{UP},E_{LP},E_{LL}) G=(VP,VU,VL,EUPT,ELP,ELL),由POI节点集 V P V_P VP、用户节点集 V U V_U VU、位置节点集 V P V_P VP、用户-POI交互边集 E U P T E^T_{UP} EUPT(带有签入时间戳集 T T T)、位置-POI地理映射边集 E L P E_{LP} ELP、位置-位置地理邻近边集 E L L E_{LL} ELL组成。注意,位置节点引用POI V L V_L VL的区域,其id可以通过geohash编码算法获得。

双视图图提取和视图屏蔽

受多视图表示学习的启发,将完整的HeSTG G提取为两个特定于视图的子图 G S = ( V P , V U , V L , E U P , E L P , E L L ) , a n d G T = ( V P , V U , E U P T ) G_S=(V_P,V_U,V_L,E_{UP},E_{LP},E_{LL}),\ and\ G_T=(V_P,V_U,E^T_{UP}) GS=(VP,VU,VL,EUP,ELP,ELL), and GT=(VP,VU,EUPT),分别表示空间视图和时间视图。多视图表示学习可以在特定于视图的模块中学习更高层次的表示

  • 空间视图 G S G_S GS:包括三种节点 V P , V U , V L V_P,V_U,V_L VP,VU,VL和三种边 E U P , E L P , E L L E_{UP},E_{LP},E_{LL} EUP,ELP,ELL,其中 E U P E_{UP} EUP不考虑时间的影响。
  • 时间视图 G T G_T GT:包括两种节点 V P , V U V_P,V_U VP,VU和一种以时间戳为边特征的边 E U P T E^T_{UP} EUPT,不考虑地理因素的影响。

节点特征初始化

只使用ID特征作为输入,而不考虑其他信息(如类别、社会联系),并基于参数化矩阵构建嵌入查找表。以用户节点 V U V_U VU为例,初始化其特征为 X U = [ x u 1 , … , x u N ] X_U=[x_{u_1},\dots,x_{u_N}] XU=[xu1,,xuN],其中 N N N表示用户数量, x u ∈ R d x_u\in R^d xuRd为嵌入向量(表示嵌入大小)。同样,得到POI和位置节点的特征矩阵 X P X_P XP X L X_L XL。所有这些特征也被表示为GNN模型的输入 X ( 0 ) X^{(0)} X(0)

4.2.2 双视图异构时空图神经网络

将介绍该方法的主干GNN,即双视图异构时空图神经网络,命名为HestGNN。具体来说,为空间和时间视图设计了特定于视图的gnn(即HestGNNS和HestGNN-T)。

空间感知图神经网络

对于空间视图,设计了一个空间感知的图神经网络,命名为HestGNN-S。空间视图包含多种类型的节点(即用户、POI、位置)及其关系,每种关系对节点的影响不同。因此,为每种类型的节点设计消息传递函数。首先为它们定义 ( k + 1 ) (k+1) (k+1)层节点更新函数
x u ( k + 1 ) = f a g g ( x u ( k ) , { x p ( k ) ∣ p ∈ N u } ) x^{(k+1)}_u=f_{agg}(x^{(k)}_u,\{x^{(k)}_p|p\in N_u\}) xu(k+1)=fagg(xu(k),{xp(k)pNu})

x p ( k + 1 ) = f a g g ( x P ( k ) , { x u ( k ) ∣ u ∈ N p } , { x ( k ) ∣ l ∈ N p } ) x^{(k+1)}_p=f_{agg}(x^{(k)}_P,\{x^{(k)}_u|u\in N_p\},\{x^{(k)}|l\in N_p\}) xp(k+1)=fagg(xP(k),{xu(k)uNp},{x(k)lNp})

x l ( k + 1 ) = f a g g ( x l ( k ) , { x p ( k ) ∣ p ∈ N l } ) x^{(k+1)}_l=f_{agg}(x^{(k)}_l,\{x^{(k)}_p|p\in N_l\}) xl(k+1)=fagg(xl(k),{xp(k)pNl})

接下来定义每种类型节点的聚合函数 f a g g ( ⋅ ) f_{agg}(\cdot) fagg()如下:
f a g g ( x ( k ) , { x p ∈ N u ( k ) } ) = ∑ p ∈ N u 1 ∣ N u ∣ x ( k ) ) p f_{agg}(x^{(k)},\{x^{(k)}_{p\in N_u}\})=\sum_{p\in N_u}\frac1 {|N_u|}x^{(k)})p fagg(x(k),{xpNu(k)})=pNuNu1x(k))p

f a g g ( x p ( k ) , { x u , l ∈ N p ( k ) } ) = b p ∑ u ∈ N p 1 ∣ N p ∣ x u ( k ) + ( 1 − b p ) ∑ l ∈ N p 1 ∣ N p ∣ x u ( k ) f_{agg}(x^{(k)}_p,\{x^{(k)}_{u,l\in N_p}\})=b_p\sum_{u\in N_p}\frac1 {|N_p|}x^{(k)}_u+(1-b_p)\sum_{l\in N_p}\frac 1 {|N_p|}x^{(k)}_u fagg(xp(k),{xu,lNp(k)})=bpuNpNp1xu(k)+(1bp)lNpNp1xu(k)

f a g g ( x l ( k ) , { x p , l ∈ N l ( k ) } ) = b l ∑ p ∈ N l 1 ∣ N l ∣ x p ( k ) + ( 1 − b l ) ∑ l ∈ N l 1 ∣ N l ∣ x l ( k ) f_{agg}(x^{(k)}_l,\{x^{(k)}_{p,l\in N_l}\})=b_l\sum_{p\in N_l}\frac{1}{|N_l|}x^{(k)}_p+(1-b_l)\sum_{l\in N_l}\frac{1}{|N_l|}x^{(k)}_l fagg(xl(k),{xp,lNl(k)})=blpNlNl1xp(k)+(1bl)lNlNl1xl(k)

时间感知图神经网络

对于时间视图,设计了一个时间感知的图神经网络,命名为HestGNN-T。时间视图包含userPOI边缘上的签入时间戳,这些时间戳有助于对用户的兴趣偏好进行建模。因此,通过对边缘进行时间编码和在聚合过程中融合边缘嵌入来考虑时间信息。

更具体地说,首先使用小时级时间编码策略将时间戳t转换为嵌入 e t e_t et。编码策略是建立如下嵌入查找表:
e T = [ σ ( e t 1 ) ] , … , σ ( e t N ) e_T=[\sigma(e_{t_1})],\dots,\sigma(e_{t_N}) eT=[σ(et1)],,σ(etN)
然后,使用门控策略对k+1层上每个节点的时间嵌入和邻居嵌入进行聚合:
x ( k + 1 ) = c u ( x ^ u ( k + 1 ) ⊙ x ~ u ) + ( 1 − c u ) x ^ u ( k + 1 ) x^{(k+1)}=c_u(\hat x_u^{(k+1)}\odot \tilde x_u)+(1-c_u)\hat x_u^{(k+1)} x(k+1)=cu(x^u(k+1)x~u)+(1cu)x^u(k+1)

x p ( k + 1 ) = c p ( x ^ p k + 1 ⊙ x ~ p ) + ( 1 − c p ) x ^ p ( k + 1 ) x^{(k+1)}_p=c_p(\hat x_p^{k+1}\odot \tilde x_p)+(1-c_p)\hat x^{(k+1)}_p xp(k+1)=cp(x^pk+1x~p)+(1cp)x^p(k+1)

以用户u为例, x ^ u ( k = 1 ) \hat x^{(k=1)}_u x^u(k=1)是对邻居 p ∈ N u p\in N_u pNu嵌入 x p ( k ) x_p^{(k)} xp(k)进行平均计算,而 x ~ u \tilde x_u x~u的计算过程是对节点对 ( u , p ) (u,p) (u,p)上的时间戳嵌入进行平均,与层无关,只计算一次:
x ^ u ( k + 1 ) = ∑ p ∈ N u 1 ∣ N u ∣ x p ( k ) \hat x^{(k+1)}_u=\sum_{p\in N_u}\frac1{|N_u|}x^{(k)}_p x^u(k+1)=pNuNu1xp(k)

x ~ u = ∑ p ∈ N u 1 ∣ N u ∣ e t u p \tilde x_u=\sum_{p\in N_u}\frac1 {|N_u|}e_{t_{up}} x~u=pNuNu1etup

4.2.3 预测与优化

基于从HestGNN-S和HestGNN-T中获得的嵌入,基于时间感知预测模块生成推荐列表,并使用额外的对比模块增强自监督信号。将完整的模型命名为HestGCL。

时间感知预测模块

对每一层 k ∈ K k\in K kK的嵌入进行平均,得到时空视图的最终嵌入 ( x u S , x p S ) , a n d , ( x u T , x p T ) (x^S_u,x^S_p),and, (x^T_u,x^T_p) (xuS,xpS),and,(xuT,xpT)。例如,
x u S = ∑ k ∈ [ 0 , K ] 1 ∣ K + 1 ∣ x p ( k ) x^S_u=\sum_{k\in [0,K]}\frac1 {|K+1|}x^{(k)}_p xuS=k[0,K]K+1∣1xp(k)
然后利用注意机制对 x S , a n d , x T x^S,and, x^T xS,and,xT进行融合,得到最终的嵌入 x F x^F xF
x F = a f i n a l x S + ( 1 − a f i n a l ) x T x^F=a_{final}x^S+(1-a_{final})x^T xF=afinalxS+(1afinal)xT
由于用户的决策与时间密切相关,因此在计算用户嵌入 x u F x^F_u xuF与poi嵌入 x p F x^F_p xpF的相似度时,考虑由Eq.(7)得到的时间编码,然后对poi的相似度得分进行排序,生成推荐列表。
y u p = ( x F − u ⊙ e t u p ) T ⋅ ( x p F ⊙ e t u p ) y_{up}=(x^F-u\odot e_{t_{up}})^T\cdot(x^F_p\odot e_{t_{up}}) yup=(xFuetup)T(xpFetup)
在优化方面,使用贝叶斯个性化排名(BPR)损失来鼓励观察对的预测高于未观察对:
L B P R = − ∑ u = 1 ∣ U ∣ ∑ i ∈ N u ∑ j ∈ N u l n ( y ^ u i − y ^ u j ) L_{BPR}=-\sum^{|U|}_{u=1}\sum_{i\in N_u}\sum_{j\in N_u}ln(\hat y_{ui}-\hat y_{uj}) LBPR=u=1UiNujNuln(y^uiy^uj)
横视图图形对比模块

对于每个节点,已经生成了它的空间视图嵌入和时间视图嵌入。为了更好地利用两个视图的信息,提出一种跨视图对比策略,将相应的嵌入和视为正对,而将其他嵌入视为负对。正式的,此处也应用InfoNCE 损失:
L C L = ∑ i ∈ V ∑ j ≠ i − log ⁡ ( f ( x S ( i ) , x T ( i ) ) − log ⁡ ( 1 − f ( x ( i ) , x ( j ) ) ) ) L_{CL}=\sum_{i\in V}\sum_{j\neq i} -\log(f(x_{S_{(i)}},x_{T_{(i)}})-\log(1-f(x_{(i)},x_{(j)}))) LCL=iVj=ilog(f(xS(i),xT(i))log(1f(x(i),x(j))))
将预测模块和跨视图对比学习模块统一为一个主辅学习框架,其中预测模块是主任务,对比学习模块是辅助任务。形式上,总体优化函数为
L = L B P R + β ∗ L C L + γ ∗ ∣ ∣ Θ ∣ ∣ 2 2 L=L_{BPR}+\beta*L_{CL}+\gamma*||\Theta||^2_2 L=LBPR+βLCL+γ∣∣Θ∣22

5. 实验过程

5.1 实验设置

数据集

为了评估所提出方法的性能,使用了以下三个真实的LBSN数据集。Foursquare[30]和Gowalla[30]是两个基准POI推荐数据集,使用geohash算法生成位置ID和位置邻居。美团†是近期外卖配送数据集,由从美团APP获取的用户订单历史记录组成,包括订单位置ID和poi位置ID。在设置中,忽略订单的区域ID,以保持信息与其他数据集一致。这些数据集的统计信息汇总在表1中。

对于所有数据集,按时间顺序将它们分成训练/验证/测试集,其中最老的70%签入被用作训练集,最近的20%签入被用作验证集,最近的10%签入被用作测试集。

基线

为了验证提出的模型的有效性,将其与五种基线进行比较,如表2所示:非gnn一般推荐模型(即BPRMF[31]和NeuMF[32]);非gnn POI推荐模型(即LGLMF[33]和STACP[34]);基于gnn的通用推荐模型(即NGCF[20]和LightGCN[21]);基于gnn的最先进POI推荐模型(即GPR[12]);基于GNN分类的推荐模型(即SGL[16]和NCL[17])。对于所有这些基线,设置了他们论文中报告的最佳超参数设置。

需要注意的是,在本文中,关注的是POI推荐中数据稀疏场景下的时空信息,因此没有选择那些序列模型[35-37]作为下一个POI推荐任务的基线。

实现细节

基于Recbole[38]实现了框架,并使用Adam[39]优化器最小化总体损失,其中学习率设置为。与基线相同,采用耐心为10的早期停止策略,即,如果Recall@5指标在10个周期内没有增加,将停止训练。对于优化函数,将两者和设为。对于超参数调优,通过探索HestGNN中的层数和嵌入大小进行启发式搜索。

评价标准

为了验证推荐模型的性能,使用以下两个广泛使用的评估指标:Recall@N和MAP@N,其中N是排名列表中poi的数量。为了更全面地比较结果,报告= 5、10、20和50的结果。

实验结果

在表3中给出了三个数据集的top-N推荐结果。根据实验结果,可以观察到:

  1. HestGCL在三个数据集上的所有指标都优于所有基线方法。更具体地说,在Foursquare、Gowalla和美团的数据集上,它比Recall@50上最强的基线分别提高了8.83%、14.61%和6.86%。这证明了模型的有效性。
  2. 对于Foursquare和Gowalla数据集,基于gnn的方法往往比NeuMF更有效。这表明基于gnn的方法可以传播高阶信息,从而学习更好的节点表示。对于美团数据集,NeuMF也可以达到与基于gnn的基线相似的性能。这可能是因为美团数据集是最不稀疏的,并且poi的数量要少得多,这使得不太需要为gnn聚合高阶信息。
  3. 与传统GNN模型(如LightGCN、NGCF)相比,一般自监督GNN模型(如SGL、NCL)在某些情况下可以增强模型,但不稳定。例如,在美团数据集上,SGL (Recall@5 = 0.3373)的Recall得分低于LightGCN (Recall@5 = 0.3456)。然而,模型可以取得更好的结果,可能是因为它是明确为时空数据设计的,因此提供了更有效的自监督信号。

6. 结论

本文提出了一种新的POI推荐模型HestGCL,它超越了现有方法的局限性,探索了一种基于对比学习的新策略。构建了一个异构时空图,并设计了一个跨视图异构时空图对比学习框架来捕获异构信息。本文提出的异构时空图神经网络可以从空间和时间两个角度进行信息聚合,对比学习模块可以提取视图之间共享的信息,从而缓解数据稀疏性问题。在三个基准数据集上的实验结果表明,HestGCL模型优于所有基线模型。

参考文献

[1] Jiawei Liu, Haihan Gao, Cheng Yang, Chuan Shi*, Tianchi Yang, Hongtao Cheng,
Qianlong Xie, Xingxing Wang, and Dong Wang. Heterogeneous Spatio-Temporal Graph Contrastive Learning for Point-of-Interest Recommendation. TSINGHUA SCIENCE AND TECHNOLOGY ISSN 1007-0214 14/31 pp186−197

相关文章:

第六十二周周报 HestGCL

文章目录 week 62 HestGCL摘要Abstract1. 题目2. Abstract3. 文献解读3.1 Introduction3.2 创新点 4. 网络结构4.1 基础4.2 HestGCL4.2.1 图的构造和数据的预处理4.2.2 双视图异构时空图神经网络4.2.3 预测与优化 5. 实验过程5.1 实验设置 6. 结论参考文献 week 62 HestGCL 摘…...

存储期类别

文章目录 前言一、自动存储期(Automatic Storage Duration)二、静态存储期(Static Storage Duration)三、动态存储期(Dynamic Storage Duration)四、线程存储期(Thread Storage Duration&#x…...

开源模型应用落地-Qwen2-VL-7B-Instruct-vLLM-OpenAI API Client调用

一、前言 学习Qwen2-VL ,为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野,更让我们站在科技发展的潮头,紧跟时代的步伐。 Qwen2-VL 具有卓越的图…...

风电叶片损伤YOLO检测数据集(猫脸码客第229期)

风电叶片损伤检测:为清洁能源保驾护航 一、风电叶片:清洁能源的关键组件 风电叶片作为风力发电的核心组件,在将风能转化为电能的过程中起着至关重要的作用。它犹如巨大的风车翅膀,捕捉流动的风,将其转化为机械能&…...

修改 RN 打包后生成的app-release 安装包的名称

在React Native项目中,修改打包后生成的Android app-release.apk 安装包的名称通常涉及修改Android的构建配置。以下是详细步骤: 修改Android打包后的APK名称 找到build.gradle文件: 打开你的React Native项目中的android/app/build.gradle文…...

大模型EfficientSam用于图像语义分割自动标注

安装labelme Labelme安装及使用教程-CSDN博客 pip install labelme -i https://pypi.tuna.tsinghua.edu.cn/simple 在安装的过程中因为会需要pyqt5 error: subprocess-exited-with-error Building wheel for PyQt5-sip (pyproject.toml) did not run successfully. │ exit …...

一个关于@JsonIgnore的isxxx()问题

一个关于JsonIgnore的问题 版本:2.13.5 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><optional>true</optional></dependency>代码&#xff1a; Data public clas…...

Django-cookie,session

Cookie简介 Cookie&#xff0c;有时也用Cookies&#xff0c;是指web程序为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据&#xff08;通常经过加密&#xff09;&#xff0c;一般是以键值对的形式存在&#xff0c;Cookie具有不可跨域名性 Cookie是http协议中…...

HarmonyOS开发 - 本地持久化之实现LocalStorage支持多实例

用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;并对其修改和查询。数据存储形式为键值对&#xff0c;键的类型为字符串型&#xff0c;值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 在上一篇中&…...

【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成功训练(二)

配置torch环境 pip升级 因为一些包安装不成功可能和pip版本有关&#xff0c;所以先升级pip 吸取之前python有多个版本的经验&#xff0c;所以我指定了Python版本的pip进行升级 就是python3.8版本&#xff1a; /home/某某/Python3.8/bin/python3.8 &#xff08;要换成你实际的…...

Flutter鸿蒙next 刷新机制的高级使用【衍生详解】

✅近期推荐&#xff1a;求职神器 https://bbs.csdn.net/topics/619384540 &#x1f525;欢迎大家订阅系列专栏&#xff1a;flutter_鸿蒙next &#x1f4ac;淼学派语录&#xff1a;只有不断的否认自己和肯定自己&#xff0c;才能走出弯曲不平的泥泞路&#xff0c;因为平坦的大路…...

c/c++--静态变量和静态函数(static)

目录 1 c静态函数和静态变量 1.1 C静态成员函数&#xff1a; 1.1.1定义与基本语法 1.1.2 不依赖于实例 1.1.3 访问限制 1.1.4共享数据 1.1.5 作用域与命名 1.1.6 工厂函数和工厂方法&#xff08;常用途&#xff09; ​​​1.2 c静态函数&#xff08;) 1.3c静态变量 …...

Windows系统启动MongoDB报错无法连接服务器

文章目录 发现问题解决办法 发现问题 1&#xff09;、先是发现执行 mongo 命令&#xff0c;启动报错&#xff1a; error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017&#xff1b; 2&#xff09;、再检查 MongoDB 进程 tasklist | findstr mongo 发现没有进程&a…...

Linux的makefile与进度条小程序实践

makefile make命令主要功能使用方法常用选项 makefile文件基本结构使用案例变量定义内置变量(即系统定义的确定变量)伪目标模式规则条件语句注释makefile中的常用函数 进度条小程序创建文件编辑.h文件编辑.c文件创建main函数makefile文件执行效果 make命令 在linux中&#xff…...

latex写作基础

参考&#xff1a;https://www.bilibili.com/video/BV1ku4y1X7Rz 在线latex&#xff1a;https://cn.overleaf.com/ tex文件基本结构 \documentclass{article} % 文档类型&#xff0c;&#xff05;是注释\usepackage{graphicx} % 导入各种包&#xff0c;这里是graphicx包\titl…...

Chromium HTML5 新的 Input 类型email对应c++

一、Input 类型: email email 类型用于应该包含 e-mail 地址的输入域。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php"…...

嵌入式Linux的AXI平台(platform)驱动教程

本文以JFMQL100的Linux系统的AXI接口的平台驱动为例&#xff0c;介绍嵌入式Linux的平台驱动编写、测试软件编写以及验证方式。本文的方法适用于任意嵌入式芯片Linux的物理地址映射的平台&#xff08;platform&#xff09;驱动的编写、测试与应用。 本文中AXI的开始地址为0x8000…...

什么是Java策略模式?与Spring的完美结合

文章目录 什么是策略模式&#xff1f;策略模式的组成部分&#xff1a; 策略模式的示例在Spring中的妙用1. 使用Spring配置2. 在上下文中选择策略3. 动态切换策略 总结推荐阅读文章 在软件设计中&#xff0c;策略模式是一种非常常见的设计模式&#xff0c;它能够让算法的变化独立…...

[Go实战]:HTTP请求转发

前言 在Web应用开发中&#xff0c;请求转发是一项核心且常见的功能&#xff0c;用于负载均衡、服务拆分、路由重定向和业务逻辑处理。通过在Go语言中封装一个通用的HTTP请求转发方法&#xff0c;我们可以简化代码结构&#xff0c;提升可读性、可维护性和可扩展性。本文将探讨如…...

【C++单调栈 贡献法】907. 子数组的最小值之和|1975

本文涉及的基础知识点 C单调栈 LeetCode907. 子数组的最小值之和 给定一个整数数组 arr&#xff0c;找到 min(b) 的总和&#xff0c;其中 b 的范围为 arr 的每个&#xff08;连续&#xff09;子数组。 由于答案可能很大&#xff0c;因此 返回答案模 109 7 。 示例 1&#x…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...