Blogs

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 …

深度學習:複習 TensorFlow2 + …

這裡會學到 讀取 MNIST 資料 CNN 模型建立 訓練參數設定 評估、預測模型 有一些基本的東西這邊就不講了,像是 TensorFlow 環境建立、MNIST 資料集的介紹..等等,直接去看我之前的文章。 程式架構 分成三個檔案: MyModel.py MyTools.py mnist_ds.py 這些檔案可能會隨著我測試的東西而改變,所以檔案說明以 GITHUB 上的 README 為主,檔案用途會寫在上面。 程式流程 CNN 模型建立 讀取 MNIST 資料 載入模型、輸出模型架構 定義訓練參數 訓練模型 預測測試資料 評估測試資料 程式碼 一、CNN 模型建立 ( …

C 語言學習筆記 (七):函數用法

學習書籍:C 語言學習手冊 第四版。作者: 洪維恩 這是一篇記錄自己學習 C 語言的過程,算是給自己看的筆記,所以這裡面的內容,是我整理書中我認為重要的部分,然後用自己的方式重新寫一遍,如果有圖,我會理解完,再自己畫出來,內容肯定會和課本上有出入,若有錯誤,或是理解錯的地方,希望能讓我知道。 函數是 C 語言的基本模組,讓程式能夠用模組化的方式,來簡化主程式的結構。現在許多程式語言,例如 Java、Python …等等,也都有讓人撰寫函數的語法,也可以說這些程式語言背後也是有數不盡的函數組成,代表模組式的程式撰寫,是非常重要的思維。 #include<stdio.h> …

光學系統的截止頻率計算

數值孔徑 (Numerical Aperture, NA) 計算 Na = \frac {D} {2f} 解析度 (Resolution) 計算 Resolution = \frac {\lambda}{2NA} 截止頻率計算 f_0= \frac {D}{2 \lambda f} f_0= \frac{1}{\lambda} \frac{D}{2f} f_0= \frac{NA}{\lambda} ``` 解析度與截止頻率關係 ---------- ``` Resolution = \frac{1}{2f_0} = \frac{\lambda}{2NA} ```

演算法筆記:用 C 語言實作泡沫排序法

泡沫排序法 泡沫排序法(Bubble Sort)是一種簡單排序演算法,也是最容易實作的演算法,核心思想就是比對相鄰的元素,若是順序不對,就將其位置對換過來,反之,如果順序正確就直接換下一組元素,重複這個步驟,直到所有元素都在正確位置上,才會停止排序。 C 語言實作泡沫排序演算法 ``` #include<stdio.h> #include<stdlib.h> void bubble(int a[], int size); int main(void){ int arr[] = {5,8,4,9,7}; int size = (int) sizeof(arr) / …

PyInstaller:Python 程式轉換失敗

今天試著用 Pyinstaller 把 Python 的程式轉成執行檔時,遇到一個我覺得很棘手的問題,導致轉換出來的程式都不能用。 通常我也不太會去轉換執行檔,但是我如果是用 PyQt5 製做得程式,通常會試著看看能不能包裝起來,給別人用得時候就是只有介面,也不用擔心他們用得時候程式會被修改。 轉換過程雖有一些錯誤,但還是可以把程式轉換出來,但轉出來的執行檔怎麼樣就是打不開,先來看看下面丟出來的 bug。 Fatal Python error: initfsencoding: unable to load the file system codec ModuleNotFoundError: …