enable cross compile and run on mobile of lite#17541
enable cross compile and run on mobile of lite#17541tensor-tang merged 22 commits intoPaddlePaddle:incubate/litefrom
Conversation
…to Superjomn-design/lite2
Paddle-lite-mobile交叉编译指导Paddle-lite-mobile开发环境目前推荐在Docker容器里,在容器里进行交叉编译安卓版本的Native C/C++代码,然后将可执行程序 1. 拉取代码创建容器$ git clone --recursive https://github.com/PaddlePaddle/Paddle.git
$ git checkout incubate/lite先根据仓库下的 $ cd <paddle-repo>
$ mkdir android-docker
$ cp Dockerfile.android ./android-docker/Dockerfile
$ cd android-docker
$ docker build -t paddle/paddle-lite-mobile .完成后,可以看到: $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
paddle/paddle-lite-mobile latest 9c2000469891 5 hours ago 3.88GB基于 $ ddocker run -v <your-directory-path>:<your-directory-path> -tdi paddle/paddle-lite-mobile
# 启动成功会显示container_id进入容器并切换到Paddle仓库目录: $ docker exec -it <container_id> bash
$ cd <paddle-repo>2. 交叉编译Paddle-lite-mobile的Native C/C++程序创建名为 $ touch make_paddle_lite_mobile.sh
$ chmod +x make_paddle_lite_mobile.sh打开 #!/usr/bin/env bash
# build mobile
mkdir build
cd build
# cross-compile native cpp
cmake .. \
-DWITH_GPU=OFF \
-DWITH_MKL=OFF \
-DWITH_LITE=ON \
-DLITE_WITH_X86=OFF \
-DLITE_WITH_ARM=ON \
-DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON \
-DLITE_WITH_CUDA=OFF \
-DWITH_TESTING=ON
# fc层单测
make test_fc_compute_arm -j
# 小模型单测
#make cxx_api_lite_bin
3. 上传编译文件到手机上键盘上 $ cd <paddle-repo>
$ adb push ./build/paddle/fluid/lite/api/test_cxx_api_lite /data/local/tmp/
# 进入手机
$ adb shell # 若多台手机设备先用命令adb devices查看目标手机的序列码
$ cd /data/local/tmp
# 执行编译的程序
$ ./test_cxx_api_liteQ&A1. adb命令找不到:adb: command not found解决: 2. 明明手机USB连接电脑却显示找不到设备:
|
|
嗯,确认后面我们可以整理一个文档。 |
Superjomn
left a comment
There was a problem hiding this comment.
LGTM
I will continue to refine some HOST related concepts.
based on #17481
cmake .. -DWITH_GPU=OFF -DWITH_LITE=ON -DLITE_WITH_X86=OFF -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON -DLITE_WITH_CUDA=OFF -DWITH_TESTING=ON -DWITH_MKL=OFF