
ExGeo
文章平均质量分 89
路由跳变
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ExGeo代码理解(六)utils.py(辅助函数)
│ |── Los_Angeles # 从洛杉矶收集的街道级IP地理定位数据集,包括92,804个IP地址。│ |── New_York # 从纽约市收集的街道级IP地理定位数据集,包括91,808个IP地址。│ |── Shanghai # 收集自上海的街道级IP地理定位数据集,包括126,258个IP地址。│ |── sublayers.py # layer.py的支持文件。│ |── model.py # ExGeo的核心源代码。原创 2025-06-30 17:30:30 · 362 阅读 · 0 评论 -
ExGeo代码理解(七)main.py(运行模型进行训练和测试)
ExGeo是一个用于街道级IP地理位置预测的开源项目,包含三个大规模真实数据集(纽约、洛杉矶、上海)和基于PyTorch的深度学习模型实现。项目结构清晰,包括数据预处理、模型训练测试和日志记录功能。模型采用注意力机制和双扰动策略(数据扰动+参数扰动)提升鲁棒性,支持动态学习率调整和早停机制。训练过程记录了损失、MAE等指标,并定期保存检查点。代码提供了完整的命令行参数配置,包括模型超参数、训练策略和数据集选择,具有良好的可扩展性和复现性。项目文档详细,适合研究IP地理定位相关领域的开发者使用。原创 2025-06-30 17:29:58 · 807 阅读 · 0 评论 -
ExGeo代码理解(五)model.py(ExGeo的核心源代码)
d_v_in=2,d_v_out=2,else:nn.ReLU(),# )eps = 0.8# Geo# AIB'''predict'''else:这是一个 PyTorch 中神经网络模型的类定义,它继承自 nn.Module 类,表明这个类是一个 PyTorch 模型。该部分代码实现与RIPGeo代码理解(四)model.py。原创 2025-06-30 17:29:27 · 1002 阅读 · 0 评论 -
ExGeo代码理解(四)layers.py(注意力机制的代码)
这是一个简单的注意力机制模块,用于计算注意力分数并将其应用于值(value)向量。该块代码实现与RIPGeo代码理解(三)layers.py一致该块代码实现与RIPGeo代码理解(三)layers.py一致'''q:[N1, d]k:[N2, d]v:[N2, d]'''这是一个简单的自注意力模块,实现了两个输入序列的注意力计算。这个模块的整体功能是接受三个输入张量 q、k 和 v,然后计算注意力权重,最后生成加权和的输出。该块代码实现与。原创 2024-04-21 08:00:00 · 729 阅读 · 0 评论 -
ExGeo代码理解(三)sublayers.py(layer.py的支持文件)
这段代码定义了一个 Scaled Dot-Product Attention 模块,这是 Transformer 模型中注意力机制的一部分。这个模块实现了 Scaled Dot-Product Attention 的计算,是 Transformer 模型中实现自注意力机制的关键组成部分。该部分实现与RIPGeo代码理解(二)sublayers.py一致。这是一个多头注意力(Multi-Head Attention)模块的实现,用于在Transformer等模型中执行自注意力机制。原创 2024-04-20 07:45:00 · 843 阅读 · 0 评论 -
ExGeo代码理解(二)preprocess.py(预处理数据集并为模型运行执行IP聚类)
├── datasets # 包含3个大规模的真实街道IP地理位置数据集。│ |── New_York # 从纽约市收集的街道级IP地理定位数据集,包括91,808个IP地址。│ |── Los_Angeles # 从洛杉矶收集的街道级IP地理定位数据集,包括92,804个IP地址。│ |── Shanghai # 收集自上海的街道级IP地理定位数据集,包括126,258个IP地址。├── lib # 包含模型(model)实现文件。原创 2024-04-17 08:15:00 · 1011 阅读 · 0 评论 -
ExGeo代码理解(一)generateidx.py(生成target nodes和landmark nodes的idx)
1、from tqdm import tqdm:它导入了 tqdm 模块中的 tqdm 类。tqdm 是一个用于在循环中添加进度条的工具,方便用户实时查看代码的执行进度,以帮助在循环中可视化地显示代码的执行进度,从而更好地了解代码的运行情况。原创 2024-03-19 17:26:21 · 878 阅读 · 0 评论 -
ExGeo框架代码构成
该存储库提供了ExGeo框架的原始PyTorch实现。1.更新日志(23.10.19):补充了main.py中打印mask_matrix的代码,该代码可以通过改变epoch的数量来显示矩阵的变化。2.更新日志(23.10.27):修改了Aib的先验概率参数p=0.1。如果想重现可解释性实验,使用较小的概率参数会更明显。值得注意的是,不同的权重'beta'最终将使学习到的Q(Aib/A)收敛到先验分布P(A)。然而,通过我们对收敛过程的仔细观察,我们可以看到,原创 2024-04-16 16:09:42 · 686 阅读 · 0 评论