libcity笔记:详细流程(以DeepMove为例)

0 前置操作

这边我选择了gowalla的前1000条数据做例子:

0.1 生成样例dyna

import pandas as pd
geo=pd.read_csv('/home_nfs/liushuai/Bigscity-LibCity/raw_data/gowalla_test/gowalla.dyna')

geo_tst=geo.iloc[:1000,:]
geo_tst

 

geo_tst.to_csv('/home_nfs/liushuai/Bigscity-LibCity/raw_data/gowalla_test/gowalla.dyna', index=False)

 0.2 生成相应geo

geo=pd.read_csv('/home_nfs/liushuai/Bigscity-LibCity/raw_data/gowalla/gowalla.geo')
geo=geo[geo['geo_id'].isin(set(geo_tst.entity_id))]
geo.to_csv('/home_nfs/liushuai/Bigscity-LibCity/raw_data/gowalla_test/gowalla.geo')

0.3 修改libcity/config/task_config.json

 

1 主调用

 python run_model.py --task traj_loc_pred --model DeepMove --dataset gowalla --batch_size=5
  • 有task、dataset、model三个必须命令行参数
  • batch_size一个可选命令行参数
  • 没有confg_file 

加载所有参数

1.1 libcity/utils/argument_list.py/str2bool

  • 将字符串表示的布尔值转换为 Python 中的布尔值。
    • 首先检查输入的参数是否已经是布尔值类型,如果是,则直接返回该值,无需转换。

    • if s.lower() in ('yes', 'true')::检查字符串是否是 'yes''true',如果是,则返回 True

    • elif s.lower() in ('no', 'false')::检查字符串是否是 'no''false',如果是,则返回 False

    • else::如果字符串既不是 'yes'/'true' 也不是 'no'/'false',则抛出 argparse.ArgumentTypeError 异常,表示期望一个布尔值。

1.2 libcity/utils/argument_list.py/add_general_args

2 libcity/pipeline/pipeline.py/run_model

2.1 libcity/config/config_parser.py/ConfigParser

2.1.1 构造函数

libcity笔记:libcity/config/config_parser.py/ConfigParser-CSDN博客

2.1.2 get

libcity笔记:libcity/config/config_parser.py/ConfigParser-CSDN博客

2.2 libcity/utils/utils.py/get_logger

libcity笔记:libcity/utils/utils.py-CSDN博客

 然后连着两行logger.info

2.3 set_random_seed

libcity笔记:libcity/utils/utils.py-CSDN博客

2.4 get_dataset

libcity 笔记:libcity/data/utils.py-CSDN博客

得到相应的TrajectoryDataset

  • 得到dataset_cache和cut_traj的json文件,缓存处理的轨迹数据

2.5 dataset.get_data()

2.5.1 cutter_filter

  • 由于之前没有dataset_cache和cut_traj的缓存json文件,先调用cuttter_filter【 cut_data = self.cutter_filter()】
    • 得到的结果,是一个字典,key是user_id,value是一系列二维数组组成的列表,每个二维数组的每一行是“dyna_id    type    time    entity_id    location”

2.5.2 encode_traj

  • 【encoded_data = self.encode_traj(cut_data)】
    • {
                  'data_feature': self.encoder.data_feature,
                  'pad_item': self.encoder.pad_item,
                  'encoded_data': encoded_data
              }的一个字典,其中:

2.5.2  divide_data

  • train_data, eval_data, test_data = self.divide_data()
    • 其中每一个元素也就是

 2.5.3 generate_dataloader_pad

  • 传入的参数
    • train_data, eval_data, test_data
    • self.encoder.feature_dict,
    • self.config['batch_size'],
    • self.config['num_workers'],
    • self.pad_item,
    • self.encoder.feature_max_len
      • 没有设置,就是默认的{}

2.4 get_data &get_data_feature

Libcity笔记:libcity/data/dataset/trajectory_encoder/standard_trajectory_encoder.py-CSDN博客

2.5 get_model

从ibcity/model/trajectory_loc_prediction/DeepMove.py 中生成 DeepMove类

2.5.1 get_evaluator

2.6 train

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/602687.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑小工具总结(下载哔哩哔哩视频等)

哔哩哔哩视频下载器 https://www.jijidown.com/

HFSS-day3-HFSS的工作界面

工作界面也称为用户界面,是HFSS软件使用者的工作环境:了解、熟悉这个工作环境是掌握HFSS软件使用的第一步 HFSS工作环境介绍 1.HFSS工作界面简单的组成说明2.工作界面中各个工作窗口功能主菜单工具栏项目管理窗口属性窗口信息管理窗口进程窗口三维模型窗口 3.HFSS主…

【ITK配准】第七期 尺度(Metric)- 均方Metric

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK中的均方Metric,即itk::MeanSquaresImageToImageMetricv4,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力…

学完 C++ 基本语法后,您就可以开始学习 Qt 了。

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Qt的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!这些基本语法包括变量、类型、循环、判断、指针…

【编译器识别】2024深圳杯C题24页参考论文+1-3小问完整解题代码

一、问题研究 【编译器识别】2024深圳杯C题24页参考论文1-3小问完整解题代码https://www.jdmm.cc/file/2710545/ 为了回答这些问题,我们需要进行一系列的编译实验、分析编译结果,并构建判别函数。以下是对这些问题的初步分析和可能的方法: …

更专业的汽车软件研发工具链,怿星重磅发布新产品

怿星科技在2024北京国际车展同期举办主题为“创新引领未来——聚焦智能汽车软件新基建”的新产品发布会,重磅推出1款绝对优势产品和4套场景解决方案。同时举行了4场热点技术研讨:国产工具链的机遇与挑战、新架构下的的车载DDS应用探索及测试方案介绍、软…

uniapp实现下拉刷新效果-uniapp原生接口

onPullDownRefresh | uni-app官网 1、需要在 pages.json 里,找到的当前页面的pages节点,并在 style 选项中开启 enablePullDownRefresh 2、生命周期中添加onPullDownRefresh,下拉时获取数据 3、处理完数据后,停止下拉效果stopPul…

ubuntu安装mysql本地navicat连接使用

ubuntu安装mysql,选择在线安装非常快: 安装 sudo apt install -y mysql-server-8.0先下载资源(指定版本下载) 如果下不下来,遇到报错多半是 工具需要更新了 sudo apt update更新一下即可(sudo就是权限更…

深入分析网络智能摄像头的RTSP协议安全风险

本文为转载,原作者:山石网科安全技术研究院 网络摄像头作为现代安防体系的关键组成部分,已经广泛应用于各类场所,包括交通枢纽、教育机构、企业办公区、零售商场等公共和私人领域。它们主要负责提供实时视频监控,以加…

中国棋手再夺世界桂冠,李轩豪问鼎第五届梦百合杯世界围棋公开赛

5月4日,第五届“MLILY梦百合0压床垫杯”世界围棋公开赛决赛在江苏省如皋市圆满结束,中国棋手党毅飞和李轩豪展开巅峰对决,最终,李轩豪执白168手战胜党毅飞,以3比1的比分夺得桂冠并获得由MLILY梦百合赞助的180万冠军奖金,这是李轩豪个人职业生涯中首次问鼎世界冠军,成为世界棋坛…

等离子刻蚀中的化学键是如何断裂与生成的?

知 识星球(星球名: 芯片制造与封测社区,星球号: 63559049)里的学员问: 我看 到一本书上 说刻蚀SiO2需要C,这个C会和SiO2中的O结合。 较弱的 si和f结合从而被刻蚀。 但是另一本书上写Si…

DI-engine强化学习入门(十)如何使用RNN——模型构建和包装

一、RNN简介 循环神经网络(Recurrent Neural Network, RNN)是一类用于处理序列数据的神经网络。与传统的前馈神经网络不同,RNN引入了“内部状态”(或称为“隐藏状态”),使得网络能够存储过去的信息&#xf…

初学C++——C++基础、变量、字面量、常量、数据类型、类型转换、变量命名规则、开发环境配置

文章目录 简介C 语言的特性C 开发环境配置C 变量,字面量和常量C 变量变量命名规则 C 字面量C 常量 C 数据类型C 基本数据类型派生数据类型 C 类型转换隐式类型转换C 显式转换 简介 C 是一种静态类型的,自由形式的(通常)编译的&…

python中如何遍历字典

1. 遍历字典的键key ① >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6)} >>> for key in d:print(str(key):str(d[key])) list:[1, 2, 3] 1:123 111:python3 tuple:(4, 5, 6) ② >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6…

2024年数维杯数学建模C题思路

文章目录 1 赛题思路2 比赛日期和时间3 竞赛信息4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

包装类~~

包装类的分类 针对八种基本数据类型相应的引用类型——包装类有了类的特点,就可以调用类中的方法 包装类和基本数据的转换 演示 包装类和 基本数据类型的相互转换,这里以int 和 Integer演示 jdk5前是手动装箱和拆箱方式 装箱:基本类型-&…

Temu、Shopee、阿里国际卖家如何利用自养号测评提升店铺排名

在流量为王的时代,流量无疑等同于销量和利润。对于temu、Shopee以及阿里国际的卖家们来说,关注流量成为了日常运营中不可或缺的一环。今天,我们将一同探讨和分析temu、Shopee及阿里国际的流量来源,帮助卖家们更有效地提升店铺流量…

comfyui安装deforum启动不了,多半是ffmpeg的问题

如果报错中出现imageio 和 ffmpeg 的字样,去装requirement也没啥用 这里最好到cmd中,进入comfyui的python环境,运行以下两句: import imageio imageio.plugins.ffmpeg.download() 图例: 如果节点不报错了&#xff0…

UE5自动生成地形一:地形制作

UE5自动生成地形一:地形制作 常规地形制作地形编辑器地形管理添加植被手动修改部分地形的植被 置换贴图全局一致纹理制作地貌裸露岩石地形实例 常规地形制作 地形制作入门 地形导入部分 选择模式:地形模式。选择地形子菜单:管理->导入 …

mac监听 linux服务器性能可视化(Grafana+Promethus+Node_exporter)

Grafana和promethus(普罗米修斯)的安装和使用 监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置…