pytorch学习笔记一
cv2.imshow的输出和cv2.imwrite不相同问题:
imshow展示的数据需要归一化处理,数据范围0~1
imwrite数据范围是0~255
cv2.imshow('edge.jpg', edge_detect) # 需要修改为 cv2.imshow('edge.jpg', edge_detect/255)
cv2.waitKey(0)
cv2.imwrite('./out/%s-[111,000,-1-1-1].jpg'%imgname.split('.')[0], edge_detect)
imshow显示图片:
imwrite显示图片:
全连接层输入问题(RuntimeError: mat1 and mat2 shapes cannot be multiplied):
问题展示:
RuntimeError: mat1 and mat2 shapes cannot be multiplied (3822x1700 and 6497400x10)
解决方案:
参考:https://blog.csdn.net/qq_42079689/article/details/102873766
问题出现原因是全连接层的输入是二维张量,输入数据需要进行一次转换。
# edge_detect 维度1*3*1274*1700
edge_detect1=edge_detect.view(1*1274*1700*3)
# edge_detect1 维度6497400