程式除錯日誌與經驗2019 10 10

2021-09-28 12:03:23 字數 1004 閱讀 8771

之前在寫retinal vessel和object detection的程式時,沒有總結除錯過程的問題。

先開始歸納總結過程中遇到的問題,防止以後遇到再次耗費大量時間

1. keras儲存與載入模型(json+hdf5)

這符合retinal vessel程式中,基於tensorflow backend 的keras的框架。在程式的最開始定義了g和d,因此只需要使用g.load_weights(『model.json.h5』)裝載訓練完後的network parameters。然後就可以繼續訓練或者是做prediction。(checkpoint的步驟類似於此,可自定義選擇標準,做判斷然後選擇是否儲存)。

2.1 opencv-python:影象尺寸、影象的讀取、顯示、儲存與複製

2.2 opencv–影象上取樣和降取樣

在retinal vessel處理高resolution images的時候,考慮到計算力限制。經過試驗,880×880的image batchsize只能取1。而hrf的解析度在3500×2500左右,因此需要預先下取樣,根據以往**設定,將training dataset中images和labels,以及test dataset中的images全都下取樣4倍,然後考慮到u-net結構計算值下取樣16倍,因此需要padding成16倍的整數,最後取成880×592(這幾乎是batchsize取2的極限尺寸,和720×720類似)。

其中使用到了:

img = cv2.imread(dirfile)

size = img.shape

cv2.imwrite(f:/images』,image,[int(cv2.imwrite_jpeg_quality),5])三個引數分別對應儲存的路徑及檔名、影象矩陣、指定格式(對於jpeg,其表示的是影象的質量)

void pyrdown(inputarray src, outputarray dst, const size& dstsize=size(), int bordertype)

程式除錯經驗

現代由於有高階偵錯程式,使得我們程式設計起來可以相當容易解決問題 但是如果是編寫併發量大的服務程式,我們如何進行除錯呢?在併發量高峰期才能體現出程式的健壯性?以下就是我除錯程式的經驗總結 1.對於服務端的程序如何進行判斷服務端是否有記憶體洩露的情況,儘管我們會對記憶體進行優化和 在windows下我...

程式除錯的利器 日誌

如果世界上有乙個人能夠保證一次寫出來的 是百分之百正確的,那麼毫無疑問,他一定是世界上最優秀的程式設計師,沒有之一。為什麼要求 寫好過後要進行充分的自測 包括單元測試和整合測試 就因為是人皆會犯錯,使程式就會有 bug 作為一名軟體開發人員,必須要學會對程式進行測試,也就是要學會程式的除錯。一般而言...

程式除錯的利器 日誌

原文 如果世界上有乙個人能夠保證一次寫出來的 是百分之百正確的,那麼毫無疑問,他一定是世界上最優秀的程式設計師,沒有之一。為什麼要求 寫好過後要進行充分的自測 包括單元測試和整合測試 就因為是人皆會犯錯,使程式就會有 bug 作為一名軟體開發人員,必須要學會對程式進行測試,也就是要學會程式的除錯。一...