记录一下我的比较离谱的错误,如果有相同的问题可以参考一下。
在我训练网络的过程中报了这样的错误:
在这段报错中,我一开始只是从最后面的报错看错误:
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`
我在网络上和GPT上搜索都是说什么版本错误,这个一定要注意,不要觉得版本很容易出现问题,在Debug的时候,版本是最后考虑的事情。
实际上需要关注的是上面的 t < classes 部分,这个部分表示了网络训练出来的类的数量是小于数据集中的数量的。
通俗一点就是网络中训练了5类出来,但是数据集中有10类,这导致loss无法计算了。虽然网络训练20类,数据集10类还是可以把训练跑起来的,这样的情况就不能把训练跑起来了。所以只要去修改全连接层的最后汇集的类的数量就可以解决这个问题。
希望可以帮助到你,我也是有点脑壳抽风所以才会出现这样的问题,如果能对看到的你Debug有帮助我也很开心