如何避免这8个常见的深度学习/计算机视觉错误?

人是不完美的,我们经常在程序中犯错误。有时这些错误很容易发现:你的代码根本不能工作,你的应用程序崩溃等等。但是有些bug是隐藏的,这使得它们更加危险。在解决深度学习问题时,由于一些不确定性,很容易出现这种类型的bug:很容易看到web应用端点路由请求是否正确,而不容易检查你的梯度下降步骤是否正确。然而,在dl从业者生涯中有很多错误是可以避免的。我想分享一些我的经验,关于我在过去两年的计算机视觉工作中看到或制造的错误。我在会议上谈到过这个话题,很多人在会后告诉我:“是的,伙计,我也有很多这样的错误。”我希望我的文章可以帮助你至少避免其中的一些问题。1.翻转图像和关键点假设一个关键点检测问题的工作。它们的数据看起来像图像和一系列关键点元组,例如[(0,1),(2,2)],其中每个关键点是一对x和y坐标。让我们对这个数据实现一个基本的数据增强:defflip_img_and_keypoints(img:np.ndarray,kpts:sequence[sequence[int]]):img=np.fliplr(img)h,w,*_=img.shapekpts=[(y,w-x)fory,xinkpts]returnimg,kpts看起来好像是正确的,嗯,让我们把结果可视化一下:mage=np.ones((10,10),dtype=np.float32)kpts=[(0,1),(2,2)]image_flipped,kpts_flipped=flip_img