2023年8月15日 星期二

忙了一天,就為了這個心累的 Bug

我是個很喜歡整理 Code 的人,為了程式碼美觀,我習慣把 Code 整理成一個又一個小函數。

今天遇到一個奇怪的 Bug,坦白說我還不知道為什麼,但我知道如何避免。

我有一個小函數是把作完運算的 np array 透過 np.save 儲存起來,下次 main 函數如果有帶 arg,就會改以 np.load 的方式取得原本 array,這樣可以節省我的開發時間避免重覆運算。

我的問題就是如果使用這種方式來取得之前計算好的 array,感覺我的值都是錯的?故我後續的計算也都是錯的。

解決方式就是把取值 Code 寫在 main 函數,不要透過函數存取 np array。

2023/08/17 更新

搞了半天,原來是自己犯了個低級錯誤,我總共回傳了 4 個 numpy array,其中一個名字尾碼重覆多打了一遍,由於我這些 numpy array 是電腦視覺相關的又有分左右不同,故名字都會取特別長以利區分,一眼望去不容易找到這種錯誤,害我一直往 stack overflow 或是需要轉換型別的地方去想。

不知道換一個 IDE 就能避免這種低級錯誤嗎?但我還是覺得 UltraEdit 最好用!我可是傳說中在十二年間買了兩套 UltraEdit 的男人呀XD

沒有留言:

張貼留言