日本黃瓜農場主如何使用深度學習和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,這樣可以使用更高解析度圖片,使用更多黃瓜資料進行訓練,能夠改變神經網路各種配置引數和演算法提高識別精確度了。
相關文章
- 《深度學習之TensorFlow》pdf深度學習
- 深度學習之Tensorflow框架深度學習框架
- Tensorflow 深度學習簡介(自用)深度學習
- 深度學習--Tensorflow初體驗深度學習
- 深度學習tensorflow 之 distorted_inputs深度學習
- 深度學習:TensorFlow入門實戰深度學習
- 基於TensorFlow的深度學習實戰深度學習
- Tensorflow2 深度學習十必知深度學習
- 當Spark遇上TensorFlow分散式深度學習框架原理和實踐Spark分散式深度學習框架
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(上)深度學習
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(下)深度學習
- 如何學習和利用深度學習演算法框架深度學習演算法框架
- TensorFlow系列專題(三):深度學習簡介深度學習
- ML.NET 示例:深度學習之整合TensorFlow深度學習
- vSphere Bitfusion執行TensorFlow深度學習任務深度學習
- Ubuntu深度學習環境搭建 tensorflow+pytorchUbuntu深度學習PyTorch
- Python TensorFlow深度學習迴歸程式碼:DNNRegressorPython深度學習DNN
- 《動手學深度學習》TensorFlow2.0版本深度學習
- 《深度學習案例精粹:基於TensorFlow與Keras》案例集用於深度學習訓練深度學習Keras
- 深度學習Tensorflow實戰,新課進行曲!深度學習
- COVID-19:利用Opencv, Keras/Tensorflow和深度學習進行口罩檢測OpenCVKeras深度學習
- 使用 TensorFlow Serving 和 Docker 快速部署機器學習服務Docker機器學習
- 基於TensorFlow Serving的深度學習線上預估深度學習
- AMD的GPU現在可以加速TensorFlow深度學習了GPU深度學習
- 推薦閱讀《Tensorflow:實戰Google深度學習框架》Go深度學習框架
- 《Tensorflow:實戰Google深度學習框架》圖書推薦Go深度學習框架
- Tensorflow 學習
- 前端如何學習機器學習之TensorFlow.js前端機器學習JS
- 利用深度學習和機器學習預測股票市場(附程式碼)深度學習機器學習
- 深度學習-Tensorflow2.2-梯度下降演算法概述-03深度學習梯度演算法
- TensorFlow、Keras、CNTK...到底哪種深度學習框架更好用?Keras深度學習框架
- 深度學習筆記8:利用Tensorflow搭建神經網路深度學習筆記神經網路
- 深度學習之tensorflow2實戰:多輸出模型深度學習模型
- 使用 AutoNLP 和 Prodigy 進行主動學習 - huggingface
- 深度學習趣談:什麼是遷移學習?(附帶Tensorflow程式碼實現)深度學習遷移學習
- 【深度學習-基於Tensorflow的實戰】公開課實況深度學習
- 行業專家分享:深度學習筆記之Tensorflow入門!行業深度學習筆記
- 基於Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度學習環境UbuntuPython深度學習
- TensorFlow與PyTorch之爭,哪個框架最適合深度學習PyTorch框架深度學習