# 機器學習框架介紹 ###### tags:`雜項` >written by 陳柏余 @bou --- * 快速引導 [TOC] --- ## 零-甚麼是框架?? 你訓練出來的模型本身就是一個"框架",例如Keras、TensorFlow、Caffe、Caffe2、PyTorch、MXNet等等.... 那...你會想問說,機器學習的框架那麼多,會不會有訓練出來的格式不符合的問題呢? ## 壹-ONNX 介紹 其實ONNX就是這篇文章的重點了。我們前面有提到,機器學習中有許多框架,常常會有框架不符合的問題產生。這時 Facebook、Microsoft 就跳出來解決問題。 它們設計出這套 ONNX 時就是為了要幫大家解決困擾。 它是一套開放神經網路交換格式。創造了神經網路框架格式間的互通性,讓不同框架的深度學習模型可以互相轉換,更是加快AI人工智慧的發展。 ![](https://i.imgur.com/xWmY4Ne.png) ## 貳-模型介紹 ### 一、Keras #### 1.Keras介紹 Keras 是由 Google 的工程師開發出來的一個框架。 Keras以Python作為開發語言,能支援各種主要作業系統,在Linux、MAC與Windows各式平台上執行,是應用範圍廣闊且好上手的AI開發工具。 **Keras更允許使用者在智慧型手機(iOS和Android)、網頁上製作深度模型。** 還允許在圖形處理器(GPU)和張量處理器(TPU)上進行深度學習模型的訓練。 ![](https://i.imgur.com/UbAmaX8.png) #### 2.訓練Keras模型 前面提到,Keras可以在網頁上進行訓練。所以 Goole 就提供了一個很好的訓練環境--Teachable Machine。Teachable Machine 可以讓剛開始入門的初學者可以更快的體驗到機器學習的魅力! > Teachable Machine : teachablemachine.withgoogle.com/train/image ### 二、TensorFlow #### 1.TensorFlow介紹 你有沒有用過各種 Google 的產品嗎? 例如:語音辨識、Gmail、Google 相簿以及 Google 的搜尋引擎等等。你所用到 Google 的服務幾乎都有包含了 TensorFlow 的模型在內。 ![](https://i.imgur.com/BbfFNoH.gif =500x) ## 其他檔案及外部連結 ### 一、外部連結 ## 其他