错误总结
cuda out of memory
出现这个问题,我的原因是图片太大,显卡无法直接处理,因此需要对图片进行二次裁剪。
图片中是因为代码出了问题,没有裁剪成功。不过6000*4000的图片对于显卡来说可能太大了。
PILImage的问题
这个问题的原因,我将tensor格式的图片转为PILImage依然出现问题,即处理的结果是transformers.PILImage问题。
目前我的解决方案是:
将tensor转为ndarray,再将ndarray转为PILImage。则不会出现transformers.PILImage问题。
tensor类型的问题
这个报错的原因是因为没有将image转成想要的tensor格式,需要检查自己的transforms操作是否正确。
__call__函数进行返回的时候显示未定义
UnboundLocalError: local variable 'image' referenced before assignment.
这里出现问题的原因是我设置了if语句时,对输入的变量进行重新定义。return却在if语句的前面。
image.copy()的中重要性
图像进行Flip增广操作之后的ndarray的存储格式是不连续的,因此会影响之后的输入,下面 是发生的报错情况。
ValueError: some of the strides of a given numpy array are negative.
所以利用copy()语法可以使内存重新变为连续。
ValueError: The ‘VI’ parameter is required for the mahalanobis metric when Y is passed.
解决方案:scikit-learn的版本需要改为0.23.2