转自AI Studio,原文链接:2s-AGCN - 飞桨AI Studio

2s-AGCN Paddle实现

1 简介

This is the unofficial code based on PaddlePaddle of CVPR 2019 paper:

Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition

2s-AGCN是发表在CVPR2019上的一篇针对ST-GCN进行改进的文章,文章提出双流自适应卷积网络,针对原始ST-GCN的缺点进行了改进。在现有的基于GCN的方法中,图的拓扑是手动设置的,并且固定在所有图层和输入样本上。另外,骨骼数据的二阶信息(骨骼的长度和方向)对于动作识别自然是更有益和更具区分性的,在当时方法中很少进行研究。因此,文章主要提出一个基于骨架节点和骨骼两种信息融合的双流网络,并在图卷积中的邻接矩阵加入自适应矩阵,大幅提升骨骼动作识别的准确率,也为后续的工作奠定了基础(后续的骨骼动作识别基本都是基于多流的网络框架)。

论文地址:2s-AGCN Paper

论文代码地址:2s-AGCN Code

2 复现精度

在NTU-RGBD数据集上的测试效果如下

CSCV
Js-AGCN(joint)85.8%94.13%
Bs-AGCN(bone)86.7%93.9%
2s-AGCN88.5%95.4%

在NTU-RGBD上达到验收标准:X-Sub=88.5%, X-View=95.1%

训练日志:日志

VisualDL可视化日志:VDL

模型权重:model_weights

3 数据集解压

In [ ]

# 解压xsub
!unzip data/data139161/xsub.zip

In [ ]

# 解压xview
!unzip data/data139161/xview.zip

In [ ]

# 生成xsub骨头数据
!python work/2s_AGCN/data_gen/gen_bone_data.py

4 XSub部分

In [ ]

# xsub joint训练(时间较长,可跳过,训练好的模型已经放在Stdio中,可直接运行后面的测试)
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-subject/train_joint.yaml

In [ ]

# xsub bone训练(时间较长,可跳过,训练好的模型已经放在Stdio中,可直接运行后面的测试)
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-subject/train_bone.yaml

In [2]

# xsub joint测试
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-subject/test_joint.yaml
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 15:27:11.827329  1915 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 15:27:11.832226  1915 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[ Sun Apr 24 15:27:16 2022 ] Load weights from ./runs/ntu_cs_agcn_joint-48-30674.pdparams.
[ Sun Apr 24 15:27:16 2022 ] Model:   paddle_model.agcn.Model.
[ Sun Apr 24 15:27:16 2022 ] Weights: ./runs/ntu_cs_agcn_joint-48-30674.pdparams.
[ Sun Apr 24 15:27:16 2022 ] Eval epoch: 1
100%|███████████████████████████████████████████████████████████████| 65/65 [01:43<00:00,  1.60s/it]
Accuracy:  0.8578880329956936  model:  ./runs/ntu_cs_agcn_test_joint
[ Sun Apr 24 15:29:00 2022 ] 	Mean test loss of 65 batches: 0.5863116383552551.
[ Sun Apr 24 15:29:00 2022 ] 	Top1: 85.79%
[ Sun Apr 24 15:29:00 2022 ] 	Top5: 97.13%
[ Sun Apr 24 15:29:00 2022 ] Done.

In [3]

# xsub bone测试
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-subject/test_bone.yaml
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 15:29:41.792060  2211 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 15:29:41.796901  2211 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[ Sun Apr 24 15:29:45 2022 ] Load weights from ./runs/ntu_cs_agcn_bone-44-28170.pdparams.
[ Sun Apr 24 15:29:45 2022 ] Model:   paddle_model.agcn.Model.
[ Sun Apr 24 15:29:45 2022 ] Weights: ./runs/ntu_cs_agcn_bone-44-28170.pdparams.
[ Sun Apr 24 15:29:45 2022 ] Eval epoch: 1
100%|███████████████████████████████████████████████████████████████| 65/65 [01:45<00:00,  1.62s/it]
Accuracy:  0.866500879480803  model:  ./runs/ntu_cs_agcn_test_bone
[ Sun Apr 24 15:31:30 2022 ] 	Mean test loss of 65 batches: 0.5539904832839966.
[ Sun Apr 24 15:31:30 2022 ] 	Top1: 86.65%
[ Sun Apr 24 15:31:30 2022 ] 	Top5: 97.24%
[ Sun Apr 24 15:31:31 2022 ] Done.

In [4]

# xsub双流融合
!python work/2s_AGCN/ensemble.py --datasets xsub
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 56328.34it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52579.29it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52295.90it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52853.04it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52307.29it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52924.96it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51369.79it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51244.20it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52162.60it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51536.17it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52411.47it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51571.26it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53704.22it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52718.22it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51668.29it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51836.11it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49283.00it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50658.43it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50808.69it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49851.88it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53466.59it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51578.45it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 41466.95it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48973.35it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52361.27it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50915.42it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51355.40it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 45088.72it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52304.56it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51180.26it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51121.27it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49684.33it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 43568.14it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53834.04it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 39801.71it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51972.34it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52936.43it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51551.88it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52799.81it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52293.36it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52936.22it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50465.12it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 32014.15it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 32098.45it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 32645.90it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 30274.26it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 40016.67it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52158.43it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52090.14it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49370.82it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51055.75it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53852.69it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52694.56it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53094.33it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53012.23it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 43362.34it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53331.75it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50190.04it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52544.37it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51782.46it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52409.53it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52218.97it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52757.88it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53116.03it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52943.03it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53898.36it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53422.88it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52661.73it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51182.19it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52029.00it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52888.69it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52393.64it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53050.38it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53103.18it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52974.22it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50376.44it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48820.42it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 44678.43it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49316.07it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50924.27it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51122.75it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53737.36it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52631.03it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53067.28it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 27537.40it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52715.77it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 47152.27it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 32131.58it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 40353.76it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52778.41it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51692.54it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48159.16it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 40955.34it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 24256.25it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52886.10it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53136.80it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51218.58it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50865.68it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 31722.37it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 25788.26it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51294.00it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 46588.81it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 46741.10it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 52898.16it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48055.17it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53155.10it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 50972.84it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48422.36it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48661.29it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49894.25it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 49553.16it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51595.66it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51675.47it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 46778.91it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 51857.76it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53385.44it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 53073.30it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 42152.43it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 31480.80it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 36820.08it/s]
100%|██████████████████████████████████| 16487/16487 [00:00<00:00, 48643.97it/s]
acc:  0.885 acc5:  0.979

5 XView部分

In [ ]

# xview joint训练(时间较长,可跳过,训练好的模型已经放在Stdio中,可直接运行后面的测试)
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-view/train_joint.yaml

In [ ]

# xview bone训练(时间较长,可跳过,训练好的模型已经放在Stdio中,可直接运行后面的测试)
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-view/train_bone.yaml

In [5]

# xview joint测试
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-view/test_joint.yaml
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 15:40:03.477663  3167 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 15:40:03.482358  3167 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[ Sun Apr 24 15:40:06 2022 ] Load weights from ./runs/ntu_cv_agcn_joint-38-22932.pdparams.
[ Sun Apr 24 15:40:06 2022 ] Model:   paddle_model.agcn.Model.
[ Sun Apr 24 15:40:06 2022 ] Weights: ./runs/ntu_cv_agcn_joint-38-22932.pdparams.
[ Sun Apr 24 15:40:06 2022 ] Eval epoch: 1
100%|███████████████████████████████████████████████████████████████| 74/74 [01:56<00:00,  1.57s/it]
Accuracy:  0.941316289879569  model:  ./runs/ntu_cv_agcn_test_joint
[ Sun Apr 24 15:42:03 2022 ] 	Mean test loss of 74 batches: 0.22862525284290314.
[ Sun Apr 24 15:42:03 2022 ] 	Top1: 94.13%
[ Sun Apr 24 15:42:03 2022 ] 	Top5: 99.08%
[ Sun Apr 24 15:42:03 2022 ] Done.

In [6]

# xview bone测试
!python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-view/test_bone.yaml
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 15:42:20.931833  3457 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 15:42:20.936807  3457 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[ Sun Apr 24 15:42:24 2022 ] Load weights from ./runs/ntu_cv_agcn_bone-49-29400.pdparams.
[ Sun Apr 24 15:42:24 2022 ] Model:   paddle_model.agcn.Model.
[ Sun Apr 24 15:42:24 2022 ] Weights: ./runs/ntu_cv_agcn_bone-49-29400.pdparams.
[ Sun Apr 24 15:42:24 2022 ] Eval epoch: 1
100%|███████████████████████████████████████████████████████████████| 74/74 [01:56<00:00,  1.57s/it]
Accuracy:  0.9387280794422143  model:  ./runs/ntu_cv_agcn_test_bone
[ Sun Apr 24 15:44:21 2022 ] 	Mean test loss of 74 batches: 0.23004150390625.
[ Sun Apr 24 15:44:21 2022 ] 	Top1: 93.87%
[ Sun Apr 24 15:44:21 2022 ] 	Top5: 99.09%
[ Sun Apr 24 15:44:21 2022 ] Done.

In [23]

# xview双流融合
!python work/2s_AGCN/ensemble.py --datasets xview
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 60211.13it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54920.26it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55402.22it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54944.35it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55047.00it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55069.10it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54811.80it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54779.88it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54915.55it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54684.78it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54665.58it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54455.38it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54601.00it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54458.74it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54761.45it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54719.79it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54895.96it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54867.02it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54847.16it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54987.04it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54911.33it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54404.94it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54165.39it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54760.54it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54554.64it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54490.36it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54465.65it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54403.07it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54965.88it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54628.72it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54869.37it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54843.07it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54350.90it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54049.32it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54587.34it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54421.19it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54660.46it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54397.93it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54867.66it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55061.31it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54809.49it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55060.09it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54858.68it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55058.83it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54951.99it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54905.67it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54934.28it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54832.43it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54895.58it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54736.76it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54982.01it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54676.42it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54710.59it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54727.97it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54693.63it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54893.11it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55106.94it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54791.60it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54714.51it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54928.46it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54880.90it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54804.42it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54816.56it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54381.76it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54411.57it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54600.93it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54411.46it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54459.86it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54541.67it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54497.24it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54900.59it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54620.08it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55352.05it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55001.66it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55251.23it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54903.02it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55222.18it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54981.90it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54969.11it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54977.94it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55067.50it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 55066.12it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54775.88it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54662.19it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54511.34it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54820.80it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54438.54it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54295.27it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54879.42it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54615.27it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54707.72it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54414.63it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54326.29it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54445.41it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54538.60it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54433.32it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54194.59it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 53652.10it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54328.26it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54024.47it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54339.90it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54489.91it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54132.49it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54387.42it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54091.81it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 53924.75it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 53950.14it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 53962.71it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54028.62it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54073.10it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54166.86it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54146.36it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54503.30it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54273.56it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54251.68it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54277.49it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54405.53it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54276.27it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54423.43it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54447.13it/s]
100%|██████████████████████████████████| 18932/18932 [00:00<00:00, 54076.63it/s]
acc:  0.954 acc5:  0.993

6 静态模型导出与推理部分(以xview-joint为例)

In [8]

# 静态模型导出
!python work/2s_AGCN/export_model.py --save_dir ./output --model_path runs/ntu_cv_agcn_joint-38-22932.pdparams --batch 10
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 15:50:24.107364  4147 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 15:50:24.111958  4147 device_context.cc:465] device: 0, cuDNN Version: 7.6.
Loaded trained params of model successfully.
Model is saved in ./output.

In [14]

# 生成小数据集
!python work/2s_AGCN/data_gen/gen_infer_sample_data.py --dataset 'xview' --mode 'joint' --data-num 50
Successfully generate tiny dataset

In [19]

# 模型静态推理
# 这里需要安装autolog
# 终端运行下列命令
# git clone https://github.com/LDOUBLEV/AutoLog
# cd AutoLog/
# pip3 install -r requirements.txt
# python3 setup.py bdist_wheel
# pip3 install ./dist/auto_log-1.2.0-py3-none-any.whl

!python work/2s_AGCN/infer.py --data_file xview/tiny_infer_data.npy --label_file xview/tiny_infer_label.pkl --model_file ./output/model.pdmodel --params_file ./output/model.pdiparams
Inference model(2sAGCN)...
--- Running analysis [ir_graph_build_pass]
--- Running analysis [ir_graph_clean_pass]
--- Running analysis [ir_analysis_pass]
--- Running IR pass [simplify_with_basic_ops_pass]
--- Running IR pass [layer_norm_fuse_pass]
---    Fused 0 subgraphs into layer_norm op.
--- Running IR pass [attention_lstm_fuse_pass]
--- Running IR pass [seqconv_eltadd_relu_fuse_pass]
--- Running IR pass [seqpool_cvm_concat_fuse_pass]
--- Running IR pass [mul_lstm_fuse_pass]
--- Running IR pass [fc_gru_fuse_pass]
---    fused 0 pairs of fc gru patterns
--- Running IR pass [mul_gru_fuse_pass]
--- Running IR pass [seq_concat_fc_fuse_pass]
--- Running IR pass [squeeze2_matmul_fuse_pass]
--- Running IR pass [reshape2_matmul_fuse_pass]
--- Running IR pass [flatten2_matmul_fuse_pass]
--- Running IR pass [map_matmul_v2_to_mul_pass]
I0424 16:10:55.630005  5660 fuse_pass_base.cc:57] ---  detected 1 subgraphs
--- Running IR pass [map_matmul_v2_to_matmul_pass]
I0424 16:10:55.643517  5660 fuse_pass_base.cc:57] ---  detected 60 subgraphs
--- Running IR pass [map_matmul_to_mul_pass]
--- Running IR pass [fc_fuse_pass]
I0424 16:10:55.654284  5660 fuse_pass_base.cc:57] ---  detected 1 subgraphs
--- Running IR pass [repeated_fc_relu_fuse_pass]
--- Running IR pass [squared_mat_sub_fuse_pass]
--- Running IR pass [conv_bn_fuse_pass]
--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]
I0424 16:10:55.776762  5660 fuse_pass_base.cc:57] ---  detected 15 subgraphs
--- Running IR pass [conv_transpose_bn_fuse_pass]
--- Running IR pass [conv_transpose_eltwiseadd_bn_fuse_pass]
--- Running IR pass [is_test_pass]
--- Running IR pass [runtime_context_cache_pass]
--- Running analysis [ir_params_sync_among_devices_pass]
--- Running analysis [adjust_cudnn_workspace_size_pass]
--- Running analysis [inference_op_replace_pass]
--- Running analysis [memory_optimize_pass]
I0424 16:10:55.845602  5660 memory_optimize_pass.cc:216] Cluster name : tmp_22  size: 7500
I0424 16:10:55.845667  5660 memory_optimize_pass.cc:216] Cluster name : x  size: 1800000
I0424 16:10:55.845671  5660 memory_optimize_pass.cc:216] Cluster name : tmp_86  size: 76800000
I0424 16:10:55.845675  5660 memory_optimize_pass.cc:216] Cluster name : matmul_v2_14.tmp_0  size: 50000
I0424 16:10:55.845678  5660 memory_optimize_pass.cc:216] Cluster name : batch_norm_18.tmp_2  size: 76800000
I0424 16:10:55.845682  5660 memory_optimize_pass.cc:216] Cluster name : conv2d_187.tmp_0  size: 76800000
I0424 16:10:55.845693  5660 memory_optimize_pass.cc:216] Cluster name : relu_7.tmp_0  size: 38400000
I0424 16:10:55.845698  5660 memory_optimize_pass.cc:216] Cluster name : batch_norm_19.tmp_2  size: 76800000
--- Running analysis [ir_graph_to_program_pass]
I0424 16:10:56.156455  5660 analysis_predictor.cc:714] ======= optimize end =======
I0424 16:10:56.176591  5660 naive_executor.cc:98] ---  skip [feed], feed -> x
I0424 16:10:56.187183  5660 naive_executor.cc:98] ---  skip [linear_1.tmp_1], fetch -> fetch
Batch action class Predict:  [0 1 2 3 4 5 6 7 8 9] Batch action class True:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Batch Accuracy:  1.0 Batch sample Name:  ['S001C001P001R001A001.skeleton', 'S001C001P001R001A002.skeleton', 'S001C001P001R001A003.skeleton', 'S001C001P001R001A004.skeleton', 'S001C001P001R001A005.skeleton', 'S001C001P001R001A006.skeleton', 'S001C001P001R001A007.skeleton', 'S001C001P001R001A008.skeleton', 'S001C001P001R001A009.skeleton', 'S001C001P001R001A010.skeleton']
Batch action class Predict:  [10 11 12 13 14 15 15 17 18 19] Batch action class True:  [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] Batch Accuracy:  0.9 Batch sample Name:  ['S001C001P001R001A011.skeleton', 'S001C001P001R001A012.skeleton', 'S001C001P001R001A013.skeleton', 'S001C001P001R001A014.skeleton', 'S001C001P001R001A015.skeleton', 'S001C001P001R001A016.skeleton', 'S001C001P001R001A017.skeleton', 'S001C001P001R001A018.skeleton', 'S001C001P001R001A019.skeleton', 'S001C001P001R001A020.skeleton']
Batch action class Predict:  [20 21 22 23 24 25 26 27 28 29] Batch action class True:  [20, 21, 22, 23, 24, 25, 26, 27, 28, 29] Batch Accuracy:  1.0 Batch sample Name:  ['S001C001P001R001A021.skeleton', 'S001C001P001R001A022.skeleton', 'S001C001P001R001A023.skeleton', 'S001C001P001R001A024.skeleton', 'S001C001P001R001A025.skeleton', 'S001C001P001R001A026.skeleton', 'S001C001P001R001A027.skeleton', 'S001C001P001R001A028.skeleton', 'S001C001P001R001A029.skeleton', 'S001C001P001R001A030.skeleton']
Batch action class Predict:  [30 31 32 33 34 35 36 37 44 39] Batch action class True:  [30, 31, 32, 33, 34, 35, 36, 37, 38, 39] Batch Accuracy:  0.9 Batch sample Name:  ['S001C001P001R001A031.skeleton', 'S001C001P001R001A032.skeleton', 'S001C001P001R001A033.skeleton', 'S001C001P001R001A034.skeleton', 'S001C001P001R001A035.skeleton', 'S001C001P001R001A036.skeleton', 'S001C001P001R001A037.skeleton', 'S001C001P001R001A038.skeleton', 'S001C001P001R001A039.skeleton', 'S001C001P001R001A040.skeleton']
Batch action class Predict:  [40 41 42 43 44 45 46 47 48 49] Batch action class True:  [40, 41, 42, 43, 44, 45, 46, 47, 48, 49] Batch Accuracy:  1.0 Batch sample Name:  ['S001C001P001R001A041.skeleton', 'S001C001P001R001A042.skeleton', 'S001C001P001R001A043.skeleton', 'S001C001P001R001A044.skeleton', 'S001C001P001R001A045.skeleton', 'S001C001P001R001A046.skeleton', 'S001C001P001R001A047.skeleton', 'S001C001P001R001A048.skeleton', 'S001C001P001R001A049.skeleton', 'S001C001P001R001A050.skeleton']
Infer Mean Accuracy:  0.96
[2022/04/24 16:11:43] root INFO: 

[2022/04/24 16:11:43] root INFO: ---------------------- Env info ----------------------
[2022/04/24 16:11:43] root INFO:  OS_version: Ubuntu 16.04
[2022/04/24 16:11:43] root INFO:  CUDA_version: 10.1.243
[2022/04/24 16:11:43] root INFO:  CUDNN_version: 7.3.1
[2022/04/24 16:11:43] root INFO:  drivier_version: 450.51.06
[2022/04/24 16:11:43] root INFO: ---------------------- Paddle info ----------------------
[2022/04/24 16:11:43] root INFO:  paddle_version: 2.2.2
[2022/04/24 16:11:43] root INFO:  paddle_commit: b031c389938bfa15e15bb20494c76f86289d77b0
[2022/04/24 16:11:43] root INFO:  log_api_version: 1.0
[2022/04/24 16:11:43] root INFO: ----------------------- Conf info -----------------------
[2022/04/24 16:11:43] root INFO:  runtime_device: cpu
[2022/04/24 16:11:43] root INFO:  ir_optim: True
[2022/04/24 16:11:43] root INFO:  enable_memory_optim: True
[2022/04/24 16:11:43] root INFO:  enable_tensorrt: False
[2022/04/24 16:11:43] root INFO:  enable_mkldnn: False
[2022/04/24 16:11:43] root INFO:  cpu_math_library_num_threads: 1
[2022/04/24 16:11:43] root INFO: ----------------------- Model info ----------------------
[2022/04/24 16:11:43] root INFO:  model_name: 2sAGCN
[2022/04/24 16:11:43] root INFO:  precision: fp32
[2022/04/24 16:11:43] root INFO: ----------------------- Data info -----------------------
[2022/04/24 16:11:43] root INFO:  batch_size: 10
[2022/04/24 16:11:43] root INFO:  input_shape: dynamic
[2022/04/24 16:11:43] root INFO:  data_num: 5
[2022/04/24 16:11:43] root INFO: ----------------------- Perf info -----------------------
[2022/04/24 16:11:43] root INFO:  cpu_rss(MB): 610.3164, gpu_rss(MB): None, gpu_util: None%
[2022/04/24 16:11:43] root INFO:  total time spent(s): 46.5481
[2022/04/24 16:11:43] root INFO:  preprocess_time(ms): 0.0716, inference_time(ms): 9308.9424, postprocess_time(ms): 0.6083

7 TIPC

In [24]

# 准备小数据集
!bash work/2s_AGCN/test_tipc/prepare.sh work/2s_AGCN/test_tipc/configs/2s-AGCN/train_infer_python.txt 'lite_train_lite_infer'
Successfully generate tiny dataset

In [30]

# 进行tipc  
# 生成日志见output文件夹
!bash work/2s_AGCN/test_tipc/test_train_inference_python.sh work/2s_AGCN/test_tipc/configs/2s-AGCN/train_infer_python.txt 'lite_train_lite_infer'
log_dir:  ./runs/ntu_cv_agcn_joint_infer already exist
Dir removed:  ./runs/ntu_cv_agcn_joint_infer
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 16:52:12.163314  9951 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 16:52:12.167570  9951 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[ Sun Apr 24 16:52:17 2022 ] Parameters:
{'work_dir': './work_dir/ntu/xview/agcn_joint_infer', 'model_saved_name': './runs/ntu_cv_agcn_joint_infer', 'config': 'work/2s_AGCN/config/nturgbd-cross-view/train_joint_infer.yaml', 'phase': 'train', 'save_score': False, 'seed': 1, 'log_interval': 100, 'save_interval': 1, 'eval_interval': 5, 'print_log': True, 'show_topk': [1, 5], 'feeder': 'feeders.feeder.Feeder', 'num_worker': 32, 'train_feeder_args': {'data_path': 'xview/tiny_infer_data.npy', 'label_path': 'xview/tiny_infer_label.pkl', 'debug': False, 'random_choose': False, 'random_shift': False, 'random_move': False, 'window_size': -1, 'normalization': False}, 'test_feeder_args': {'data_path': 'xview/tiny_infer_data.npy', 'label_path': 'xview/tiny_infer_label.pkl', 'debug': False}, 'model': 'paddle_model.agcn.Model', 'model_args': {'num_class': 60, 'num_point': 25, 'num_person': 2, 'graph': 'graph.ntu_rgb_d.Graph', 'graph_args': {'labeling_mode': 'spatial'}}, 'weights': None, 'ignore_weights': [], 'base_lr': 0.1, 'step': [29, 39], 'device': ['gpu:0'], 'optimizer': 'SGD', 'nesterov': True, 'batch_size': 16, 'test_batch_size': 64, 'start_epoch': 0, 'num_epoch': 1, 'weight_decay': 0.0001, 'only_train_part': False, 'only_train_epoch': 0, 'warm_up_epoch': 0, 'epochs': 1, 'output_dir': './log/2s-AGCN/lite_train_lite_infer/norm_train_gpus_0', 'pretrained': '.'}

[ Sun Apr 24 16:52:17 2022 ] Training epoch: 1
100%|███████████████████████████████████████████████████████████████| 31/31 [00:29<00:00,  1.05it/s]
[ Sun Apr 24 16:52:47 2022 ] 	Mean training loss: 5.4869.
[ Sun Apr 24 16:52:47 2022 ] 	Time consumption: [Data]13%, [Network]87%
[ Sun Apr 24 16:52:47 2022 ] Eval epoch: 1
100%|█████████████████████████████████████████████████████████████████| 8/8 [00:07<00:00,  1.06it/s]
Accuracy:  0.016  model:  ./runs/ntu_cv_agcn_joint_infer
[ Sun Apr 24 16:52:55 2022 ] 	Mean test loss of 8 batches: 7.629574775695801.
[ Sun Apr 24 16:52:55 2022 ] 	Top1: 1.60%
[ Sun Apr 24 16:52:55 2022 ] 	Top5: 11.40%
best accuracy:  0.016  model_name:  ./runs/ntu_cv_agcn_joint_infer
 Run successfully with command - python work/2s_AGCN/main.py --config work/2s_AGCN/config/nturgbd-cross-view/train_joint_infer.yaml --output-dir=./log/2s-AGCN/lite_train_lite_infer/norm_train_gpus_0 --epochs=1   --batch-size=16!  
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/graphml.py:346: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/networkx/readwrite/gexf.py:223: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  (np.int, "int"), (np.int8, "int"),
W0424 16:52:58.336398 10430 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 16:52:58.341156 10430 device_context.cc:465] device: 0, cuDNN Version: 7.6.
Loaded trained params of model successfully.
Model is saved in ./output.
 Run successfully with command - python work/2s_AGCN/export_model.py --model_path=./runs/best_model.pdparams --batch=10 --pretrained=./log/2s-AGCN/lite_train_lite_infer/norm_train_gpus_0/latest.pdparams --save-inference-dir=./log/2s-AGCN/lite_train_lite_infer/norm_train_gpus_0!  
W0424 16:53:12.405014 10588 analysis_predictor.cc:795] The one-time configuration of analysis predictor failed, which may be due to native predictor called first and its configurations taken effect.
--- Running analysis [ir_graph_build_pass]
--- Running analysis [ir_graph_clean_pass]
--- Running analysis [ir_analysis_pass]
--- Running IR pass [is_test_pass]
--- Running IR pass [simplify_with_basic_ops_pass]
--- Running IR pass [conv_affine_channel_fuse_pass]
--- Running IR pass [conv_eltwiseadd_affine_channel_fuse_pass]
--- Running IR pass [conv_bn_fuse_pass]
--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]
I0424 16:53:12.795188 10588 fuse_pass_base.cc:57] ---  detected 15 subgraphs
--- Running IR pass [embedding_eltwise_layernorm_fuse_pass]
--- Running IR pass [multihead_matmul_fuse_pass_v2]
--- Running IR pass [squeeze2_matmul_fuse_pass]
--- Running IR pass [reshape2_matmul_fuse_pass]
--- Running IR pass [flatten2_matmul_fuse_pass]
--- Running IR pass [map_matmul_v2_to_mul_pass]
I0424 16:53:12.822870 10588 fuse_pass_base.cc:57] ---  detected 1 subgraphs
--- Running IR pass [map_matmul_v2_to_matmul_pass]
I0424 16:53:12.834329 10588 fuse_pass_base.cc:57] ---  detected 60 subgraphs
--- Running IR pass [map_matmul_to_mul_pass]
--- Running IR pass [fc_fuse_pass]
I0424 16:53:12.843039 10588 fuse_pass_base.cc:57] ---  detected 1 subgraphs
--- Running IR pass [fc_elementwise_layernorm_fuse_pass]
--- Running IR pass [conv_elementwise_add_act_fuse_pass]
--- Running IR pass [conv_elementwise_add2_act_fuse_pass]
--- Running IR pass [conv_elementwise_add_fuse_pass]
--- Running IR pass [transpose_flatten_concat_fuse_pass]
--- Running IR pass [runtime_context_cache_pass]
--- Running analysis [ir_params_sync_among_devices_pass]
I0424 16:53:13.087102 10588 ir_params_sync_among_devices_pass.cc:45] Sync params from CPU to GPU
--- Running analysis [adjust_cudnn_workspace_size_pass]
--- Running analysis [inference_op_replace_pass]
--- Running analysis [memory_optimize_pass]
I0424 16:53:13.146816 10588 memory_optimize_pass.cc:216] Cluster name : relu_7.tmp_0  size: 38400000
I0424 16:53:13.146872 10588 memory_optimize_pass.cc:216] Cluster name : tmp_82  size: 76800000
I0424 16:53:13.146876 10588 memory_optimize_pass.cc:216] Cluster name : conv2d_183.tmp_1  size: 76800000
I0424 16:53:13.146880 10588 memory_optimize_pass.cc:216] Cluster name : tmp_49  size: 76800000
I0424 16:53:13.146883 10588 memory_optimize_pass.cc:216] Cluster name : tmp_99  size: 7500
I0424 16:53:13.146888 10588 memory_optimize_pass.cc:216] Cluster name : relu_3.tmp_0  size: 38400000
I0424 16:53:13.146891 10588 memory_optimize_pass.cc:216] Cluster name : x  size: 1800000
I0424 16:53:13.146894 10588 memory_optimize_pass.cc:216] Cluster name : relu_9.tmp_0  size: 38400000
--- Running analysis [ir_graph_to_program_pass]
I0424 16:53:13.448020 10588 analysis_predictor.cc:714] ======= optimize end =======
I0424 16:53:13.469202 10588 naive_executor.cc:98] ---  skip [feed], feed -> x
I0424 16:53:13.478816 10588 naive_executor.cc:98] ---  skip [linear_1.tmp_1], fetch -> fetch
Inference model(2sAGCN)...
W0424 16:53:13.585381 10588 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.0, Runtime API Version: 10.1
W0424 16:53:13.591403 10588 device_context.cc:465] device: 0, cuDNN Version: 7.6.
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [40, 41, 42, 43, 44, 45, 46, 47, 48, 49] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R001A041.skeleton', 'S001C001P004R001A042.skeleton', 'S001C001P004R001A043.skeleton', 'S001C001P004R001A044.skeleton', 'S001C001P004R001A045.skeleton', 'S001C001P004R001A046.skeleton', 'S001C001P004R001A047.skeleton', 'S001C001P004R001A048.skeleton', 'S001C001P004R001A049.skeleton', 'S001C001P004R001A050.skeleton']
Batch action class Predict:  [58 58 59 58 59 58 58 59 59 59] Batch action class True:  [50, 51, 52, 53, 54, 55, 56, 57, 58, 59] Batch Accuracy:  0.1 Batch sample Name:  ['S001C001P004R001A051.skeleton', 'S001C001P004R001A052.skeleton', 'S001C001P004R001A053.skeleton', 'S001C001P004R001A054.skeleton', 'S001C001P004R001A055.skeleton', 'S001C001P004R001A056.skeleton', 'S001C001P004R001A057.skeleton', 'S001C001P004R001A058.skeleton', 'S001C001P004R001A059.skeleton', 'S001C001P004R001A060.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A001.skeleton', 'S001C001P004R002A002.skeleton', 'S001C001P004R002A003.skeleton', 'S001C001P004R002A004.skeleton', 'S001C001P004R002A005.skeleton', 'S001C001P004R002A006.skeleton', 'S001C001P004R002A007.skeleton', 'S001C001P004R002A008.skeleton', 'S001C001P004R002A009.skeleton', 'S001C001P004R002A010.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A011.skeleton', 'S001C001P004R002A012.skeleton', 'S001C001P004R002A013.skeleton', 'S001C001P004R002A014.skeleton', 'S001C001P004R002A015.skeleton', 'S001C001P004R002A016.skeleton', 'S001C001P004R002A017.skeleton', 'S001C001P004R002A018.skeleton', 'S001C001P004R002A019.skeleton', 'S001C001P004R002A020.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [20, 21, 22, 23, 24, 25, 26, 27, 28, 29] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A021.skeleton', 'S001C001P004R002A022.skeleton', 'S001C001P004R002A023.skeleton', 'S001C001P004R002A024.skeleton', 'S001C001P004R002A025.skeleton', 'S001C001P004R002A026.skeleton', 'S001C001P004R002A027.skeleton', 'S001C001P004R002A028.skeleton', 'S001C001P004R002A029.skeleton', 'S001C001P004R002A030.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [30, 31, 32, 33, 34, 35, 36, 37, 38, 39] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A031.skeleton', 'S001C001P004R002A032.skeleton', 'S001C001P004R002A033.skeleton', 'S001C001P004R002A034.skeleton', 'S001C001P004R002A035.skeleton', 'S001C001P004R002A036.skeleton', 'S001C001P004R002A037.skeleton', 'S001C001P004R002A038.skeleton', 'S001C001P004R002A039.skeleton', 'S001C001P004R002A040.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 58] Batch action class True:  [40, 41, 42, 43, 44, 45, 46, 47, 48, 49] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A041.skeleton', 'S001C001P004R002A042.skeleton', 'S001C001P004R002A043.skeleton', 'S001C001P004R002A044.skeleton', 'S001C001P004R002A045.skeleton', 'S001C001P004R002A046.skeleton', 'S001C001P004R002A047.skeleton', 'S001C001P004R002A048.skeleton', 'S001C001P004R002A049.skeleton', 'S001C001P004R002A050.skeleton']
Batch action class Predict:  [58 58 58 58  4 58 58 58 59 59] Batch action class True:  [50, 51, 52, 53, 54, 55, 56, 57, 58, 59] Batch Accuracy:  0.1 Batch sample Name:  ['S001C001P004R002A051.skeleton', 'S001C001P004R002A052.skeleton', 'S001C001P004R002A053.skeleton', 'S001C001P004R002A054.skeleton', 'S001C001P004R002A055.skeleton', 'S001C001P004R002A056.skeleton', 'S001C001P004R002A057.skeleton', 'S001C001P004R002A058.skeleton', 'S001C001P004R002A059.skeleton', 'S001C001P004R002A060.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P005R001A001.skeleton', 'S001C001P005R001A002.skeleton', 'S001C001P005R001A003.skeleton', 'S001C001P005R001A004.skeleton', 'S001C001P005R001A005.skeleton', 'S001C001P005R001A006.skeleton', 'S001C001P005R001A007.skeleton', 'S001C001P005R001A008.skeleton', 'S001C001P005R001A009.skeleton', 'S001C001P005R001A010.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P005R001A011.skeleton', 'S001C001P005R001A012.skeleton', 'S001C001P005R001A013.skeleton', 'S001C001P005R001A014.skeleton', 'S001C001P005R001A015.skeleton', 'S001C001P005R001A016.skeleton', 'S001C001P005R001A017.skeleton', 'S001C001P005R001A018.skeleton', 'S001C001P005R001A019.skeleton', 'S001C001P005R001A020.skeleton']
Infer Mean Accuracy:  0.02
[2022/04/24 16:53:18] root INFO: 

[2022/04/24 16:53:18] root INFO: ---------------------- Env info ----------------------
[2022/04/24 16:53:18] root INFO:  OS_version: Ubuntu 16.04
[2022/04/24 16:53:18] root INFO:  CUDA_version: 10.1.243
[2022/04/24 16:53:18] root INFO:  CUDNN_version: 7.3.1
[2022/04/24 16:53:18] root INFO:  drivier_version: 450.51.06
[2022/04/24 16:53:18] root INFO: ---------------------- Paddle info ----------------------
[2022/04/24 16:53:18] root INFO:  paddle_version: 2.2.2
[2022/04/24 16:53:18] root INFO:  paddle_commit: b031c389938bfa15e15bb20494c76f86289d77b0
[2022/04/24 16:53:18] root INFO:  log_api_version: 1.0
[2022/04/24 16:53:18] root INFO: ----------------------- Conf info -----------------------
[2022/04/24 16:53:18] root INFO:  runtime_device: gpu
[2022/04/24 16:53:18] root INFO:  ir_optim: True
[2022/04/24 16:53:18] root INFO:  enable_memory_optim: True
[2022/04/24 16:53:18] root INFO:  enable_tensorrt: False
[2022/04/24 16:53:18] root INFO:  enable_mkldnn: False
[2022/04/24 16:53:18] root INFO:  cpu_math_library_num_threads: 1
[2022/04/24 16:53:18] root INFO: ----------------------- Model info ----------------------
[2022/04/24 16:53:18] root INFO:  model_name: 2sAGCN
[2022/04/24 16:53:18] root INFO:  precision: fp32
[2022/04/24 16:53:18] root INFO: ----------------------- Data info -----------------------
[2022/04/24 16:53:18] root INFO:  batch_size: 10
[2022/04/24 16:53:18] root INFO:  input_shape: dynamic
[2022/04/24 16:53:18] root INFO:  data_num: 10
[2022/04/24 16:53:18] root INFO: ----------------------- Perf info -----------------------
[2022/04/24 16:53:18] root INFO:  cpu_rss(MB): 2379.9609, gpu_rss(MB): 966.0, gpu_util: 4.0%
[2022/04/24 16:53:18] root INFO:  total time spent(s): 2.7791
[2022/04/24 16:53:18] root INFO:  preprocess_time(ms): 0.0588, inference_time(ms): 212.2346, postprocess_time(ms): 65.6204
 Run successfully with command - python work/2s_AGCN/infer.py --use-gpu=True --model-dir=./log/2s-AGCN/lite_train_lite_infer/norm_train_gpus_0 --batch-size=10   --benchmark=True > ./log/2s-AGCN/lite_train_lite_infer/python_infer_gpu_batchsize_10.log 2>&1 !  
--- Running analysis [ir_graph_build_pass]
--- Running analysis [ir_graph_clean_pass]
--- Running analysis [ir_analysis_pass]
--- Running IR pass [simplify_with_basic_ops_pass]
--- Running IR pass [layer_norm_fuse_pass]
---    Fused 0 subgraphs into layer_norm op.
--- Running IR pass [attention_lstm_fuse_pass]
--- Running IR pass [seqconv_eltadd_relu_fuse_pass]
--- Running IR pass [seqpool_cvm_concat_fuse_pass]
--- Running IR pass [mul_lstm_fuse_pass]
--- Running IR pass [fc_gru_fuse_pass]
---    fused 0 pairs of fc gru patterns
--- Running IR pass [mul_gru_fuse_pass]
--- Running IR pass [seq_concat_fc_fuse_pass]
--- Running IR pass [squeeze2_matmul_fuse_pass]
--- Running IR pass [reshape2_matmul_fuse_pass]
--- Running IR pass [flatten2_matmul_fuse_pass]
--- Running IR pass [map_matmul_v2_to_mul_pass]
I0424 16:53:21.991161 10754 fuse_pass_base.cc:57] ---  detected 1 subgraphs
--- Running IR pass [map_matmul_v2_to_matmul_pass]
I0424 16:53:22.005509 10754 fuse_pass_base.cc:57] ---  detected 60 subgraphs
--- Running IR pass [map_matmul_to_mul_pass]
--- Running IR pass [fc_fuse_pass]
I0424 16:53:22.017194 10754 fuse_pass_base.cc:57] ---  detected 1 subgraphs
--- Running IR pass [repeated_fc_relu_fuse_pass]
--- Running IR pass [squared_mat_sub_fuse_pass]
--- Running IR pass [conv_bn_fuse_pass]
--- Running IR pass [conv_eltwiseadd_bn_fuse_pass]
I0424 16:53:22.150542 10754 fuse_pass_base.cc:57] ---  detected 15 subgraphs
--- Running IR pass [conv_transpose_bn_fuse_pass]
--- Running IR pass [conv_transpose_eltwiseadd_bn_fuse_pass]
--- Running IR pass [is_test_pass]
--- Running IR pass [runtime_context_cache_pass]
--- Running analysis [ir_params_sync_among_devices_pass]
--- Running analysis [adjust_cudnn_workspace_size_pass]
--- Running analysis [inference_op_replace_pass]
--- Running analysis [memory_optimize_pass]
I0424 16:53:22.224970 10754 memory_optimize_pass.cc:216] Cluster name : tmp_22  size: 7500
I0424 16:53:22.225039 10754 memory_optimize_pass.cc:216] Cluster name : x  size: 1800000
I0424 16:53:22.225044 10754 memory_optimize_pass.cc:216] Cluster name : tmp_86  size: 76800000
I0424 16:53:22.225056 10754 memory_optimize_pass.cc:216] Cluster name : matmul_v2_14.tmp_0  size: 50000
I0424 16:53:22.225060 10754 memory_optimize_pass.cc:216] Cluster name : batch_norm_18.tmp_2  size: 76800000
I0424 16:53:22.225064 10754 memory_optimize_pass.cc:216] Cluster name : conv2d_187.tmp_0  size: 76800000
I0424 16:53:22.225068 10754 memory_optimize_pass.cc:216] Cluster name : relu_7.tmp_0  size: 38400000
I0424 16:53:22.225071 10754 memory_optimize_pass.cc:216] Cluster name : batch_norm_19.tmp_2  size: 76800000
--- Running analysis [ir_graph_to_program_pass]
I0424 16:53:22.581902 10754 analysis_predictor.cc:714] ======= optimize end =======
I0424 16:53:22.603775 10754 naive_executor.cc:98] ---  skip [feed], feed -> x
I0424 16:53:22.615039 10754 naive_executor.cc:98] ---  skip [linear_1.tmp_1], fetch -> fetch
Inference model(2sAGCN)...
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [40, 41, 42, 43, 44, 45, 46, 47, 48, 49] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R001A041.skeleton', 'S001C001P004R001A042.skeleton', 'S001C001P004R001A043.skeleton', 'S001C001P004R001A044.skeleton', 'S001C001P004R001A045.skeleton', 'S001C001P004R001A046.skeleton', 'S001C001P004R001A047.skeleton', 'S001C001P004R001A048.skeleton', 'S001C001P004R001A049.skeleton', 'S001C001P004R001A050.skeleton']
Batch action class Predict:  [58 58 59 58 59 58 58 59 59 59] Batch action class True:  [50, 51, 52, 53, 54, 55, 56, 57, 58, 59] Batch Accuracy:  0.1 Batch sample Name:  ['S001C001P004R001A051.skeleton', 'S001C001P004R001A052.skeleton', 'S001C001P004R001A053.skeleton', 'S001C001P004R001A054.skeleton', 'S001C001P004R001A055.skeleton', 'S001C001P004R001A056.skeleton', 'S001C001P004R001A057.skeleton', 'S001C001P004R001A058.skeleton', 'S001C001P004R001A059.skeleton', 'S001C001P004R001A060.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A001.skeleton', 'S001C001P004R002A002.skeleton', 'S001C001P004R002A003.skeleton', 'S001C001P004R002A004.skeleton', 'S001C001P004R002A005.skeleton', 'S001C001P004R002A006.skeleton', 'S001C001P004R002A007.skeleton', 'S001C001P004R002A008.skeleton', 'S001C001P004R002A009.skeleton', 'S001C001P004R002A010.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A011.skeleton', 'S001C001P004R002A012.skeleton', 'S001C001P004R002A013.skeleton', 'S001C001P004R002A014.skeleton', 'S001C001P004R002A015.skeleton', 'S001C001P004R002A016.skeleton', 'S001C001P004R002A017.skeleton', 'S001C001P004R002A018.skeleton', 'S001C001P004R002A019.skeleton', 'S001C001P004R002A020.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [20, 21, 22, 23, 24, 25, 26, 27, 28, 29] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A021.skeleton', 'S001C001P004R002A022.skeleton', 'S001C001P004R002A023.skeleton', 'S001C001P004R002A024.skeleton', 'S001C001P004R002A025.skeleton', 'S001C001P004R002A026.skeleton', 'S001C001P004R002A027.skeleton', 'S001C001P004R002A028.skeleton', 'S001C001P004R002A029.skeleton', 'S001C001P004R002A030.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [30, 31, 32, 33, 34, 35, 36, 37, 38, 39] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A031.skeleton', 'S001C001P004R002A032.skeleton', 'S001C001P004R002A033.skeleton', 'S001C001P004R002A034.skeleton', 'S001C001P004R002A035.skeleton', 'S001C001P004R002A036.skeleton', 'S001C001P004R002A037.skeleton', 'S001C001P004R002A038.skeleton', 'S001C001P004R002A039.skeleton', 'S001C001P004R002A040.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 58] Batch action class True:  [40, 41, 42, 43, 44, 45, 46, 47, 48, 49] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P004R002A041.skeleton', 'S001C001P004R002A042.skeleton', 'S001C001P004R002A043.skeleton', 'S001C001P004R002A044.skeleton', 'S001C001P004R002A045.skeleton', 'S001C001P004R002A046.skeleton', 'S001C001P004R002A047.skeleton', 'S001C001P004R002A048.skeleton', 'S001C001P004R002A049.skeleton', 'S001C001P004R002A050.skeleton']
Batch action class Predict:  [58 58 58 58  4 58 58 58 59 59] Batch action class True:  [50, 51, 52, 53, 54, 55, 56, 57, 58, 59] Batch Accuracy:  0.1 Batch sample Name:  ['S001C001P004R002A051.skeleton', 'S001C001P004R002A052.skeleton', 'S001C001P004R002A053.skeleton', 'S001C001P004R002A054.skeleton', 'S001C001P004R002A055.skeleton', 'S001C001P004R002A056.skeleton', 'S001C001P004R002A057.skeleton', 'S001C001P004R002A058.skeleton', 'S001C001P004R002A059.skeleton', 'S001C001P004R002A060.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P005R001A001.skeleton', 'S001C001P005R001A002.skeleton', 'S001C001P005R001A003.skeleton', 'S001C001P005R001A004.skeleton', 'S001C001P005R001A005.skeleton', 'S001C001P005R001A006.skeleton', 'S001C001P005R001A007.skeleton', 'S001C001P005R001A008.skeleton', 'S001C001P005R001A009.skeleton', 'S001C001P005R001A010.skeleton']
Batch action class Predict:  [59 59 59 59 59 59 59 59 59 59] Batch action class True:  [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] Batch Accuracy:  0.0 Batch sample Name:  ['S001C001P005R001A011.skeleton', 'S001C001P005R001A012.skeleton', 'S001C001P005R001A013.skeleton', 'S001C001P005R001A014.skeleton', 'S001C001P005R001A015.skeleton', 'S001C001P005R001A016.skeleton', 'S001C001P005R001A017.skeleton', 'S001C001P005R001A018.skeleton', 'S001C001P005R001A019.skeleton', 'S001C001P005R001A020.skeleton']
Infer Mean Accuracy:  0.02
[2022/04/24 16:55:33] root INFO: 

[2022/04/24 16:55:33] root INFO: ---------------------- Env info ----------------------
[2022/04/24 16:55:33] root INFO:  OS_version: Ubuntu 16.04
[2022/04/24 16:55:33] root INFO:  CUDA_version: 10.1.243
[2022/04/24 16:55:33] root INFO:  CUDNN_version: 7.3.1
[2022/04/24 16:55:33] root INFO:  drivier_version: 450.51.06
[2022/04/24 16:55:33] root INFO: ---------------------- Paddle info ----------------------
[2022/04/24 16:55:33] root INFO:  paddle_version: 2.2.2
[2022/04/24 16:55:33] root INFO:  paddle_commit: b031c389938bfa15e15bb20494c76f86289d77b0
[2022/04/24 16:55:33] root INFO:  log_api_version: 1.0
[2022/04/24 16:55:33] root INFO: ----------------------- Conf info -----------------------
[2022/04/24 16:55:33] root INFO:  runtime_device: cpu
[2022/04/24 16:55:33] root INFO:  ir_optim: True
[2022/04/24 16:55:33] root INFO:  enable_memory_optim: True
[2022/04/24 16:55:33] root INFO:  enable_tensorrt: False
[2022/04/24 16:55:33] root INFO:  enable_mkldnn: False
[2022/04/24 16:55:33] root INFO:  cpu_math_library_num_threads: 1
[2022/04/24 16:55:33] root INFO: ----------------------- Model info ----------------------
[2022/04/24 16:55:33] root INFO:  model_name: 2sAGCN
[2022/04/24 16:55:33] root INFO:  precision: fp32
[2022/04/24 16:55:33] root INFO: ----------------------- Data info -----------------------
[2022/04/24 16:55:33] root INFO:  batch_size: 10
[2022/04/24 16:55:33] root INFO:  input_shape: dynamic
[2022/04/24 16:55:33] root INFO:  data_num: 10
[2022/04/24 16:55:33] root INFO: ----------------------- Perf info -----------------------
[2022/04/24 16:55:33] root INFO:  cpu_rss(MB): 574.0977, gpu_rss(MB): None, gpu_util: None%
[2022/04/24 16:55:33] root INFO:  total time spent(s): 129.8639
[2022/04/24 16:55:33] root INFO:  preprocess_time(ms): 0.0537, inference_time(ms): 12985.7773, postprocess_time(ms): 0.5589
 Run successfully with command - python work/2s_AGCN/infer.py --use-gpu=False --model-dir=./log/2s-AGCN/lite_train_lite_infer/norm_train_gpus_0 --batch-size=10   --benchmark=True > ./log/2s-AGCN/lite_train_lite_infer/python_infer_cpu_batchsize_10.log 2>&1 !  

8 总结

通过此次论文复现赛,小组成员更加充分的理解了2s-AGCN的模型架构,从数据处理,到模型建立再到最后的模型训练以及文档的编写,我们得到了充分的训练。在比赛过程中,我们也更加深入的了解了paddle的框架以及使用,paddle的易用性和可拓展性与torch相比有过之而无不及,api文档更加通俗易懂,上手更快,不愧是国内顶尖的深度学习框架。同时,非常感谢百度飞浆团队提供的算力支持!

请点击此处查看本环境基本用法.
Please click here for more detailed instructions.

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐