错误使用 fminbnd (第 109 行) 边界必须为标量。_300万行到100行:机器学习造就更好的开发体验...

全文共2693字,预计学习时长7分钟

aa6db6d7cf0f58a49607835b39444491.png

图源:unsplash

这个场景想想就很灾难了:为了找到发生在第100万行上的bug或回归,不得不在一个失败的软件构建中浏览2.5GB的日志条目(也就是300万行),这简直难以靠人工手动完成!

还好,有一个巧妙的方法能解救你——执行diff命令,将这些行与最近成功的软件构建进行对比,期望bug在日志中生成异常行。

标准的md5 diff命令执行速度很快,但它显示了行之间的字符级差异,因此仍然会生成至少数十万候选行以供浏览。使用机器学习中K-最邻近聚类的模糊diffing算法(logreduce所做的事情)能产生大约40000条候选行,但需要一个小时才能完成。

而我们的解决方案是在20分钟的计算时间内生成20000行候选行——而且得益于开放源码,只需要大约100行Python代码就能实现。

该应用程序结合了神经嵌入(将单词和句子中的语义信息进行编码)和局部敏感哈希算法(高效地将大致邻近的项分配到相同的储存器,而将远处的项分配到不同的储存器)。将嵌入式系统与LSH(Locality Sensitive Hashing,局部敏感哈希)结合是个不错的想法,而这一想法的诞生还不到十年!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值