1. 建立模型與並使用模型來預測資料
      發表時間: 2023-01-19 下午 2:41下午 2:41
      從本機圖片建立模型的簡單範例 以下為從classify資料夾內載入圖片並建構分類模組的範例。圖片資料夾的結構如下: 其中daisy、dandelion、roses、sunflowers、tulips為標籤名稱,在各個資料夾內為圖片 然後使用 image_dataset_from_directory 函數載入圖片,需要傳遞以下參數: directory:包含圖片的目錄。 labels:標籤的名稱。預
    2. TensorFlow Extended (TFX) 介紹
      發表時間: 2023-01-13 下午 5:25下午 5:25
      功能介紹 TensorFlow Extended (TFX) 是Google 開發的一個開源框架,用於在TensorFlow 中構建機器學習管道。TFX 的目標是簡化機器學習管道的構建過程,使其能夠更容易地部署和維護。 其中TFX 管道是TFX 中的一個重要部分,它是一種用於組織和管理機器學習工作流的方式。TFX 管道由多個組件組成,每個組件負責執行特定的任務,如數據預處理、訓練、評估等。TFX
    3. 用兩張圖片來偵測圖像是否在靜止狀態
      發表時間: 2023-01-13 下午 5:06下午 5:06
      實踐概念 使用 TensorFlow 的圖像處理函數,將兩張圖片讀入並進行比對。 比如您可以使用 OpenCV 庫將圖片讀入,然後使用 TensorFlow 庫對兩張圖片進行比對。 您可以使用 TensorFlow 的圖像處理函數,例如圖像縮放、旋轉和鏡像轉換等,對兩張圖片進行預處理。接著您可以使用 TensorFlow 中的數值計算函數,例如 mean square error (MSE) 或
    4. Tensorflow裡Estimator介紹
      發表時間: 2023-01-13 下午 4:51下午 4:51
      tf.estimator.Estimator 介紹 官方介紹頁面: https://www.tensorflow.org/guide/estimator tf.estimator.Estimator 與 tf.keras.Model 類似,estimator是模型級別的抽象。tf.estimator提供了一些目前仍在為 tf.keras 開發中的功能。包括: 基於參數服務器的訓練 完整的TFX集成
    5. 梯度下降法介紹
      發表時間: 2023-01-12 下午 6:13下午 6:13
      梯度下降法 梯度下降法(英語:Gradient descent)是一個一階最佳化算法,通常也稱為最陡下降法,但是不該與近似積分的最陡下降法(英語:Method of steepest descent)混淆。 要使用梯度下降法找到一個函數的局部極小值,必須向函數上當前點對應梯度(或者是近似梯度)的反方向的規定步長距離點進行疊代搜索。如果相反地向梯度正方向疊代進行搜索,則會接近函數的局部極大值點;這個
    6. 物體偵測技術介紹
      發表時間: 2023-01-12 上午 11:26上午 11:26
      取得圖片中可能的目標的位置資訊 要讓模型吐出圖片中目標的座標位置資訊,常用的方法是使用目標檢測 (object detection) 的模型,這些模型通常可以同時預測目標的類別 (class) 和座標位置 (bounding box)。 常用的目標檢測模型有 YOLO (You Only Look Once)、SSD (Single Shot MultiBox Detector) 以及 Faste
    7. Dense全連接層介紹
      發表時間: 2023-01-11 下午 6:50下午 6:50
      Tensorflow的全連接層 對Tensorflow而言,全連接層的類別為: tf.keras.layers.Dense 相關介紹: https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dense 甚麼是全連接層 在 Dense 層中,每個輸入都會對每個輸出進行綜合計算,得到一個輸出值。這個綜合計算包括了對輸入和前一層輸出的矩陣乘
    8. 如何使用回撥(callbacks)來觸發訓練週期的結束
      發表時間: 2023-01-11 下午 4:08下午 4:08
      在 TensorFlow 和 Keras 中,可以使用回撥 (callbacks) 來在訓練週期結束時觸發某些操作。回撥是一個類似於函數的物件,可以在訓練過程中的特定時間點被調用。 其中一種回撥叫做 ModelCheckpoint,它能在訓練的某個時間點保存模型的權重。另一種叫做 EarlyStopping,它能在訓練達到一定的準確率後停止訓練。 要在訓練週期結束時觸發回撥,需要在調用 fit()
    9. 如何從預先訓練的模型中提取特徵
      發表時間: 2023-01-11 下午 4:07下午 4:07
      預先訓練的模型中提取特徵的一種常見方法是使用模型的中間層。例如,如果使用卷積神經網絡 (CNN) 來預訓練圖像識別模型,則可以使用 CNN 的某些中間層(如卷積層或池化層)來提取圖像的特徵。 另外,您可以將整個預先訓練的模型看作是一個特徵提取器。 一種方法是將輸入數據丟入預先訓練的模型中,然後使用模型的最後一層輸出 (通常是分類層) 作為特徵。 最後,您還可以使用深度學習框架中內置的函數(如 Ke
    10. 二元分類器 (binary classification) 介紹
      發表時間: 2023-01-11 下午 4:06下午 4:06
      甚麼是二元分類器 二元分類 (binary classification) 是一種機器學習中常見的任務,其目的是從兩個不同類別中將每個數據樣本歸類為其中之一。這種分類方式只有兩個類別,因此其結果是二元的。例如,對於圖像分類問題,二元分類可能用於識別猫和狗的圖像,或者用於識別垃圾郵件和非垃圾郵件的電子郵件。 在二元分類中,我們通常使用一些算法來建立一個模型,如 logistic regression
    11. Tensorflow裡ResNet(殘差網路)的介紹
      發表時間: 2023-01-11 下午 3:46下午 3:46
      殘差網路ResNet 殘差網路(Residual Network,簡稱 ResNet)是一種深度卷積神經網路,它被設計用來解決深度神經網路中的梯度消失問題。 在深度神經網路中,隨著層數的增加,梯度有可能會越來越小,導致模型無法有效地學習。殘差網路通過在每一層中引入一個「殘差块」來解決這個問題。殘差块包含兩個卷積層和一個殘差路徑,殘差路徑將輸入數據直接加到輸出數據上。這樣,當殘差块的輸出數據與輸入數
    12. PyCharm – 好用的python開發環境
      發表時間: 2023-01-11 下午 3:31下午 3:31
      官方網站 https://www.jetbrains.com/pycharm/ 為什麼選擇PYCHARM 所有 PYTHON 工具集中在一處 提高生產力: 在 PyCharm 處理例程時節省時間。專注於更大的事情並採用以鍵盤為中心的方法來充分利用 PyCharm 的許多生產力功能。 獲得智能幫助: PyCharm 了解您的代碼的一切。依靠它實現智能代碼完成、實時錯誤檢查和快速修復、輕鬆的項目導航等
    13. TensorFlow 開發者認證計劃介紹
      發表時間: 2023-01-11 下午 3:15下午 3:15
      TensorFlow認證計劃課程 以下為介紹網頁 https://www.tensorflow.org/certificate 在這個網頁當中,他們推薦了幾個課程 Udacity 的《TensorFlow 在深度學習中的應用簡介》課程 Coursera 的《DeepLearning.AI TensorFlow Developer 專業證書》 而我選擇了Udacity的課程(因為免費),而且可以有中
    14. 交叉熵相關損失函數的比較
      發表時間: 2023-01-07 上午 6:05上午 6:05
      交叉熵(cross-entropy)是什麼 交叉熵是一種常用的測量兩個概率分布差異的度量。它可以用來衡量預測模型的輸出結果與真實標籤之間的差異,从而作為訓練模型的損失函數。 交叉熵的计算公式如下: H(y, y_pred) = - ∑ y log(y_pred) 其中 y 和 y_pred 分别表示真實標籤的概率分布和預測模型的輸出概率分布。 交叉熵有一些特性,使它特别适用于衡量分類問題中模型的預
    15. 使用數據增強加強圖像辨識準確率
      發表時間: 2023-01-06 下午 6:52下午 6:52
      數據增強 數據增強(Data Augmentation)是一種在不增加真實數據的情況下,通過對現有數據進行變化來增加數據集大小的方法。 請參見: https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image/ImageDataGenerator 常見的數據增強技術包括: 尺度變換: 對圖像進行放大或縮小。 旋轉: 對
    16. 模型的權重與偏差值
      發表時間: 2023-01-04 下午 10:27下午 10:27
      神經元的權重與偏差 在神經網絡中,權重 (weight) 和偏差 (bias) 是模型的兩個重要參數。 權重 (weight) 指的是神經網絡中的輸入層和輸出層之間的連接強度。每個神經元都有一個權重矩陣,表示與該神經元相連的輸入張量的強度。輸入張量與輸出張量之間的權重越大,該神經元對輸出的貢獻就越大。 偏差 (bias) 指的是神經網絡中的偏移量。每個神經元都有一個偏差值,表示該神經元的輸出在不考
    17. tensorflew的自動求導機制
      發表時間: 2023-01-04 下午 9:47下午 9:47
      什麼是自動求導機制 在 TensorFlow 中,有一種特殊的張量類型叫做梯度張量,可以用於計算模型的梯度。 TensorFlow 的梯度張量是一種特殊的張量,其中包含了模型中每個變量的梯度信息。梯度張量是 TensorFlow 的自動微分機制的基礎,可以通過 TensorFlow 的自動微分機制來計算模型的梯度。 使用方法介紹 使用 GradientTape 類的方法是: 在計算圖的上下文中創建
    18. 使用model.summary()輸出參數Param計算過程
      發表時間: 2023-01-04 下午 5:58下午 5:58
      使用方式 使用keras構建深度學習模型,我們會通過model.summary()輸出模型各層的參數狀況,如下: [crayon-63e39ad3dda02017782921/] 輸出範例 [crayon-63e39ad3dda09687907879/] 參數意義 在這個輸出中,Total params 表示模型的總參數數量,可以用來反推模型的大小。請注意,模型的大小不僅僅是參數數量的函數,還可能
    19. TensorFlow的圖像操作功能筆記
      發表時間: 2023-01-04 下午 5:45下午 5:45
      為什麼要盡量使用Tensorflow的圖像操作功能 因為Tensorflow對GPU的支援度高,盡量完全使用Tensorflow內建的圖像操作功能對圖像做操作,可以避免資料在GPU和CPU之間轉換。 將資料集轉為dataset 可以使用 TensorFlow 的 tf.data.Dataset API 將訓練圖像和標籤轉換為數據集。 首先,需要將訓練圖像和標籤轉換為 TensorFlow 張量:
    20. 限制在Tensorflow跑模型時使用的GPU的記憶體上限?
      發表時間: 2023-01-04 下午 5:06下午 5:06
      使用tensorflow-gpu結果耗一大堆MEMORY是為什麼 使用 TensorFlow GPU 版本會耗費較多的記憶體,這是正常的。因為 GPU 設備有自己的內存,我們可以使用 GPU 設備加速計算。但是,這意味著 GPU 設備的內存也必須足夠大,以便容納計算所需的資料。 如果GPU的記憶體不夠大,則tensorflow會改將原本要放在GPU的記憶體內的資料放到CPU的記憶體裡面,若是CPU
    21. 如何縮小Tensorflow運算模型時使用的記憶體大小
      發表時間: 2023-01-04 下午 3:36下午 3:36
      使用剪枝法 剪枝是一種常用的方法,用於縮小深度學習模型的大小。在剪枝過程中,可以刪除模型中不重要的權重,以縮小模型的大小。 以下是使用 TensorFlow 2.x 的簡單範例,說明如何在深度學習模型中進行剪枝: [crayon-63e39ad3de166183899799/] 訓練過程中使用正則化 正則化是一種常用的方法,用於防止過擬合,並縮小模型的大小。在 TensorFlow 中,您可以使用
    22. tensorflow和keras版本之間不兼容的錯誤
      發表時間: 2023-01-03 下午 6:08下午 6:08
      更多資訊請見: https://stackoverflow.com/questions/72255562/cannot-import-name-dtensor-from-tensorflow-compat-v2-experimental 編譯器的錯誤訊息 ImportError: cannot import name 'dtensor' from 'tensorflow.compat.v2.exp
    23. 使用GPU跑tensorflow的除錯流程
      發表時間: 2023-01-03 下午 5:06下午 5:06
      最簡單的範例 這邊的程式碼是官網教學裡的一個簡單範例: https://www.tensorflow.org/tutorials/keras/classification?hl=zh-tw [crayon-63e39ad3de7c9210046887/] 使用GPU建模 經過了前三章的教學之後,應該已經設定好了Tensorflow的GPU環境 1. 在python裡面使用GPU 1 – 選擇適合的
    24. 讓OpenCV支持GPU
      發表時間: 2023-01-03 下午 2:03下午 2:03
      OpenCV CUDA https://opencv.org/platforms/cuda/ 現代 GPU 加速器已經變得強大且功能強大,足以執行通用計算 (GPGPU)。這是一個發展非常迅速的領域,引起了開發計算密集型應用程序的科學家、研究人員和工程師的極大興趣。儘管在 GPU 上重新實現算法存在困難,但許多人這樣做是為了檢查它們的速度。為了支持這些努力,許多高級語言和工具已經可用,例如 CUD
    25. 在python裡面使用GPU 3 – 開發GPU程式
      發表時間: 2023-01-03 下午 1:32下午 1:32
      GPU運算與CPU運算的不同 下面是GPU 和CPU 之間的一些主要區別: 運算單元:GPU 通常具有數百甚至數千個運算單元,而CPU 通常只有幾十個運算單元。 並行運算能力:由於GPU 具有更多的運算單元,它能夠同時處理更多的數據,因此在並行運算方面具有優勢。 計算能力:在單位時間內,GPU 的計算能力通常要高於CPU。 功耗:由於GPU 具有更多的運算單元,它的功耗通常比CPU 高。 用途:G
    26. 機器學習所需的前置知識
      發表時間: 2023-01-03 下午 1:19下午 1:19
      前置知識介紹 學習機器學習的前置知識包括: 數學基礎:學習機器學習需要具備良好的數學基礎,尤其是線性代數、微積分和概率論的基礎知識。 編程基礎:學習機器學習需要具備編程能力,至少應該熟悉一種編程語言,如 Python、C++ 或 Java。 算法基礎:了解常用的算法和數據結構,如排序算法、搜索算法、哈希表和二叉樹,將有助於學習機器學習中的算法。 機器學習基礎:了解機器學習的基本概念,如訓練集、測試
    27. 在python裡面使用GPU 2 – 安裝正確的套件
      發表時間: 2023-01-03 下午 1:05下午 1:05
      前置作業 使用 GPU 來加速 Python 程式的運算需要: 電腦必須要有適合的 GPU 及相關驅動程式。 必須安裝支援 GPU 的 Python 程式庫,例如 TensorFlow、PyTorch 或 CuPy。 在使用這些程式庫時將運算指定給 GPU 執行 安裝Tensorflow GPU版本的函式庫 在上面幾步驟都安裝好之後,要確認自己所使用的函式庫是支援GPU的,一般來說,所有的函式庫都
    28. 在python裡面使用GPU 1 – 選擇適合的GPU
      發表時間: 2023-01-03 下午 12:53下午 12:53
      選擇適用的GPU 在python裡面要使用GPU做運算,需要去呼叫GPU操作的方法來操作目標對象。 所以,能不能支持GPU運算,和套件本身有沒有開發針對該GPU操作的模組版本,是最為相關的。 對於python常用的模組,最廣泛有提供GPU操作版本的是針對nVidia裡的CUDA 深度神經網絡 (cuDNN) - cuDNN庫的支持。 nVidia cuDNN介紹 以下為官網的介紹 NVIDIA C
    29. 使用conda管理python版本和函式庫
      發表時間: 2023-01-03 上午 11:54上午 11:54
      在CMD裡面使用conda 指出 Windows 命令提示符無法識別 conda 命令。這通常是因為您的系統沒有安裝 Anaconda 或 Miniconda 環境管理器,或者沒有將 Anaconda 或 Miniconda 的安裝路徑添加到系統的環境變量中。 將 Anaconda 的安裝路徑添加到系統的環境變量中 如果您的系統上沒有安裝,請前往 Anaconda 網站下載並安裝最新版本: htt
    30. 了解python載入模組的位置
      發表時間: 2023-01-03 上午 10:58上午 10:58
      載入模組方式 一般來說,我們在專案裡面會使用import來載入現有模組 [crayon-63e39ad3dfb72153183602/] 了解會從哪些路徑載入-在command line內 1.取得global的site-packages路徑 [crayon-63e39ad3dfb77493087288/] 2.取得該使用者的library路徑(per-user) [crayon-63e39ad3