基于pytorch深度框架构建的深度学习模型,之前服务器就我一个人使用的时候,GPU利用率可以稳定在80%,但是如果服务器有其他小伙伴使用或者使用过,我的程序运行起来,CPU和GPU利用率基本为0,我想会不会是缓存没有及时清理,可是当我执行echo 1 | sudo tee /proc/sys/vm/drop_caches清理缓存后,重新运行我程序(服务器两张显卡,也只有我一个人跑程序),程序依然跑不起来。不知道pytorch是否触碰了什么机制,导致读取数据的舒服非常慢,我使用的数据加载如下?
dataloader_train = DataLoaderX(dataset_train, batch_size=args.batch_size, shuffle=True,collate_fn=speech_collate,pin_memory=True,num_workers=4)#True
1 是不是程序有问题?
如果程序有问题那有些时候又能够正常跑起来,GPU利用率稳定在80%+算正常的吧。说代码没有问题,可是有些时候又确实GPU和CPU利用率都是0。
2 是不是其他小伙伴跑程序抢占了资源?
可是我让小伙伴都把程序停下来,我把缓存都清理掉,程序任然跑不起来速度,这又是啥原因呢?
我怀疑IO问题,可是这个又要怎么解决呢?各位小伙伴提提建议呗。