【App開發(fā)】Rapp的第一款人工智能app

人工智能(AI)和深度學習(Deep Learning)在最近幾年得到迅猛的發(fā)展憾朴,除了AlphaGO擊敗人類棋手外狸捕,AI正在向生活的各個領域進軍。更讓人激動的是众雷,國內外的互聯(lián)網巨頭們紛紛將自己的深度學習產品開源灸拍,讓每個人都有機會參與到人工智能的開發(fā)中。

幾年前開源的Hadoop成就了大數(shù)據(jù)的爆發(fā)砾省,眼下眾多深度學習框架的開源必將在未來幾年內引領下一波人工智能的大爆發(fā)鸡岗。對于沒有抓住上次機會的小伙伴們來說,現(xiàn)在的機會不容錯過编兄。

Rapp也開始了深度學習之旅轩性,并且先給自己制訂了一個小目標:打造一款簡單的AI產品,比如圖像識別app

經過一番Google和深入思考狠鸳,我打算使用以下的策略來開發(fā):

  1. 選擇谷歌的TensorFlow作為后端的AI引擎(不要問我為什么選擇它揣苏,也不要花過多時間比較哪個深度學習框架最好,先拿一個來學件舵,以后再嘗試其他的)
  2. 現(xiàn)在沒有大量的圖片數(shù)據(jù)作為訓練集怎么辦卸察?那就先利用TensorFlow預先訓練好的圖像識別模型:Inception-v3,它能識別1000種類別的物體芦圾,對于初學者來說已經足夠強大
  3. 使用Shiny為App開發(fā)UI和Server端程序
  4. 最終的效果是:用戶上傳一張圖片(jpg格式)蛾派,app會識別圖片中的主要物體,列出前幾種可能的物體名稱以及它們的置信度

我們先來安裝TensorFlow(基于Ubuntu系統(tǒng)):

  1. 先安裝pip
    $ sudo apt-get install python-pip python-dev
  2. 再安裝TensorFlow
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl
    $ sudo pip install --upgrade $TF_BINARY_URL

接下來个少,準備TensorFlow預先訓練好的圖像識別模型:

  1. 找到classify_image.py程序的路徑洪乍,比如:
    /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet/classify_image.py
  2. 第一次運行該程序的時候會自動下載模型文件,默認的目錄是/tmp/imagenet夜焦,可以用--model_dir參數(shù)設置模型保存的目錄:
    $ python classify_image.py --model_dir model
  3. 在默認的情況下壳澳,程序會對一張自帶的熊貓照片進行識別,如果一切正常茫经,你會看到識別的結果巷波,排在第一位的就是“giant panda”

TensorFlow的準備工作已經結束,下面我們需要用Shiny來開發(fā)Web應用卸伞。Shiny應用程序的開發(fā)很敏捷抹镊,只需要安裝好Shiny Server,再寫2個程序:ui.R(用戶界面)和server.R(服務器端程序)荤傲,上傳到指定目錄下即可通過瀏覽器使用垮耳。(本文的重點并不是介紹Shiny程序的開發(fā)和部署,如果讀者對這個方面感興趣,可以繼續(xù)關注【App開發(fā)】系列文章)

以下是Shiny程序的代碼:
ui.R


ui.png

server.R


server.png

我給開發(fā)好的app起了個名字:RappEyes终佛,并部署在我的個人網站上:http://112.74.107.44/shiny/rappeyes

打開網頁后俊嗽,RappEyes會對TensorFlow自帶的熊貓照片進行識別:


rappeyes1.jpg

也可以自己上傳圖片:


rappeyes2.jpg

當背景比較干凈的時候,識別準確率會很高:


rappeyes3.jpg

我以為RappEyes會告訴我它們是apple铃彰,沒想到還讓我學習了用英語怎么說“青蘋果”:Granny Smith绍豁,真是意外收獲:)

掌握deep learning是一件很有挑戰(zhàn)性的任務,我們今天只是邁出了第一步:安裝了TensorFlow牙捉,對圖像識別有了一個感性的認識竹揍,也練習了基于R的Web開發(fā)。我相信鹃共,“邊學習邊應用”是掌握一門技能最好的方法鬼佣,希望今天的文章能給大家?guī)硪恍椭?/p>

如果你喜歡本文驶拱,歡迎積極打賞:)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末霜浴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蓝纲,更是在濱河造成了極大的恐慌阴孟,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件税迷,死亡現(xiàn)場離奇詭異永丝,居然都是意外死亡,警方通過查閱死者的電腦和手機箭养,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門慕嚷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人毕泌,你說我怎么就攤上這事喝检。” “怎么了撼泛?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵挠说,是天一觀的道長。 經常有香客問我愿题,道長损俭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任潘酗,我火速辦了婚禮杆兵,結果婚禮上,老公的妹妹穿的比我還像新娘仔夺。我一直安慰自己琐脏,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布囚灼。 她就那樣靜靜地躺著骆膝,像睡著了一般祭衩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阅签,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天掐暮,我揣著相機與錄音,去河邊找鬼政钟。 笑死路克,一個胖子當著我的面吹牛,可吹牛的內容都是我干的养交。 我是一名探鬼主播精算,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碎连!你這毒婦竟也來了灰羽?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤鱼辙,失蹤者是張志新(化名)和其女友劉穎廉嚼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倒戏,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡怠噪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了杜跷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片傍念。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖葛闷,靈堂內的尸體忽然破棺而出憋槐,到底是詐尸還是另有隱情,我是刑警寧澤孵运,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布秦陋,位于F島的核電站,受9級特大地震影響治笨,放射性物質發(fā)生泄漏驳概。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一旷赖、第九天 我趴在偏房一處隱蔽的房頂上張望顺又。 院中可真熱鬧,春花似錦等孵、人聲如沸稚照。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽果录。三九已至上枕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弱恒,已是汗流浹背辨萍。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留返弹,地道東北人锈玉。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像义起,于是被迫代替她去往敵國和親拉背。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容