ps:本来今天就要开始将讲解deeplung代码的可惜测试的时候老是出现问题。
这个问题是测试的时候老出现测试到一半就卡主不动了。注意没有报错(88个ct,到43个就不动了但是显存还是占着)。下面是尝试:
1.首先直接在网上找发现没什么参考资料。
2.没办法接着只能尝试下是不是数据问题,把数据等分分成两批测试,发现没有问题。这就排除了数据问题导致的。
3.我后来搜索‘torch卡死’发现了这篇博客https://blog.csdn.net/jacke121/article/details/80914798,但按照它的说法改不了啊。(我是多个变量怎么改成,batch_i和samples两个不够啊!)
4.后来跟师傅一讨论发现可能是显存问题,就找到了这篇博客https://blog.csdn.net/a362682954/article/details/83743961,然后在测试循环中加了
torch.cuda.empty_cache() 可以清除没有用的显存占用.
最后发现居然报错没有这个模块。只能换pytorch版本。我们从0.1.12版换到了0.2,0.3,0.4版都换了遍。torch.cuda.empty_cache()这个模块是有了,但是还是报错显存不够。
5.接着再将报出的错误拿去搜索发现只要将
test_loader = DataLoader( dataset, batch_size = 1, shuffle = False, num_workers = args.workers, collate_fn = data.collate, pin_memory=False)
里 num_workers = args.workers改为num_workers=0就ok了不用多线程。
感想:应该是我用到torch版本太低,错误显存占满也不报错没有对应答案。有时候升级版本还是很重要的。