最近跑代码遇到的几个问题

错误总结

  • cuda out of memory
  • PILImage的问题
  • tensor类型的问题
  • __call__函数进行返回的时候显示未定义
  • image.copy()的中重要性
  • ValueError: The 'VI' parameter is required for the mahalanobis metric when Y is passed.

cuda out of memory

出现这个问题,我的原因是图片太大,显卡无法直接处理,因此需要对图片进行二次裁剪。
图片中是因为代码出了问题,没有裁剪成功。不过6000*4000的图片对于显卡来说可能太大了。
最近跑代码遇到的几个问题_第1张图片

PILImage的问题

这个问题的原因,我将tensor格式的图片转为PILImage依然出现问题,即处理的结果是transformers.PILImage问题。
目前我的解决方案是:
将tensor转为ndarray,再将ndarray转为PILImage。则不会出现transformers.PILImage问题。

tensor类型的问题

这个报错的原因是因为没有将image转成想要的tensor格式,需要检查自己的transforms操作是否正确。

__call__函数进行返回的时候显示未定义

UnboundLocalError: local variable 'image' referenced before assignment.

最近跑代码遇到的几个问题_第2张图片
这里出现问题的原因是我设置了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

你可能感兴趣的:(transformer,深度学习)