精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PaddlePaddle 移動端(一),在Android shell下運行PaddlePaddle

企業動態
這篇文章以Android shell下運行圖像分類模型為例子來講述如何入門PaddlePaddle移動端。

 我們可以在https://github.com/PaddlePaddle/Mobile/ 找到關于PaddlePaddle應用于移動端的demo和例子。這篇文章以Android shell下運行圖像分類模型為例子來講述如何入門PaddlePaddle移動端。

內容

  • PaddlePaddle訓練移動端的分類模型
  • 對PaddlePaddle進行Android 交叉編譯
  • Android shell 下運行分類模型

PaddlePaddle訓練移動端的分類模型

在Android shell下運行PaddlePaddle 模型,我們要準備一個適用于一個移動端的分類模型。Repo 下提供了適用于移動端的mobilenet模型,我們用這個模型來對花卉進行分類。
一,下載mobilenet配置文件

wget https://raw.githubusercontent.com/PaddlePaddle/Mobile/develop/models/standard_network/mobilenet.py 

二,下載pre-trained 模型參數文件
在百度云上下載在imagenet上預訓練的mobilenet模型參數 imagenet_pretrained_mobilenet.tar.gz
三,在imagenet模型上對flower102數據集進行微調(fine-tune)
拷貝以下代碼,然后運行,會在每個epoch 后保存參數文件。可以點擊此處 下載好我已經訓練的模型參數。

import sys import gzip  from paddle.trainer_config_helpers import * import paddle.v2 as paddle from mobilenet import mobile_net  # batch 大小是40 BATCH = 40  def main():     datadim = 3 * 224 * 224     classdim = 102      #  采用gpu訓練并使用***塊卡     paddle.init(use_gpu=True, trainer_count=1, gpu_id=0)      momentum_optimizer = paddle.optimizer.Momentum(         momentum=0.9,         regularization=paddle.optimizer.L2Regularization(rate=0.0005 * BATCH),         learning_rate=0.001 / BATCH,         learning_rate_schedule='constant')      out = mobile_net(datadim, classdim, 1.0)      lbl = paddle.layer.data(         name="label", type=paddle.data_type.integer_value(classdim))     cost = paddle.layer.classification_cost(input=out, label=lbl)      # Create parameters     parameters = paddle.parameters.create(cost)     # 加載imagenet 預訓練的模型參數     with gzip.open('imagenet_pretrained_mobilenet.tar.gz', 'r') as f:         fparameters = paddle.parameters.Parameters.from_tar(f)     for param_name in fparameters.names():         if param_name in parameters.names():             parameters.set(param_name, fparameters.get(param_name))      # End batch and end pass event handler     def event_handler(event):         if isinstance(event, paddle.event.EndIteration):             if event.batch_id % 50 == 0:                 print "\nPass %d, Batch %d, Cost %f, %s" % (                     event.pass_id, event.batch_id, event.cost, event.metrics)             else:                 sys.stdout.write('.')                 sys.stdout.flush()         if isinstance(event, paddle.event.EndPass):             # save parameters             with gzip.open('pruning_mobilenet_params_pass_%d.tar.gz' %                            event.pass_id, 'w') as f:                 parameters.to_tar(f)              result = trainer.test(                 reader=paddle.batch(                     paddle.dataset.flowers.test(), batch_size=10),                 feeding={'image': 0,                          'label': 1})             print "\nTest with Pass %d, %s" % (event.pass_id, result.metrics)      # Create trainer     trainer = paddle.trainer.SGD(         cost=cost, parameters=parameters, update_equation=momentum_optimizer)     trainer.train(         reader=paddle.batch(             paddle.reader.shuffle(                 paddle.dataset.flowers.train(), buf_size=50000),             batch_size=BATCH),         num_passes=100,         event_handler=event_handler,         feeding={'image': 0,                  'label': 1})   if __name__ == '__main__':     main() 

經過微調我們的分類精度可以達到98% 左右。 現在我們有了一個.py 文件,表示模型的配置文件, 還有一個.tar.gz文件,表示模型的參數文件, 這兩個文件組成了***的一個模型。

Android 交叉編譯PaddlePaddle

我們需要讓PaddlePaddle運行在Android平臺,需要在linux或者mac下編譯出能在android或者ios平臺下運行的PaddlePaddle庫文件。這個過程為交叉編譯。

Paddle repo下提供了關于如何在android平臺下進行交叉編譯PaddlePaddle:
在鏈接相關頁面中提供了兩種方式, 一種是通過docker的方式,一種基于自定義獨立工具鏈編譯方式, 這兩種方式,我都進行了實驗,個人比較傾向于自定義的方式,因為比較直接透明。具體的使用方式如下:

一, 下載 Android NDK

wget -q https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip unzip -q android-ndk-r14b-linux-x86_64.zip 

假設當前目錄為 $CURRENT_DIR

二, 自定義工具鏈(--install-dir 表示安裝路徑,根據自己的需求設置,假設安裝路徑為$TOOLCHAIN_PATH )

$CURRENT_DIR/android-ndk-r14b-linux-x86_64/build/tools/make-standalone-toolchain.sh \         --arch=arm --platform=android-21 --install-dir=$TOOLCHAIN_PATH/v7_standalone_toolchain 

$TOOLCHAIN_PATH/v7_standalone_toolchain目錄下的內容為我們剛剛生成的工具鏈。

三, 交叉編譯PaddlePaddle

git clone https://github.com/PaddlePaddle/Paddle.git  cd Paddle #  建立docker 鏡像 mkdir install  mkdir build  cd build  cmake -DCMAKE_SYSTEM_NAME=Android \       -DANDROID_STANDALONE_TOOLCHAIN=$TOOLCHAIN_PATH/v7_standalone_toolchain \       -DANDROID_ABI=armeabi-v7a \       -DANDROID_ARM_NEON=ON \       -DANDROID_ARM_MODE=ON \       -DUSE_EIGEN_FOR_BLAS=ON \       -DCMAKE_INSTALL_PREFIX=./install \       -DWITH_C_API=ON \       -DWITH_SWIG_PY=OFF \        -DANDROID_TOOLCHAIN=gcc  \       ..  make -j `nproc` make install  

編譯結束后,會在 install/lib 目錄下生成動態庫libpaddle_capi_shared.so, 這個動態庫提供了模型程序調用PaddlePaddle的所有入口。

Android shell 下運行分類模型

一, 下載預測程序
該程序功能是用來測試模型的運行速度,主要包括加載模型,隨機化輸入,多次進行模型前向運算并統計時間,然后輸出模型的平均前向運行時間。

wget https://raw.githubusercontent.com/PaddlePaddle/Mobile/develop/benchmark/tool/C/inference.cc 

二, 將libpaddle_capi_shared.so copy至當前目錄
三, 編譯預測腳本

export PATH=$TOOLCHAIN_PATH/v7_standalone_toolchain/bin/:$PATH arm-linux-androideabi-g++ inference.cc -L./ -lpaddle_capi_shared -o inference -pie -fPIE 

我們可以看到,目錄中多了一個inference 可運行的二進制文件。

四,將之前提到的模型配置文件.py 和模型參數文件.tar.gz融合成一個文件

from paddle.utils.merge_model import merge_v2_model  # import your network configuration from mobilenet import mobile_net  net = mobile_net(3*224*224, 102, 1.0) param_file = './mobilenet_flowers102.tar.gz' output_file = './mobilenet.paddle'  merge_v2_model(net, param_file, output_file) 

五,安裝adb
linux 安裝,查看教程
mac 安裝,查看教程

adb 工具可以登陸android 手機的shell,讓我們像使用linux shell一樣來操作android。
adb安裝之后,我們使用數據線將android手機和電腦鏈接。

六, Android shell下運行Paddle分類模型

adb push inference libpaddle_capi_shared.so mobilenet.paddle /sdcard/test_mobilenet adb shell cd /sdcard/test_mobilenet export LD_LIBRARY_PATH=./ ./inference --merged_model ./mobilenet.paddle --input_size 150528 

其中input_size 表示模型輸入的大小,即3 * 224 * 224 等于 150528
如果看到以下的log,說明程序運行成功:

可以看到,paddle初始化的時間是1.78015ms, 加載模型的時間是113.749ms, 模型前向的時間是337.754ms.

 

責任編輯:張燕妮 來源: 簡書
相關推薦

2018-01-26 14:29:01

框架

2018-01-21 14:11:22

人工智能PaddlePaddlTensorflow

2018-03-26 20:14:32

深度學習

2018-03-26 20:49:08

圖像分類

2018-04-04 10:19:32

深度學習

2018-04-02 10:45:11

深度學習PaddlePaddl手寫數字識別

2018-03-27 16:24:12

PaddlePaddl

2018-03-26 20:00:32

深度學習

2018-02-07 16:13:00

深度學習

2018-03-09 22:56:52

PaddlePaddl

2018-03-26 20:07:25

深度學習

2018-03-27 13:18:17

教程

2018-03-26 21:31:30

深度學習

2018-03-26 21:26:50

深度學習

2018-03-27 13:26:51

教程

2019-03-26 16:05:10

AI

2018-04-09 10:20:32

深度學習

2018-02-07 17:32:54

情感分析

2019-07-06 10:18:07

人工智能

2017-02-09 16:39:54

百度
點贊
收藏

51CTO技術棧公眾號

爱福利视频一区二区| 久久精品成人一区二区三区| 日韩精品久久一区| 亚洲一级生活片| 日韩电影免费观| 久久久久99| 亚洲成人av中文字幕| 亚洲一区二区三区精品视频| www.5588.com毛片| 国产精品—色呦呦| 国内精品久久久久影院薰衣草| 亚洲综合一区在线| 国产欧洲精品视频| 西西444www无码大胆| 秋霞影院午夜丰满少妇在线视频| 国产99久久| 中文字幕在线不卡| 久久久久久久色| 亚洲精品国产久| 欧美视频在线观看一区二区三区| 人人精品久久| 26uuu亚洲综合色| 午夜精品久久久久久久男人的天堂| 女人和拘做爰正片视频| 丁香花免费高清完整在线播放 | 国产精品久久影视| aaa国产精品视频| 久久久久久久精| 欧美性在线观看| 亚洲欧美视频二区| a√资源在线| 蜜臀av亚洲一区中文字幕| 日韩欧美中文字幕公布| 国产高清免费在线| 91麻豆成人精品国产| 欧美mv日韩| 欧美丰满一区二区免费视频| 亚洲国产日韩欧美| 97视频免费在线| 你懂的一区二区| 欧美性受极品xxxx喷水| 亚洲精品中文综合第一页| 亚洲字幕av一区二区三区四区| 秋霞综合在线视频| 亚洲欧美另类图片小说| 高清视频一区二区三区| 免费在线看黄网址| 国产精品videossex| 亚洲欧洲另类国产综合| 日本aⅴ大伊香蕉精品视频| 国产又粗又猛又爽又黄| 极品在线视频| 97久久超碰精品国产| 欧美孕妇性xx| 日b视频在线观看| 黑人巨大精品| 成人免费小视频| 国产精品久久久亚洲| 极品久久久久久| 本网站久久精品| 成人激情校园春色| 国产成人久久久| 少妇按摩一区二区三区| 国产直播在线| 不卡视频免费播放| 欧美激情国产日韩精品一区18| 成人在线激情网| 欧美挠脚心网站| 国内精品视频666| 午夜精品久久久久久久99黑人 | 欧美黑人xxxxx| 伊人网av在线| 国模大胆一区二区三区| 日韩午夜电影在线观看| 欧美性大战久久久久xxx| 婷婷色在线观看| 另类小说欧美激情| 97在线视频一区| 国产亚洲精品成人a| 日本а中文在线天堂| 国产精品久久久久四虎| 狠狠色综合一区二区| 日韩女同强女同hd| 97精品中文字幕| 亚洲美女喷白浆| 成人在线观看黄| 精品电影在线| 成人黄色大片在线观看 | 久久夜色精品| 欧美日韩成人黄色| 免费看91的网站| 狼人精品一区二区三区在线| 91精品国产一区二区三区| 内射国产内射夫妻免费频道| 裸体xxxx视频在线| 丁香啪啪综合成人亚洲小说| 91精品免费视频| 国产在线观看成人| 亚洲动漫精品| 亚洲国产古装精品网站| 青青草原播放器| missav|免费高清av在线看| 日韩一区中文字幕| 亚洲精品一区二区三区樱花| 日韩av免费观影| eeuss鲁片一区二区三区在线观看| 欧美诱惑福利视频| 国产成人亚洲精品自产在线 | 欧美一区二区在线观看| 精品国产av无码一区二区三区| 免费观看成年人视频| 亚洲专区一区| 国内精品一区二区三区四区| 午夜爽爽爽男女免费观看| 欧洲毛片在线视频免费观看| 日韩精品在线私人| 一二三不卡视频| 成人国产精品入口免费视频| 亚洲一区二区三区在线| 国产一二三四区在线观看| 国产精品一二三区视频| 国产亚洲欧美日韩俺去了| 欧美极品色图| 蜜芽tv福利在线视频| 久久精子c满五个校花| 欧美日韩最好看的视频| 国产污视频在线| 成人免费不卡视频| 国产中文日韩欧美| 全部毛片永久免费看| 性色一区二区三区| 国产成人精品综合久久久| 国产香蕉在线视频| 一区二区三区四区五区精品视频| 日韩精品中文字| 免费人成视频在线播放| 成人福利免费在线观看| 欧美日韩一区二区在线观看 | 亚洲精品国产首次亮相| 国产视频精品va久久久久久| 巨胸大乳www视频免费观看| 97久久亚洲| 亚洲精品久久7777777| av网页在线观看| 九九久久成人| 亚洲国产精品嫩草影院久久| 人妻激情偷乱视频一区二区三区| 黄色在线观看www| 色婷婷综合在线| mm131亚洲精品| 欧美一级片网址| 欧美精品色综合| 久久久无码人妻精品无码| 欧美电影在线观看完整版| 国产午夜精品视频免费不卡69堂| 五月天婷婷影视| 久久久久久久性潮| 欧美羞羞免费网站| 国产高清视频网站| 亚洲国产aⅴ精品一区二区| 亚洲成人av资源网| 欧美在线一级片| 国产毛片精品| 中文字幕v亚洲ⅴv天堂| 成年人在线免费看片| 欧美成人有码| 日本精品一区二区三区在线播放视频| 91久久国产视频| 国产精品一级| 91老司机精品视频| 日韩大胆视频| 国产亚洲综合av| 日韩在线导航| 国产www视频在线观看| 欧美午夜精品久久久久久超碰 | www.在线视频| 亚洲码国产岛国毛片在线| 亚洲色成人一区二区三区小说| 岛国av免费在线观看| 五月激情综合色| 亚洲一区在线不卡| 一区二区三区日本视频| 亚洲精品天天看| 欧美成人精品一区二区免费看片| 精品动漫3d一区二区三区免费版 | 在线观看天堂av| 亚洲精品日韩久久| 亚洲精品免费在线视频| 成人p站proumb入口| 午夜激情久久久| 欧美一级片中文字幕| 成人免费一区| 亚洲美女性视频| 天堂网av2018| 欧美视频二区| 91在线免费视频| h视频在线观看免费| 色综合色狠狠天天综合色| 95视频在线观看| 亚洲最新av| 国产一区玩具在线观看| 国产精品一区二区婷婷| 欧美性感美女h网站在线观看免费 欧美性xxxx在线播放 | 欧美少妇在线观看| sm在线观看| 欧美成人a视频| 91精品人妻一区二区三区蜜桃欧美| 欧美日韩中文一区二区| 69精品小视频| 天堂中文字幕av| 中文一区二区在线观看| www.日本在线视频| 日韩中文字幕| 国产一区二区三区在线视频| 少妇高潮av久久久久久| 99久久亚洲一区二区三区青草| 少妇免费毛片久久久久久久久| 你懂的在线视频| 亚洲蜜桃精久久久久久久| 99福利在线观看| 久久综合欧美| 久久久久久久久爱| 在线免费观看一级片| 国产精品视频一二| 香蕉视频999| 亚洲人成精品久久久 | 欧美国产三区| 91久久精品国产91久久性色tv| 久久99久久| 亚洲愉拍自拍另类高清精品| 色婷婷狠狠18禁久久| 成人精品亚洲| 欧洲午夜精品久久久| 国产无套粉嫩白浆在线2022年 | 日韩精品免费视频| 国产成人无码aa精品一区| 国产福利不卡视频| 黄色一级片av| 日韩成人在线一区| 亚洲无限av看| 婷婷激情五月网| 成人免费观看av| 欧美视频免费播放| 琪琪久久久久日韩精品| 国产精品av网站| 日韩在线无毛| 欧美猛男超大videosgay| 亚洲欧美va天堂人熟伦| 噜噜噜在线观看免费视频日韩| 九色视频成人porny| 18video性欧美19sex高清| 日韩精品视频免费专区在线播放| xxxx日本黄色| 久久精品国产免费| 婷婷无套内射影院| 九九视频精品全部免费播放| 97免费视频在线播放| 狠狠人妻久久久久久综合麻豆 | 亚洲第一男人天堂| 欧美高清视频一区二区三区| 99久久久国产精品| 欧美二区在线视频| 久久精品av| 精品国产综合| 视频欧美精品| 久久精品国产一区| 手机福利小视频在线播放| 在线观看成人小视频| 欧美精品一区二区蜜桃| 国产精品一区二区视频| 久久精品一区二| 欧美日韩伦理| 成人欧美一区二区三区黑人孕妇| 男男激情在线| 在线观看视频一区二区欧美日韩| 91网站免费视频| 日本中文在线一区| 亚洲欧洲一区二区福利| 亚洲美女色播| 色综合久久悠悠| av在线日韩国产精品| 日韩av一区二区在线| 国产婷婷一区二区三区久久| 色天使色偷偷av一区二区| 一级片黄色录像| 97se狠狠狠综合亚洲狠狠| 日韩欧美在线免费观看视频| 在线观看视频免费一区二区三区| 国产三级精品网站| 高清不卡av| 性色av一区二区三区免费| 欧美被日视频| 一本色道久久综合亚洲精品小说| 国产精品人人爽| 亚洲高清在线视频| 日本一级二级视频| 99精品国产99久久久久久白柏| 成人av在线播放观看| 九九久久婷婷| 亚洲精品欧美日韩| 国产亚洲精品精品国产亚洲综合| 中文字幕av一区中文字幕天堂 | 国产探花视频在线观看| 久久久成人精品视频| 午夜免费视频在线国产| 国产一区二区三区丝袜 | 精品一区二区三区在线观看 | 亚洲激情影院| 国产在线视频在线| 精品久久国产| 国产精品乱码一区二区三区| 日韩成人在线观看视频| 欧洲精品久久久| 任你弄在线视频免费观看| 久久国产色av| 国产在线观看网站| 精品裸体舞一区二区三区| 丰满人妻老熟妇伦人精品| 中文字幕日韩一区二区| 欧美日韩色视频| 亚洲天堂网中文字| 在线免费日韩av| 亚洲图片一区二区| www.99re6| 国产亚洲综合av| 少妇太紧太爽又黄又硬又爽小说| 精品一区二区在线视频| 久久6免费视频| 国产精品一区二区三区网站| 9l视频白拍9色9l视频| 精品一区二区综合| 日本少妇激三级做爰在线| 国产91丝袜在线播放0| 亚洲男女在线观看| 国产黄人亚洲片| 蜜臀一区二区三区精品免费视频| 久久综合激情| 国产精品视频中文字幕| 国产成人精品免费一区二区| 少妇一级淫片免费放播放| 91香蕉视频mp4| 精品人妻一区二区三区日产| 26uuu另类欧美| 911国产在线| 国产片一区二区三区| 成人无码www在线看免费| 国产日本亚洲高清| 午夜剧场免费在线观看| 亚洲成人资源在线| 国产亚洲自拍av| 色综合色狠狠综合色| 国产精品九九九九| 欧美日韩国产小视频| 高清乱码毛片入口| 欧美大片拔萝卜| 国产综合在线观看| 亚洲香蕉成视频在线观看 | 亚洲欧洲国产精品| 亚洲av毛片成人精品| 在线播放亚洲激情| 成年人视频在线免费观看| 亚洲最新中文字幕| 欧美私人网站| 91国产视频在线播放| 亚州精品国产| 91在线国产电影| 日本综合精品一区| 国产无套精品一区二区| 国产精品成人a在线观看| 国产午夜福利在线播放| 久久se精品一区二区| 亚洲调教欧美在线| xf在线a精品一区二区视频网站| 久久久久久久久久久久| 一级女性全黄久久生活片免费| 国产精品白嫩白嫩大学美女| 黑丝美女久久久| www.午夜激情| www.亚洲一区| 666av成人影院在线观看| 动漫3d精品一区二区三区| 九九热播视频在线精品6| 国产精品美女在线播放| 丝瓜av网站精品一区二区| 国产精品亚洲一区二区无码| 91小视频在线观看| 貂蝉被到爽流白浆在线观看| 欧美日韩亚洲系列| 欧美 中文字幕| 一本色道久久88精品综合| 97天天综合网| 亚洲一区国产精品| 性xxxx欧美老肥妇牲乱| 爱情岛论坛vip永久入口| 韩国v欧美v日本v亚洲v| 四季av中文字幕| 91精品办公室少妇高潮对白| 国产免费黄色片| 色诱女教师一区二区三区| 性欧美18一19sex性欧美|