stgcn使用

## 四、使用

e:
cd E:/projects/st-gcn
activate stgcn

测试:

python main.py demo  --openpose E:/projects/openpose/build/x64/Release  --video E:/projects/st-gcn/resource/media/clean_and_jerk.mp4

 

python main.py demo_old  --openpose E:/projects/openpose/build/x64/Release  --video E:/projects/st-gcn/resource/media/dance.mp4

1.测评官方的xview模型


python main.py recognition -c config/st_gcn/ntu-xview/test.yaml --test_batch_size 5 --device 0  


stgcn使用_第1张图片


2.训练自己的模型

 

python main.py recognition -c config/st_gcn/kinetics-skeleton/train.yaml   --batch_size 5 --device 0

 

python main.py recognition -c config/st_gcn/ntu-xview/train.yaml   --batch_size 5 --device 0

评估:(把test.yaml里的weight换成自己训练的需要评估的模型)

python main.py recognition -c config/st_gcn/kinetics-skeleton/test.yaml   --batch_size 5 --device 0

 

python main.py recognition -c config/st_gcn/ntu-xview/test.yaml 
 --device 0 --test_batch_size 5

stgcn使用_第2张图片

我的batch_size从默认的256运行报错:RuntimeError: CUDA out of memory. Tried to allocate 352.00 MiB (GPU 0; 6.00 GiB total capacity; 3.97 GiB already allocated; 94.63 MiB free; 212.52 MiB cached)

慢慢下调为5终于训练起来了,19:50开始的,我试试--num_epoch为40要训练多久。

期待结果...

 

stgcn使用_第3张图片

 

成功前我修改后的最后参数如下:

stgcn使用_第4张图片

 

噢噢!!才4轮内存又不足了。。。。

stgcn使用_第5张图片

 

 

继续改小轮数为2再来一遍。

如果报错:

1.OverflowError: cannot serialize a bytes object larger than 4 GiB

 

就修改protocol = 4

2.

GPU跑模型报错
RuntimeError: CUDA out of memory. Tried to allocate 38.00 MiB (GPU 0; 10.76 GiB total capacity; 9.71 GiB already allocated; 5.56 MiB free; 9.82 GiB reserved in total by PyTorch)

应该有三个原因

  1. GPU还有其他进程占用显存,导致本进程无法分配到足够的显存
  2. 缓存过多,使用torch.cuda.empty_cache()清理缓存
  3. 卡不行,换块显存更大的卡吧


 

 

 

 

你可能感兴趣的:(stgcn使用)