我的新書AI 職場超神助手:ChatGPT 與生成式 AI 一鍵搞定工作難題的教材投影片已製作完成
歡迎各位有需要的教師和博碩文化索取教材

Machine Learning

  • ,

    PyTorch於Mac系統下的安裝教學

    環境架設 相關教學文章: https://github.com/pytorch/pytorch 首先,PyTorch需要 Python 3.8.1以上的環境,先安裝Anaconda,接著設定一個虛擬環境使用py3.8.1 切換到新創建的環境之後,就依照下面的步驟下載PyTorch 編譯PyTorch 當你運行python setup.py develop來安裝PyTorch(或任何其他Python套件)時,這個命令的目的是在”開發模式”下安裝該套件。這意味著源代碼的更改會立即反映到Python環境中,無需重新安裝。 但是對於像PyTorch這樣的大型項目,這個過程可能會變得相對緩慢。如果你只是想試用PyTorch而不是開發它,那麼通常建議直接從官方渠道安裝預編譯的版本,這樣會快得多。(可以跳過此步驟) 安裝編譯所需工具 開始編譯 直接安裝PyTorch 使用預編譯的二進制檔案安裝PyTorch是相對簡單的。以下是使用pip或conda安裝PyTorch的方法: 使用pip安裝 使用conda安裝 下載第一個測試專案 https://github.com/pytorch/ios-demo-app 首先要先安裝依賴管理套件cocoapods,安裝指令如下: cocoapods安裝失敗解決方法 https://stackoverflow.com/questions/69460048/unable-to-install-cocoapods-in-macos-monterey-version-12-0-beta-xcode-13-013a 用homebrew安裝 安裝依賴項 先把目錄切到有PodFile的位置,然後下指令

  • ,

    Tensorflow.js的coco-ssd對象檢測

    官方教程 教程網址: https://github.com/tensorflow/tfjs-models/tree/master/coco-ssd 目標檢測模型,旨在定位和識別單個圖像中的多個目標。 該模型是 COCO-SSD 模型的 TensorFlow.js 移植。有關 Tensorflow 對象檢測 API 的更多信息,請查看 tensorflow/object_detection中的自述文件。 該模型檢測 COCO 數據集中定義的對象,這是一個大規模的對象檢測、分割和字幕數據集。您可以在這裡找到更多信息。該模型能夠檢測80 類物體。(SSD 代表單次多盒檢測)。 此 TensorFlow.js 模型不需要您了解機器學習。它可以將輸入作為任何基於瀏覽器的圖像元素(例如<img>、<video>、<canvas> 元素),並返回帶有類名稱和置信度的邊界框數組。 讀取攝像機 以下為一個簡單讀取攝像機並且作物件偵測的程式範例 執行成果 以下為範例執行程式:…

  • ,

    TensorFlow目標檢測API – 訓練自己的資料

    安裝labelImg來標記物件 到GitHub官網上面可以下載release的版本 下載網址labelImg labelImg操作介面 準備訓練用資料集 以下是一個基本步驟: 將圖片和標籤轉換成TFRecord格式 以下為一個範例程式 準備分類設定檔案*.pbtxt 接著上面會產出path_to_output.tfrecord這個檔案,到object detection裡新建一個資料夾,把path_to_output.tfrecord丟進去。 接著,修改mscoco_label_map.pbtxt(可在\models\research\object_detection\data找到此檔案),檔案內容如下: 這邊的/m/01g317是一個在Google Knowledge Graph中的專屬識別碼(獨特的標籤),用來代表特定的實體或概念。在這裡,/m/01g317是代表”person”(人)這個概念的識別碼。 Google Knowledge Graph是一個大型的知識庫,由Google建立和維護,用來增強其搜索引擎的搜索結果,提供更準確和詳細的資訊。它儲存了數以億計的物件和實體以及他們之間的連結。每個物件或實體都被分配一個獨特的ID,這就是這裡提到的/m/01g317。 在訓練物體檢測模型時,這些識別碼會被用於表示各種可以識別的物體或實體。例如,在你給出的配置中,/m/01g317被指定為表示”person”。 如果你是在自己的專案中,並且與Google Knowledge Graph無關,那麼可以自由地創建你自己的類別標籤或ID。例如,你可以簡單地使用數字(如1,2,3等)或有意義的名稱作為你的類別標籤。在你給出的配置項中,只需要確保每個類別的name和id是唯一的,並且display_name清楚地表示了該類別的含義。 於pipeline.config指定資料集的位置 在pipeline.config檔案中,你將會找到兩個主要的部分,分別代表訓練和驗證數據集,它們的名稱通常為 train_input_reader…

  • ,

    TensorFlow目標檢測API – 程式使用範例

    事前作業 先在這一篇選定想要使用的模型,然後下載後解壓縮在專案的資料夾內,然後參考這篇文章設定環境: TensorFlow 的目標檢測API – 設定環境 程式實作範例 這個範例需要一個攝影機,使用的是SSD MobileNet V2 FPNLite 640×640的預設資料集 執行的速度很不錯,一秒可以有25FPS,適合用於實時串流 執行的畫面如下,因為懶惰所以還沒有把標記的label標上去,若想要標記,可直接使用detections[‘detection_classes’]作為分類的index,從category_index去取分類名稱

  • ,

    TensorFlow目標檢測API – 功能介紹

    YOLO並沒有含在TF2內建的Object Detection API TensorFlow Object Detection API 提供了在COCO 2017 數據集上預訓練的檢測模型集合 。有多種類型的模型,包括 CenterNet,EfficientDet,SSD,Faster R-CNN 和 Mask R-CNN 等。 每個模型都有其特點: 然而,YOLO (You Only Look Once) 並沒有在這個列表中。 YOLO 是一種非常流行的實時目標檢測系統,以其快速和精確而著名。…

  • ,

    TensorFlow 目標檢測API – 設定環境

    相關教學資源 在Python安裝object_detection 我是在Windows的環境做開發,而官網的教學的環境是Linux,所以相關工具的安裝有花了一些時間,在這邊分享一下我的安裝方式 以下為Linux環境的工具安裝指令 大概就是要安裝protobuf,接著下載TensorFlows Model,然後把model放到你要呼叫Object Detection的程式目錄的下方 ,在這邊我執行python -m pip install .時,會一直出現如下錯誤 ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based…

  • ,

    人工智慧之於微軟的想法

    對AI產業趨勢的觀查 微軟台灣區總經理卞志祥是財務工程和電腦工程的跨界,從新創到外商這樣走,因此他就是擅長電腦工程和產業的分析。他說『很少看到一個科技,是短短三到六個月之間從談論到變成每一個公司廣泛被討論的一個課題,尤其是在企業高層的廣泛討論』 產業的領導者很專注於這一個產業的變革,討論的主題不是技術而是商業模式,所以過去六個月就是不斷的和產業先進去學習一些DOMAIN KNOW HOW 2023年是一個高度不確定性的年代,也就是在這樣的年代之中,危機同時也就會帶有轉機,因為在每一次在全球地緣邊境的變動,會創造出很多變動中產出的WINNER和LOSER。例如:賽車時,要在大晴天之中想要在落後的前提下,超越很多專業車手,是非常困難的,而在大雨天才很有可能有這樣的機會。 產業改變得非常非常的快,並且驅動這個轉型的原因變得非常非常的多元,適應改變的速度會是未來決定一切非常重要的關鍵點 AI核心能力 高度賦能員工,改變與客戶互動的方式,優化流程。做的到這三件事情就有可能去實現你產品的新的機會 BING和CHATGPT的不同 CHATGPT是一個已建模完成的模型,且其資料停在2021年 BING會有一個關鍵字前處理的狀況,會先去網路找相關資料,然後會把資料輸入模型去產生結果,也因為這樣,Bing會有較高的正確性,因為在前處理的部份的搜尋動作,可以增加回應的正確性。 ChatGPT模型架構 CHATGPT在其內部架構中使用了Embedding model。Embedding model在CHATGPT中用於將輸入文本轉換為連續向量表示,以便進一步處理和生成回應。 在CHATGPT中,文本序列首先被轉換為一系列的詞嵌入(Word Embeddings),詞嵌入是將單詞映射為連續向量表示的技術。這些詞嵌入向量在模型內部被用作輸入特徵,以捕捉單詞的語義和上下文信息。通過使用詞嵌入,CHATGPT可以將輸入文本轉換為數字化的連續向量表示,以供模型進一步處理。 Embedding model在CHATGPT中的使用有助於提取和表示輸入文本的含義和特徵,並為模型提供適當的表徵。這樣,模型可以更好地理解和生成合適的回應。 不過CHATGPT不僅僅依賴於Embedding model,它是基於Transformer架構的深度學習模型。Transformer模型的主要組件包括多層的自注意力機制和前饋神經網絡,以實現高效的序列建模和生成。 Embedding model的後續能力很強,因為這些連續向量表示可以應用於多種機器學習和深度學習任務中,提供了強大的特徵表達能力。 Embedding…

  • ,

    人工智慧概論

    人工智慧的演進 讓機器自己從圖片中尋找差異 博藍尼悖論(Polanyi’s Paradox)認為人類能表達的,遠比人類所知道的少 莫拉維克悖論(Moravec’s Paradox): 對於機器而言,人類的直覺,遠比人類的推理來的複雜 (更多運算資源) 讓電腦自己學習 從規則驅動變成資料驅動,只是原本是人從資料去定義規則,現在則是由電腦來找到規則 為了讓電腦更有效率地找到規則並在提取特徵之後辨識物體,可以採取以下方法: 應用範例 糖尿病的視網膜病變 https://www.kaggle.com/datasets/eishkaran/diabetes-using-retinopathy-prediction 魔術橡皮擦,可以自動去把相片的很多背景雜物移除 https://www.kaggle.com/datasets/utkarshsaxenadn/human-body-background-remover 利用Diffusion實現圖像生成 https://www.kaggle.com/datasets/dschettler8845/diffusiondb-2m-part-0001-to-0100-of-2000 機器學習的流程 4D Process包括Define Problem, Data Collect, Develop…

  • ,

    AI現況的概觀

    人工智慧是第四次的工業革命 Mobile computing, inexpensive sensors collecting terabytes of data, and the rise of machine learning that can use that data will fundamentally change the way…

  • ,

    使用Tensorboard來觀察模型效能

    Tensorboard介紹 在機器學習中,要改進模型的某些參數,通常需要觀察模型數據以進行衡量。TensorBoard 是用於提供機器學習工作流期間所需測量和呈現的工具。它使您能夠跟踪實驗指標(例如損失和準確率),呈現模型計算圖,將嵌入向量投影到較低維度的空間等。 TensorBoard是TensorFlow的可視化工具,用於可視化和分析機器學習實驗的結果。它提供了一組豐富的可視化面板,可以幫助您理解、調節測試和優化訓練過程中的模型。 主要功能和用途 以下是TensorBoard的一些主要功能和用途: TensorBoard 提供了一種觀察的方式來監視和分析機器學習模型,以了解模型的行為並進行調優。您可以使用 TensorFlow 的相關API(如)將數據寫入TensorBoard日誌文件,然後在命令tf.summary中行中運行 TensorBoard 來查看和分析結果。 如何使用 以下為一個範例程式 接著就可以在所指定的資料夾位置運行tensorboard介面 接著開啟http://localhost:6006就可以看到如下畫面,這個畫面是Scalars,顯示損失和指標在每個時期如何變化 Graphs用以可視化模型。可以看出你的模型是如何建構的,有用到那些方法 Distributions是顯示張量隨時間的分佈。Distributions和Histograms這兩頁很相似,可了解模型權重隨時間的變化,作為判斷是否出現問題的初步衡量標準。 Histograms是使用Ridgeline plot來顯示張量隨時間的分佈,橫軸為epochs訓練的次數,縱軸則為權重和偏差的值 Time-Series與scalars非常相似,都是在評估準確度。然而,一個區別是每次訓練迭代而不是每個時期對目標指標的觀察。


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。

如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!