Tensorflow

初探 TensorFlow Serving on …

前言 這是前一陣子要嘗試使用 TensorFlow Serving 的實作,但是過程踩不少坑,許多資料都是基於 Linux,而 Windows 的架設文章,我都無法完全照做,因此紀錄一下自己的過程,給想在 Windows 上練習的人能多一點參考XD。 內容其實是從其他網站參考出來,包括範例程式之類的,但是最重要的是自己實作過程,以及其中躍過的坑,這才是我要記錄的主要原因。 極簡介紹 TensorFlow Serving 顧名思義,就是將我們訓練好的模型,建置一個服務器 (伺服器) 來供用戶使用其功能,這也意味著,將會同時開放給多位用戶,甚至需要同時處理這些用戶的請求,正因如此,如果只是用一般的 …

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 …

Keras:取出權重與設定權重

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

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() 函數進行前處理。 …

TensorFlow:tf.data.Datase …

昨天花了些時間複習 tf.keras API (點我)。除了建個簡單的卷積神經網路 (Convolution Nerual Network, CNN),也丟了最簡單的 MNIST 數字集來訓練,很快就複習一遍相關的程式,反而整理程式寫文章花了許多時間QQ。雖說是複習 API,但還是試了不少新東西,但主要就是用 tf.data.Dataset 讀取資料的方式,所以就決定單獨寫一篇文章來紀錄一下。 tf.data.Dataset 先來看官方解說,內容就直接貼上來了。 The tf.data.Dataset API supports writing descriptive and efficient …