Pycharm调试代码报Frames are not available问题

  在使用linux训练神经网的时候,正常的训练代码不会报任何错误,但是在调试的时候只能跳转到断点处就不能往后运行了,但是windows就可以,遇到太多次了,为什么会出现这个问题呢?今天终于把这个问题给解决了,记录一下。
  在linux训练的时候我们是可以使用多线程的,如下代码中的num_workers=8,我们知道windows在训练网络的时候不支持多线程,所以在使用windows训练的时候我们这里的线程设置的是0,也就是不管你是调试还是直接运行他都是线程为0。但是linux是支持多线程的,通常我们在训练的时候会设置线程数大于1。但是调试的时候会出问题,我Pycharm调试界面只支持主进程,线程开了之后就不能用了。

    train_data_loader = torch.utils.data.DataLoader(train_dataset,
                                                    batch_size=batch_size,
                                                    shuffle=True,
                                                    num_workers=8,
                                                    collate_fn=train_dataset.collate_fn,
                                                    drop_last=drop_last)

解决办法很简单,直接运行的时候线程该多少就多少不用管,但是在调试的时候把他设置为0就行了。

    train_data_loader = torch.utils.data.DataLoader(train_dataset,
                                                    batch_size=batch_size,
                                                    shuffle=True,
                                                    num_workers=0,
                                                    collate_fn=train_dataset.collate_fn,
       

猜你喜欢

转载自blog.csdn.net/qq_38683460/article/details/131163997