日本黃瓜農場主如何使用深度學習和TensorFlow
毫不誇張地說機器學習和深度學習不只是限定在影像等領域,大概一年前,日本自動化移動工業的嵌入系統設計者Makoto Koike
開始幫助他的父母的黃瓜農場,將黃瓜按大小 形狀和顏色等屬性排序分類。
筆直且厚帶有鮮豔顏色的、表面有許多突起的黃瓜被認為是好黃瓜,能賣出高價格。(banq注:有一個個小突起的黃瓜反而賣得好,奇怪了,是買來吃得嗎?)
Makoto很快意識到,將黃瓜按這種標準進行分類排序是非常難的,特別是在黃瓜生長期間,每個黃瓜都有不同顏色、形狀、質量和新鮮度。
在日本,每個農場都有自己的分類標準,並沒有工業界統一標準,在Makoto的農場,他們將黃瓜分類到九個不同類別,這是由其母親做的,收穫季節每天花費8小時做這件事。
排序分類並不容易學習,你不僅要看大小和厚度,還有顏色、表面,小痕跡,是否彎曲,是否有突起,你花費數月時間學習,在繁忙季節也很難僱傭到兼職工人。
市場上有一些自動排序分類者,但是總是在效能和成本方面有限制,小農場不會使用。
Makoto決定自己建立這樣一個機器學習分類系統,下面是他黃瓜排序分類系統的流程圖:
Raspberry Pi3作為主要控制器,透過攝像頭獲取黃瓜的圖片,然後執行一個基於TensorFlow的小型神經元網路,用來檢測抓取的影像是否是一個黃瓜?然後將影像傳送到大型TensorFlow神經網路,這是執行在一個Linx伺服器上,能夠執行更細節的分類。
開始幫助他的父母的黃瓜農場,將黃瓜按大小 形狀和顏色等屬性排序分類。
筆直且厚帶有鮮豔顏色的、表面有許多突起的黃瓜被認為是好黃瓜,能賣出高價格。(banq注:有一個個小突起的黃瓜反而賣得好,奇怪了,是買來吃得嗎?)
Makoto很快意識到,將黃瓜按這種標準進行分類排序是非常難的,特別是在黃瓜生長期間,每個黃瓜都有不同顏色、形狀、質量和新鮮度。
在日本,每個農場都有自己的分類標準,並沒有工業界統一標準,在Makoto的農場,他們將黃瓜分類到九個不同類別,這是由其母親做的,收穫季節每天花費8小時做這件事。
排序分類並不容易學習,你不僅要看大小和厚度,還有顏色、表面,小痕跡,是否彎曲,是否有突起,你花費數月時間學習,在繁忙季節也很難僱傭到兼職工人。
市場上有一些自動排序分類者,但是總是在效能和成本方面有限制,小農場不會使用。
Makoto決定自己建立這樣一個機器學習分類系統,下面是他黃瓜排序分類系統的流程圖:
Raspberry Pi3作為主要控制器,透過攝像頭獲取黃瓜的圖片,然後執行一個基於TensorFlow的小型神經元網路,用來檢測抓取的影像是否是一個黃瓜?然後將影像傳送到大型TensorFlow神經網路,這是執行在一個Linx伺服器上,能夠執行更細節的分類。
[img index=1]
Makoto使用TensorFlow案例程式碼Deep MNIST for Experts,只需要對卷積,Pooling池化和最終層進行很小修改,改變網路設計適應黃瓜影像的畫素格式和黃瓜型別數量。
Makoto花費三個月使用7000個由他母親挑選好的黃瓜圖片進行資料集訓練,但是顯然不夠,進行訓練時,識別準確率超過95%,但是實際應用時,降低到70%,一開始他以為這是神經網路的overfitting,也就是神經網路中一些模型只能適合小資料集。
第二個挑戰是,深度學習消耗很大計算機資源,當前排序這是有傳統的windows桌面PC來訓練神經網路模型,儘管將黃瓜圖片已經轉換到80x80的低解析度圖片,針對7000個圖片還是花費了兩三天完成訓練模型。降低解析度就不能識別顏色和表面情況,增加解析度會導致訓練時間延長。
為了提高深度學習,一些大型企業已經開始啟動大規模分散式訓練,但是伺服器成本相當高,Google提供的Cloud ML,這是一種低成本雲平臺用於訓練和預測,可以定製數百個雲伺服器使用TensorFlow進行訓練,你只要按需付費即可。這使得普通開發人員更方便進行深度學習開發。
Makoto熱切等待Cloud ML,這樣可以使用更高解析度圖片,使用更多黃瓜資料進行訓練,能夠改變神經網路各種配置引數和演算法提高識別精確度了。
相關文章
- 深度學習與 Spark 和 TensorFlow深度學習Spark
- 深度學習TensorFlow如何使用多GPU並行模式?深度學習GPU並行模式
- 《深度學習之TensorFlow》pdf深度學習
- 深度學習之Tensorflow框架深度學習框架
- 深度學習中tensorflow框架的學習深度學習框架
- 構建深度學習和TensorFlow智慧應用深度學習
- 教你在R中使用Keras和TensorFlow構建深度學習模型Keras深度學習模型
- Keras:基於Theano和TensorFlow的深度學習庫Keras深度學習
- Tensorflow 深度學習簡介(自用)深度學習
- 深度學習--Tensorflow初體驗深度學習
- 用TensorFlow進行深度學習深度學習
- 深度學習的TensorFlow實現深度學習
- 深度學習:TensorFlow入門實戰深度學習
- 深度學習tensorflow 之 distorted_inputs深度學習
- 深度學習利器:TensorFlow與NLP模型深度學習模型
- 如何學習和利用深度學習演算法框架深度學習演算法框架
- Tensorflow2 深度學習十必知深度學習
- 基於TensorFlow的深度學習實戰深度學習
- 當Spark遇上TensorFlow分散式深度學習框架原理和實踐Spark分散式深度學習框架
- TensorFlow和Caffe、MXNet、Keras等深度學習框架的對比Keras深度學習框架
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(上)深度學習
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(下)深度學習
- TensorFlow系列專題(三):深度學習簡介深度學習
- ML.NET 示例:深度學習之整合TensorFlow深度學習
- 《動手學深度學習》TensorFlow2.0版本深度學習
- 《深度學習案例精粹:基於TensorFlow與Keras》案例集用於深度學習訓練深度學習Keras
- Keras TensorFlow教程:如何從零開發一個複雜深度學習模型Keras深度學習模型
- vSphere Bitfusion執行TensorFlow深度學習任務深度學習
- Python TensorFlow深度學習迴歸程式碼:DNNRegressorPython深度學習DNN
- 深度學習Tensorflow實戰,新課進行曲!深度學習
- Ubuntu深度學習環境搭建 tensorflow+pytorchUbuntu深度學習PyTorch
- 深度學習之TensorFlow的介紹與安裝深度學習
- TensorFlow學習(三):Graph和SessionSession
- 推薦閱讀《Tensorflow:實戰Google深度學習框架》Go深度學習框架
- AMD的GPU現在可以加速TensorFlow深度學習了GPU深度學習
- 基於TensorFlow Serving的深度學習線上預估深度學習
- 《Tensorflow:實戰Google深度學習框架》圖書推薦Go深度學習框架
- 配置深度學習主機與環境(TensorFlow+1080Ti):(一)硬體選購與主機組裝深度學習