分享
Scan me 分享到微信

行者AI团队 修复世界级开源项目BUG!!

行者AI团队技术专家杨浩及时修复gradio undo bug,并成功被gradio作者merge到主分支!

行者AI SD社区版客户反馈生图bug后,行者AI团队技术专家杨浩及时修复gradio undo bug,并成功被gradio作者merge到主分支!

在一条对他的评价中说到:“杨浩同学的卓越工作和精湛技能,修复了世界级开源项目的bug,为整个团队树立了榜样。这不仅仅是行者AI一小步,更是人类人工智能事业迈出的一大步。他的贡献将对未来的技术发展产生深远影响!”

泰伯网

01:解决客户的问题是我们的义务

Q:您是如何发现这个bug的?它是通过用户反馈还是您自己的测试发现的?

“这个bug是由我们sd社区版客户反馈的, 既然是客户使用我们产品遇到了问题, 我们团队就有解决该问题的义务。 为此团队内部专门开会针对sd社区版进行版本优化的迭代开发,每个问题都有相应的技术人员去解决,因此该bug由我负责解决。”


02:发现bug、攻克问题

Q:请介绍下Gradio的undo bug具体问题是什么?修复这个bug的过程中遇到了哪些挑战和问题?

该问题主要提现在:sd社区版 -> 图生图 -> 绘图/局部重绘/局部重绘(手涂蒙版)功能 -> 上传图片以后我们会需要对图片进行画线绘制,undo按钮就是在你当前绘制出错时,想要撤销当前绘制。但是点击undo按钮, 当前绘制的结果表面上撤销了, 上传到服务器的时候仍是错误的结果图片。

修复这个bug最大的问题是:在一个陌生开发环境中进行代码调试,然后需要在gradio中定位bug相应的代码模块。

gradio框架是提供给算法工程师快速搭建前端界面的python框架,主要采用python和前端svelte框架进行开发。当时我并没有学习过python和svelte,所以我花了一天的时间学习了python和svelte语法,达到能够进行阅读的程度我就开始本地启动gradio项目。由于没有python开发经验, 所以在如何启动python框架以及学习python代码调试上花费了很多时间。

定位该bug的代码模块:因为gradio是由python代码对前端组件进行了封装,所以为了定位前端问题我把整个gradio渲染前端组件的流程都大概了解了一遍,然后找到底层Js模块,对代码进行修改打包之后验证确认是该Js模块之后,算是定位到了bug的代码模块。


03:解决问题,并得到作者感谢!

 Q:您是如何解决这个bug的?可以分享一下您的经验吗?

解决过程:gradio在实现该功能代码中使用了3个canvas来保存不同图片的数据,在定位到代码模块以后开始进行源码阅读,然后理清楚代码逻辑以后进行断点调试,通过界面上不断点击undo按钮复现bug然后断点查看当前状态中3个canvas的数据变化情况找到对应问题。

在修复bug以后我给gradio提了个pull request,我把每一个操作流程以图文形式进行了详细的阐述。第二天收到了作者的感谢:“Looks great! Thanks for the detailed reproduction steps and the fix @AmyOrz!”

04:基础组件bug、影响范围很大

Q:您修复的这个bug对Gradio的整体功能和用户体验有何影响?

因为gradio提供给算法工程师的是基础组件, 所以任何使用gradio该组件的应用都会有此bug,SD只是其中一个应用。该bug导致了用户的出图结果,已经对应用造成了很大的影响,主要他在绘图过程中点击了undo就会导致错误的结果。所以我觉得该bug对gradio影响挺大的。

05:不断积累并勇于克服困难是关键

Q:您在修复这个bug的过程中学到了什么?有没有什么经验或心得可以与其他开发者分享?

解决bug的方法主要靠长期解决问题所归纳总结出来的一套适用自己的方法论和面对未知困难的勇气。比如我最常用的就是控制变量法,首先你需要把所有会影响到当前结果的因素找到,然后控制住其他所有因素,只改变当前你想验证的因素对结果进行分析。

为什么会提到面对困难的勇气呢?因为我认为解决问题的能力是自己在学习工作中不断培养的,是不断解决自己的问题,亦或是帮助别人解决问题以后,不断复盘、归纳总结出来的一套思维模式。尤其是在帮助别人解决问题的过程中所有信息都是陌生的,需要你有勇气对困难剥丝抽茧,直到定位问题,解决问题.整个过程都充满了未知的恐惧,需要莫大的勇气面对。

杨浩作为技术专家,以其卓越的责任感和持续学习的精神,为客户带来了更高价值的服务。作为行者AI研发团队的一员,他一直致力于提升自己的实力,并积极参与团队的新产品研发工作。最近,他已经与团队共同研发一款名为"图刷刷"的AI绘图工具。

链接:https://tu.xingzheai.cn/

泰伯网

图刷刷是一款易用且高效的AI绘图工具。它不仅拥有文字生图图片生图高清放大局部重绘等基础的绘画功能,也具有ControlNetLora模型平铺扩散局部放大等专业绘画功能。

泰伯网

图刷刷内置大量模型供用户使用,同时也支持用户上传模型,除此之外图刷刷还具有流程化的模型训练功能,整个模型训练流程清晰且高效,依托强大的算力支撑,用户只需要通过:图片预处理、图片打标、训练参数配置、模型验证四步,即可随心定制训练自己的模型

泰伯网

现在注册图刷刷即可限时免费使用,免费期间无限制生图,更可免费炼丹训练模型!点击链接即刻体验!

链接:https://tu.xingzheai.cn/


参与评论

【登录后才能评论哦!点击

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回复{{item.replynum}}
    {{child.username}} 回复 {{child.to_username}}:{{child.content}}

行者AI

企业号

游戏行业从研发到营销的一站式AI赋能平台。

文章: 1
关注度: 2280

更多精选文章推荐

行者AI

企业号

游戏行业从研发到营销的一站式AI赋能平台。

文章: 1
关注度: 2280

泰伯APP
感受不一样的阅读体验
立即打开