gpt4 book ai didi

unit-testing - 单元测试机器学习代码

转载 作者:行者123 更新时间:2023-11-30 08:20:34 25 4
gpt4 key购买 nike

我正在为我的计算机视觉论文编写一个相当复杂的机器学习程序。它运行得相当好,但我需要继续尝试新事物并添加新功能。这是有问题的,因为当我扩展代码或尝试简化算法时,有时会引入错误。

显然正确的做法是添加单元测试,但尚不清楚如何执行此操作。我的程序的许多组件都会产生一些主观的答案,并且我无法自动进行健全性检查。

例如,我有一些代码用较低分辨率的曲线来近似曲线,这样我就可以在较低分辨率的曲线上进行计算密集型工作。我不小心在这段代码中引入了一个错误,当我整个程序的结果变得稍微糟糕时,我才通过艰苦的搜索才发现了它。

但是,当我尝试为其编写单元测试时,不清楚我应该做什么。如果我制作一条具有明显正确的低分辨率版本的简单曲线,那么我并没有真正测试所有可能出错的地方。如果我制作一条简单的曲线,然后稍微扰动这些点,我的代码就会开始产生不同的答案,即使这段特定的代码现在看起来确实工作正常。

最佳答案

您可能不喜欢这种讽刺,但基本上您拥有的是遗留代码:没有任何单元测试的软件 block 。你自然不知道从哪里开始。因此,您可能会发现阅读有关处理遗留代码的内容很有帮助。

关于这一点的明确想法是 Michael Feather 的书,有效地处理遗留代码。 ObjectMentor 网站上曾经有过有用的总结​,但可惜该网站已经走上了该公司的道路。然而,WELC 在评论和其他文章中留下了遗产。 Check them out (or just buy the book) ,尽管 S.Lott 和 tvanfosson 在他们的回复中涵盖了关键的教训。

<小时/>

2019 年更新:我已使用 Wayback Machine 网络存档中的版本修复了 WELC 摘要的链接(感谢 @milia)。

此外 - 尽管知道主要包含其他网站链接的答案是低质量的答案:) - 这里是 a new (2019 new) Google tutorial on Testing and Debugging ML code 的链接。我希望这对 future 偶然发现这个答案的探索者有所启发。

关于unit-testing - 单元测试机器学习代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com