Deep Learning

Keras: 用 Unet 學習資料讀取及抽換資料 …

以前自已摸索深度學習時,都是使用現成的資料集去實作相關程式碼,例如 MNIST 數字集、Cifar10 …等,網路上也充斥各種範例程式,雖然可以很快去完成一支訓練程式,很輕鬆的建構出神經網路架構 (ctrl+c ctrl+v),殊不知,讀資料才是最重要的XD 也因為對於資料讀取這件事不夠了解,所以要換成自己的資料就卡關了,也不知道如何製作輸入影像及標記資料,間接導致換資料變得很困難,至少對於一些本身背景就不是寫程式的人更是如此,也因此我們除了學習相關 API 之外,也應該學習如何建立及讀取資料。 本文使用 tensorflow2 + keras API 實作 Unet 架構,並嘗 …

Python:匿名函式 lambda …

用法 lambda 輸入參數: 運算式 ie. 基本範例 add1 = lambda x: x+1 print(add1(10)) # 會印出 11 ie. 進階範例 其實只是用tensorflow.data.Dataset中,用到map這個function時,可以搭配lambda來輸入外部參數,我也不知道算不算進階XD def parse_fn(dataset, **kwargs): x = dataset["image"] y = dataset["label"] x = tf.cast(x, tf.float32) / 255.0 if …

Complex-value …

Complex-value Convolutional Neural Network with KERAS 文章開始前,首先感謝 臺師大光電所 鄭超仁老師、逢甲大學 林立謙老師的指導,也感謝碩班期間和我一起研究的黃彥傑學長、王炫棨同學、劉吉富同學,一同開發出 Complex-Valued Convolutional Neural Network 相關程式。 本文閱讀須知 本文主要目的是分享一些開發經驗,將當時的思考方式跟做法提供各位參考,所以不會去講很難的數學模型、理論推導等讓人摸不著頭緒的東西,盡可能以最簡單的方式進行說明,快速了解一些基本概念後,能夠找到開發程式的方向。 在正文開始前,我會 …

Keras:取出權重與設定權重

前言 這陣子常需要把KERAS的weights取出來,然後在別的地方使用。 怕忘記先把作法記錄下來,也順便紀錄一下我自己如何執行存模型、載入模型的過程。 模型輸出與載入 這邊先假設我已經用KERAS訓練好一個模型,那我會把訓練好的模型輸出幾種檔案,等需要進行預測時,直接載入這些檔案即可。 模型架構 conv » relu » pool » flat » fc1 » relu » dropout » fc2 » softmax from tensorflow.keras import layers …

python re 正則化表達式搜尋

前言 如果說今天許多檔案的命名具有一定規則時,代表這些檔案是有一些關係存在,要是這些檔案數量超過好幾百、好幾千筆、甚至好幾萬筆,這些規則可以幫助我們快速找到資料。那要如何根據命名規則來快速篩選檔案呢?對於 Python 來說,可以使用 re 正則表達式,來幫助我們完成上面的工作。 string_rule = r"\d\d\d" rule = re.complie(string_rule ) results = rule.search(rule, msg) 可以直接套用 re 模組的函數,就不用先 re.complie(r"string_rule") …

TensorFlow:tf.data.Datase …

上一篇文章已經介紹了 tf.data.Dataset 這個 API,也找出我最常用的兩個方式,一個是 tf.data.Dataset.from_tensor_slices,另一個是 tf.data.Dataset.from_generator。 但是我在複習相關程式碼過程中,發現其實只要用**tf.data.Dataset.from_tensor_slices,**就能滿足我所有需求了。 資料讀取的情況,我目前大致分成三種: 先用 NumPy Array 進行前處理,再轉成 Dataset 形式。 先把 NumPy Array 轉成 Dataset 形式,再使用 map() 函數進行前處理。 …