Henry1iu / TNT-Trajectory-Prediction

A Pytorch Implementation of TNT: Target-driveN Trajectory Prediction
486 stars 92 forks source link

怎么验证preprocessing 完成? #26

Closed wheelandwheat closed 1 year ago

wheelandwheat commented 1 year ago

hi, 我在服务器上跑这个项目,预处理完成后有三个进度条并未显示100%, image

interm_data 目录如图 屏幕截图 2022-07-30 112505 随后进行./scripts/train_tnt.sh 如下error: Traceback (most recent call last): File "train_tnt.py", line 129, in <module> train(args.local_rank, args) File "train_tnt.py", line 21, in train train_set = ArgoverseInMemv2(pjoin(args.data_root, "train_intermediate")).shuffle() File "/data/taojiang6/TNT-Trajectory-Predition/core/dataloader/argoverse_loader_v2.py", line 61, in __init__ super(ArgoverseInMem, self).__init__(root, transform, pre_transform) File "/data/taojiang6/pyenv_taojiang6/lib/python3.8/site-packages/torch_geometric/data/in_memory_dataset.py", line 56, in __init__ super().__init__(root, transform, pre_transform, pre_filter) File "/data/taojiang6/pyenv_taojiang6/lib/python3.8/site-packages/torch_geometric/data/dataset.py", line 87, in __init__ self._process() File "/data/taojiang6/pyenv_taojiang6/lib/python3.8/site-packages/torch_geometric/data/dataset.py", line 170, in _process self.process() File "/data/taojiang6/TNT-Trajectory-Predition/core/dataloader/argoverse_loader_v2.py", line 94, in process num_valid_len_max = np.max(valid_lens) File "<__array_function__ internals>", line 5, in amax File "/data/taojiang6/pyenv_taojiang6/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 2705, in amax return _wrapreduction(a, np.maximum, 'max', axis, None, out, File "/data/taojiang6/pyenv_taojiang6/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 87, in _wrapreduction return ufunc.reduce(obj, axis, dtype, out, **passkwargs) ValueError: zero-size array to reduction operation maximum which has no identity

请问是否是preprocessing未完成?如何确认preprocessing已经完成?

Henry1iu commented 1 year ago

Hi,

预处理情况正常,根据你的图片显示,预处理后会生成一个小数据集,你可以用这个小数据集用来测试代码是否正常运行。记得要修改train_tnt.sh中的数据集路径。

另外你的数据集路径有问题,正常的情况如图

Screenshot 2022-08-01 at 6 26 53 PM

请问你是否修改了preprocessing的代码?

祝好 Jianbang

wheelandwheat commented 1 year ago

Hi,

预处理情况正常,根据你的图片显示,预处理后会生成一个小数据集,你可以用这个小数据集用来测试代码是否正常运行。记得要修改train_tnt.sh中的数据集路径。

另外你的数据集路径有问题,正常的情况如图 Screenshot 2022-08-01 at 6 26 53 PM

请问你是否修改了preprocessing的代码?

祝好 Jianbang

image 这是我使用你的预训练参数后test_tnt的目录结构,当前使用small模式,test_TNT.py后log并未输出预测结果 如图: image

但test_result已有结果(H5文件)这个文件和log如何使用,另外如何可视化test 的结果呢? image

wheelandwheat commented 1 year ago

hi,Jianbang 我在small数据上./script/train_tnt.bash,目前有以下错误: image

Henry1iu commented 1 year ago

Hi,

  1. 在训练之前,还需要再一步整合数据,在每个split里生成“processed“文件夹,processed文件夹下将会有三个文件,其中data.pt将包含所有的训练数据。目测是你的第二步数据整合出现问题,建议删掉每个“processed”文件夹,重新跑一次train_tnt.bash。你的interm_data_small数据集是否包含”train_intermediate“和”test_intermediate“?

  2. test_tnt产生的h5文件如何使用请参考Argoverse官方文档。可视化预测数据请查看我的代码https://github.com/Henry1iu/TNT-Trajectory-Predition/blob/d51c2523662f8478d8c3dd132c40d9e534a2b649/core/trainer/tnt_trainer.py#L230

祝好, Jianbang

wheelandwheat commented 1 year ago

我删除了”train_intermediate“和”test_intermediate“中的processed,仍然有如下error: image interm_data_small中有”train_intermediate“和”test_intermediate“,如下: image 每次生成的processed文件夹中包含 image

Henry1iu commented 1 year ago

请问data.pt文件有多少G? 对于小数据集, 正常情况文件应该为1.1G.

你可以尝试直接运行dataloader测试一下数据是否能正常读取 请修改此处的路径: https://github.com/Henry1iu/TNT-Trajectory-Predition/blob/d51c2523662f8478d8c3dd132c40d9e534a2b649/core/dataloader/argoverse_loader_v2.py#L389

wheelandwheat commented 1 year ago

stat data.pt image

直接运行loader image

Henry1iu commented 1 year ago

在terminal运行子模块请将文件夹路径加入到PYTHONPATH中,例如:

export PYTHONPATH="${PYTHONPATH}:$HOME/PATH_TO_YOUR_FOLDER/TNT-Trajectory-Prediction"

另外代码中的"INTERMEDIATE_DATA_DIR"要修改成绝对路径

wheelandwheat commented 1 year ago

path加了; INTERMEDIATE_DATA_DIR = "/data/taojiang6/TNT-Trajectory-Predition/dataset/interm_data_small" 和直接train_tnt一样的问题 image

Henry1iu commented 1 year ago

Hi,

我把我这边可以正常运行的 小数据集分享给你, 你可以试试.

如果仍然出现问题的话, 有可能是你的torch_geometric配置有问题.

Best regards, Jianbang

wheelandwheat commented 1 year ago

Hi,

我把我这边可以正常运行的 小数据集分享给你, 你可以试试.

如果仍然出现问题的话, 有可能是你的torch_geometric配置有问题.

Best regards, Jianbang

感谢,已经可以在small 上训练了,为啥我的预处理数据有问题呢?

Henry1iu commented 1 year ago

你可以尝试对比一下我分享的数据集和你那边生成的数据集有什么不同, 如果有发现欢迎分享.