diff --git a/.gitignore b/.gitignore
index 532601bfe9222eae0d6be7378322ab1b9c2eb110..547e94ea11f048c9e007996d4ee716d22a13742e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,3 +69,10 @@ build
# clion building directories
cmake-build-debug
cmake-build-release
+
+
+#ios demo
+demo/ios/PaddleMobileDemo/PaddleMobileDemo/googlenet_combine/
+demo/ios/PaddleMobileDemo/PaddleMobileDemo/*.jpg
+demo/ios/PaddleMobileDemo/PaddleMobileDemo/PaddleMobile/*.a
+*.xcuserstate
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 89473e9f329a0a37dd3ed24f20e13d00513fca1f..a00d179a0d4972080c8fd392160f8ec451692e4d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,15 +11,19 @@ option(MALI_GPU "mali gpu" OFF)
option(FPGA "fpga" OFF)
set(DEBUGING ON)
-file(GLOB_RECURSE PADDLE_MOBILE_CC src/*.cc src/*.cpp src/*.c)
+if (ARM_LINUX)
+include("${CMAKE_CURRENT_LIST_DIR}/tools/arm-platform.cmake")
+endif ()
+
+file(GLOB_RECURSE PADDLE_MOBILE_CC src/*.cc src/*.cpp src/*.c src/*.mm)
file(GLOB_RECURSE PADDLE_MOBILE_H src/*.h)
if (CPU)
add_definitions(-DPADDLE_MOBILE_CPU)
else()
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/kernel/arm/*.h)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/kernel/arm/*.cc)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/kernel/arm/*.cpp)
+ list(REMOVE_ITEM PADDLE_MOBILE_CC ./src/operators/kernel/arm/*.h)
+ list(REMOVE_ITEM PADDLE_MOBILE_CC ./src/operators/kernel/arm/*.cc)
+ list(REMOVE_ITEM PADDLE_MOBILE_CC ./src/operators/kernel/arm/*.cpp)
endif()
@@ -37,9 +41,15 @@ if (MALI_GPU)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lOpenCL")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_ACL=1")
else()
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/kernel/mali/*.h)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/kernel/mali/*.cc)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/kernel/mali/*.cpp)
+ file(GLOB_RECURSE _tmp_list src/operators/kernel/mali/*.cpp src/operators/kernel/mali/*.cc)
+ foreach(f ${_tmp_list})
+ list(REMOVE_ITEM PADDLE_MOBILE_CC ${f})
+ endforeach()
+
+ file(GLOB_RECURSE _tmp_list_h src/operators/kernel/mali/*.h)
+ foreach(f ${_tmp_list_h})
+ list(REMOVE_ITEM PADDLE_MOBILE_H ${f})
+ endforeach()
endif()
if(FPGA)
@@ -88,9 +98,9 @@ endif()
if (NOT ANDROID_NDK_TOOLCHAIN_INCLUDED)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/jni/*.cpp)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/jni/*.h)
- list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/math/math_func_neon.h)
+ list(REMOVE_ITEM PADDLE_MOBILE_H ${CMAKE_CURRENT_SOURCE_DIR}/src/jni/paddle_mobile_jni.h)
+ list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/jni/paddle_mobile_jni.cpp)
+ list(REMOVE_ITEM PADDLE_MOBILE_H ${CMAKE_CURRENT_SOURCE_DIR}/src/operators/math/math_func_neon.h)
endif ()
include_directories(src/)
@@ -107,11 +117,18 @@ set_property(CACHE NET PROPERTY STRINGS "defult" "googlenet" "mobilenet" "yolo"
include("${CMAKE_CURRENT_LIST_DIR}/tools/op.cmake")
-# if (IS_IOS)
-# add_library(paddle-mobile STATIC ${PADDLE_MOBILE_CC} ${PADDLE_MOBILE_H})
+if (IS_IOS)
+ add_library(paddle-mobile STATIC ${PADDLE_MOBILE_CC} ${PADDLE_MOBILE_H})
+else()
+ list(REMOVE_ITEM PADDLE_MOBILE_H ${CMAKE_CURRENT_SOURCE_DIR}/src/ios_io/PaddleMobile.h)
+ list(REMOVE_ITEM PADDLE_MOBILE_CC ${CMAKE_CURRENT_SOURCE_DIR}/src/ios_io/PaddleMobile.mm)
+ list(REMOVE_ITEM PADDLE_MOBILE_H ${CMAKE_CURRENT_SOURCE_DIR}/src/ios_io/op_symbols.h)
+endif ()
+
if (ANDROID_NDK_TOOLCHAIN_INCLUDED)
list(REMOVE_DUPLICATES CMAKE_CXX_FLAGS)
add_library(paddle-mobile SHARED ${PADDLE_MOBILE_CC} ${PADDLE_MOBILE_H})
+elseif(IS_IOS)
else ()
add_library(paddle-mobile SHARED ${PADDLE_MOBILE_CC} ${PADDLE_MOBILE_H})
endif ()
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f07b2eeb93daa827361acc97951483c21092135f..a33db73e109042276b686e8ab74261273df87390 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -183,7 +183,6 @@ upstream
接下来等待 review,如果有需要修改的地方,参照上述步骤更新 origin 中的对应分支即可。
-
![](http://otkwwi4x8.bkt.clouddn.com/2018-06-20-15294877166787.jpg)
之后就可以提交代码了
@@ -223,7 +222,6 @@ upstream
- 原因:如果仅仅修改一个文件但提交了十几个commit,每个commit只做了少量的修改,这会给评审人带来很大困扰。评审人需要逐一查看每个commit才能知道做了哪些修改,且不排除commit之间的修改存在相互覆盖的情况。
- 建议:每次提交时,保持尽量少的commit,可以通过`git commit --amend`补充上次的commit。对已经Push到远程仓库的多个commit,可以参考[squash commits after push](http://stackoverflow.com/questions/5667884/how-to-squash-commits-in-git-after-they-have-been-pushed)。
- 请注意每个commit的名称:应能反映当前commit的内容,不能太随意。
-
3. 如果解决了某个Issue的问题,请在该Pull Request的**第一个**评论框中加上:`fix #issue_number`,这样当该Pull Request被合并后,会自动关闭对应的Issue。关键词包括:close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved,请选择合适的词汇。详细可参考[Closing issues via commit messages](https://help.github.com/articles/closing-issues-via-commit-messages)。
此外,在回复评审人意见时,请您遵守以下约定:
diff --git a/Dockerfile b/Dockerfile
index 8f54b870d594ece33d9c93ea40908668d3ad2f0e..df7df032acefd39c20051e861d353644e3b91024 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,6 @@ RUN apt-get install -y --no-install-recommends \
unzip \
git \
make \
- cmake \
cmake-curses-gui \
python \
python-pip \
@@ -25,9 +24,14 @@ RUN apt-get install -y --no-install-recommends \
g++-arm-linux-gnueabi \
gcc-arm-linux-gnueabi
RUN apt-get autoremove -y && apt-get clean
-RUN pip install --upgrade pip
-RUN pip install wheel && pip install pre-commit
RUN ln -s clang-format-5.0 /usr/bin/clang-format
+RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
+RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wheel
+RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pre-commit
RUN cd /tmp && curl -O http://mirrors.neusoft.edu.cn/android/repository/android-ndk-r17b-linux-x86_64.zip
+RUN curl -O https://mms-res.cdn.bcebos.com/cmake-3.10.3-Linux-x86_64.tar.gz && \
+ tar xzf cmake-3.10.3-Linux-x86_64.tar.gz && \
+ mv cmake-3.10.3-Linux-x86_64 /opt/cmake-3.10 && \
+ mv /usr/bin/cmake /usr/bin/cmake.bak && ln -s /opt/cmake-3.10/bin/cmake /usr/bin/cmake
RUN cd /opt && unzip /tmp/android-ndk-r17b-linux-x86_64.zip
ENV NDK_ROOT /opt/android-ndk-r17b
diff --git a/README.md b/README.md
index f8957545a64fff7723bd4c1c6bc2db1fd90d728b..b299879ab73dde1d4e6b749596cfed6bf1888e9e 100644
--- a/README.md
+++ b/README.md
@@ -8,11 +8,20 @@
[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE)-->
-
欢迎来到 Paddle-Mobile GitHub 项目。
Paddle-Moible是PaddlePaddle组织下的项目,是一个致力于嵌入式平台的深度学习的框架。Paddle-Moible设计思想和PaddlePaddle的最新版fluid版本保持了高度一致,同时针对嵌入式做了大量优化。设计之初就对嵌入式的性能、体积、能耗、硬件平台覆盖等方面做了考虑。
+## 简单搜索线上效果
+
+如下gif是简单搜索app的线上主体检测应用效果
+
+![ezgif-1-050a733dfb](http://otkwwi4x8.bkt.clouddn.com/2018-07-05-ezgif-1-050a733dfb.gif)
+
+## Demo目录
+
+[点我](https://github.com/PaddlePaddle/paddle-mobile/tree/develop/demo)
+
## Features
- **ARM CPU**
@@ -23,7 +32,6 @@ Paddle-Moible是PaddlePaddle组织下的项目,是一个致力于嵌入式平
- **Mali GPU**
Mali GPU是百度和ARM合作开发的,双方团队近期都在致力于将paddle的op能无缝运行在ACL(arm compute library)。目前已经支持squeezenet,googlenet,resnet等几个网络模型,后续会继续加大力度。使全部移动端paddle op能高效运行在mali gpu上。
- 在
- **苹果设备的GPU Metal实现**
@@ -45,7 +53,7 @@ Paddle-Moible是PaddlePaddle组织下的项目,是一个致力于嵌入式平
- **体积**
paddle-mobile从设计之初就深入考虑到移动端的包体积的问题,cpu实现中没有外部依赖。在编译过程中,如果该网络不需要的op是完全不会被打入的。同时编译选项优化也为体积压缩提供了帮助。
- 除了二进制体积,我们对代码体积极力避免过大。整个仓库不到5m的代码体积。
+ 除了二进制体积,我们对代码体积极力避免过大。整个仓库的代码体积也非常小。
## 文档
@@ -78,14 +86,7 @@ ONNX全称为“Open Neural Network Exchange”,即“开放的神经网络切
目前,百度也在做onnx支持工作。相关转换项目在这里:[paddle-onnx](https://github.com/PaddlePaddle/paddle-onnx)。
-```flow
-st=>start: 其他模型
-op1=>operation: onnx模型
-op2=>operation: paddle-onnx
-op3=>operation: paddle fluid模型
-e=>end: paddle-mobile运行
-st->op1->op2->op3->e
-```
+![](http://otkwwi4x8.bkt.clouddn.com/2018-07-03-15305875853057.jpg)
### 4. 部分测试模型下载
[下载链接](https://mms-mis.cdn.bcebos.com/paddle-mobile/models.zip)
diff --git a/demo/android/PaddleMobile_Android/.gitignore b/demo/android/PaddleMobile_Android/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..39fb081a42a86ccf8f9cf99dbccc8bdf7c828bce
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/.gitignore
@@ -0,0 +1,9 @@
+*.iml
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
+/captures
+.externalNativeBuild
diff --git a/demo/android/PaddleMobile_Android/app/.gitignore b/demo/android/PaddleMobile_Android/app/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/.gitignore
@@ -0,0 +1 @@
+
diff --git a/demo/android/PaddleMobile_Android/app/build.gradle b/demo/android/PaddleMobile_Android/app/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..3d61efb83a083909a0038886469e1c7fce218e8c
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/build.gradle
@@ -0,0 +1,23 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 21
+ defaultConfig {
+ applicationId "com.baidu.paddle"
+ minSdkVersion 15
+ targetSdkVersion 21
+ versionCode 1
+ versionName "1.0"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation 'com.android.support:appcompat-v7:21.0.3'
+}
diff --git a/demo/android/PaddleMobile_Android/app/proguard-rules.pro b/demo/android/PaddleMobile_Android/app/proguard-rules.pro
new file mode 100644
index 0000000000000000000000000000000000000000..f1b424510da51fd82143bc74a0a801ae5a1e2fcd
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
diff --git a/demo/android/PaddleMobile_Android/app/src/main/AndroidManifest.xml b/demo/android/PaddleMobile_Android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b9bf81dcb9fffb855d067cc7df1633ebcf586432
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/android/PaddleMobile_Android/app/src/main/java/com/baidu/paddle/MainActivity.java b/demo/android/PaddleMobile_Android/app/src/main/java/com/baidu/paddle/MainActivity.java
new file mode 100755
index 0000000000000000000000000000000000000000..febe816681d3845a61c5a8b40630e82ac9b4ea95
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/java/com/baidu/paddle/MainActivity.java
@@ -0,0 +1,408 @@
+/*
+ * Copyright (c) 2016 Baidu, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+package com.baidu.paddle;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.net.Uri;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.Environment;
+
+import android.provider.MediaStore;
+
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+
+import static android.graphics.Color.blue;
+import static android.graphics.Color.green;
+import static android.graphics.Color.red;
+import static com.baidu.paddle.MainActivity.TYPE.googlenet;
+
+
+public class MainActivity extends Activity {
+ public static final int TAKE_PHOTO_REQUEST_CODE = 1001;
+
+ private Context mContext = null;
+
+ private int inputSize = 224;
+
+ enum TYPE {
+ googlenet
+ }
+
+ private TYPE type = googlenet;
+ private ImageView imageView;
+ private TextView tvSpeed;
+ private Button button;
+ private Bitmap bmp;
+
+ static {
+ try {
+ System.loadLibrary("paddle-mobile");
+
+ } catch (SecurityException e) {
+ e.printStackTrace();
+
+ } catch (UnsatisfiedLinkError e) {
+ e.printStackTrace();
+
+ } catch (NullPointerException e) {
+ e.printStackTrace();
+
+ }
+
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mContext = this;
+ setContentView(R.layout.main_activity);
+ init();
+ }
+
+ private void init() {
+ imageView = (ImageView) findViewById(R.id.imageView);
+ tvSpeed = (TextView) findViewById(R.id.tv_speed);
+ button = (Button) findViewById(R.id.button);
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (!isHasSdCard()) {
+ Toast.makeText(mContext, R.string.sdcard_not_available,
+ Toast.LENGTH_LONG).show();
+ return;
+ }
+ Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+ // save pic in sdcard
+ Uri imageUri = Uri.fromFile(getTempImage());
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
+ startActivityForResult(intent, TAKE_PHOTO_REQUEST_CODE);
+
+ }
+ });
+ Button bt_load = (Button) findViewById(R.id.bt_load);
+ bt_load.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ String assetPath = "pml_demo";
+ String sdcardPath = Environment.getExternalStorageDirectory()
+ + File.separator + assetPath + File.separator + type;
+ PML.load(sdcardPath);
+
+ }
+ });
+ Button bt_clear = (Button) findViewById(R.id.bt_clear);
+ bt_clear.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+
+ PML.clear();
+
+
+ }
+ });
+ String assetPath = "pml_demo";
+ String sdcardPath = Environment.getExternalStorageDirectory()
+ + File.separator + assetPath;
+ copyFilesFromAssets(this, assetPath, sdcardPath);
+
+
+ }
+
+ public void copyFilesFromAssets(Context context, String oldPath, String newPath) {
+ try {
+ String[] fileNames = context.getAssets().list(oldPath);
+ if (fileNames.length > 0) {
+ // directory
+ File file = new File(newPath);
+ file.mkdirs();
+ // copy recursivelyC
+ for (String fileName : fileNames) {
+ copyFilesFromAssets(context, oldPath + "/" + fileName,
+ newPath + "/" + fileName);
+ }
+ } else {
+ // file
+ InputStream is = context.getAssets().open(oldPath);
+ FileOutputStream fos = new FileOutputStream(new File(newPath));
+ byte[] buffer = new byte[1024];
+ int byteCount;
+ while ((byteCount = is.read(buffer)) != -1) {
+ fos.write(buffer, 0, byteCount);
+ }
+ fos.flush();
+ is.close();
+ fos.close();
+ }
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public File getTempImage() {
+ if (Environment.getExternalStorageState().equals(
+ Environment.MEDIA_MOUNTED)) {
+ File tempFile = new File(Environment.getExternalStorageDirectory(), "temp.jpg");
+ try {
+ tempFile.createNewFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return tempFile;
+ }
+ return null;
+ }
+
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ switch (requestCode) {
+ case TAKE_PHOTO_REQUEST_CODE:
+ if (resultCode == RESULT_OK) {
+ DetectionTask detectionTask = new DetectionTask();
+ detectionTask.execute(getTempImage().getPath());
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ /**
+ * draw rect on imageView
+ *
+ * @param bitmap
+ * @param predicted
+ * @param viewWidth
+ * @param viewHeight
+ */
+ private void drawRect(Bitmap bitmap, float[] predicted, int viewWidth, int viewHeight) {
+
+ Canvas canvas = new Canvas(bitmap);
+ canvas.drawBitmap(bitmap, 0, 0, null);
+ if (type == googlenet) {
+ Paint paint = new Paint();
+ paint.setColor(Color.RED);
+ paint.setStyle(Paint.Style.STROKE);
+ paint.setStrokeWidth(3.0f);
+ float x1 = 0;
+ float x2 = 0;
+ float y1 = 0;
+ float y2 = 0;
+
+ // the googlenet result sequence is (left top right top bottom)
+ x1 = (predicted[0] * viewWidth / 224);
+ y1 = (predicted[1] * viewHeight / 224);
+ x2 = (predicted[2] * viewWidth / 224);
+ y2 = (predicted[3] * viewHeight / 224);
+
+
+ canvas.drawRect(x1, y1, x2, y2, paint);
+ }
+
+
+ imageView.setImageBitmap(bitmap);
+
+ }
+
+ float getMaxIndex(float[] predicted) {
+ float max = 0;
+ int index = 0;
+ for (int i = 0; i < predicted.length; i++) {
+ if (predicted[i] > max) {
+ max = predicted[i];
+ index = i;
+ }
+ }
+ return index;
+ }
+
+ public float[] getScaledMatrix(Bitmap bitmap, int desWidth,
+ int desHeight) {
+ float[] dataBuf = new float[3 * desWidth * desHeight];
+ int rIndex;
+ int gIndex;
+ int bIndex;
+ int[] pixels = new int[desWidth * desHeight];
+ Bitmap bm = Bitmap.createScaledBitmap(bitmap, desWidth, desHeight, false);
+ bm.getPixels(pixels, 0, desWidth, 0, 0, desWidth, desHeight);
+ int j = 0;
+ int k = 0;
+ for (int i = 0; i < pixels.length; i ++) {
+ int clr = pixels[i];
+ j = i / desHeight;
+ k = i % desWidth;
+ rIndex = j * desWidth + k;
+ gIndex = rIndex + desHeight * desWidth;
+ bIndex = gIndex + desHeight * desWidth;
+ dataBuf[rIndex] = (float)((clr & 0x00ff0000)>> 16) -148;
+ dataBuf[gIndex] = (float)((clr & 0x0000ff00)>> 8) - 148;
+ dataBuf[bIndex] = (float)((clr & 0x000000ff)) -148;
+
+ }
+ if (bm.isRecycled()) {
+ bm.recycle();
+ }
+ return dataBuf;
+
+
+ }
+ /**
+ * check whether sdcard is mounted
+ *
+ * @return
+ */
+ public boolean isHasSdCard() {
+ if (Environment.getExternalStorageState().equals(
+ Environment.MEDIA_MOUNTED)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ public void dumpData(float[] results, String filename) {
+ try {
+ File writename = new File(filename);
+ writename.createNewFile();
+ BufferedWriter out = new BufferedWriter(new FileWriter(writename));
+ for (float result : results) {
+ out.write(result + " ");
+ }
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * scale bitmap in case of OOM
+ *
+ * @param ctx
+ * @param filePath
+ * @return
+ */
+ public Bitmap getScaleBitmap(Context ctx, String filePath) {
+ BitmapFactory.Options opt = new BitmapFactory.Options();
+ opt.inJustDecodeBounds = true;
+ BitmapFactory.decodeFile(filePath, opt);
+
+ int bmpWidth = opt.outWidth;
+ int bmpHeight = opt.outHeight;
+
+ int maxSize = 500;
+
+ opt.inSampleSize = 1;
+ while (true) {
+ if (bmpWidth / opt.inSampleSize < maxSize || bmpHeight / opt.inSampleSize < maxSize) {
+ break;
+ }
+ opt.inSampleSize *= 2;
+ }
+ opt.inJustDecodeBounds = false;
+ Bitmap bmp = BitmapFactory.decodeFile(filePath, opt);
+ return bmp;
+ }
+
+ @Override
+ public void onBackPressed() {
+ super.onBackPressed();
+ Log.d("mdl", "mdl clear");
+ // clear mdl
+ PML.clear();
+
+ }
+
+ class DetectionTask extends AsyncTask {
+ private long time;
+
+ public DetectionTask() {
+ super();
+ }
+
+ @Override
+ protected void onPreExecute() {
+ super.onPreExecute();
+ if (type == googlenet) {
+ inputSize = 224;
+ }
+ }
+
+ @Override
+ protected void onPostExecute(float[] result) {
+ super.onPostExecute(result);
+ try {
+ Bitmap src = Bitmap.createScaledBitmap(bmp, imageView.getWidth(),
+ imageView.getHeight(), false);
+ drawRect(src, result, imageView.getWidth(), imageView.getHeight());
+ tvSpeed.setText("detection cost:" + time + "ms");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void onProgressUpdate(Void... values) {
+ super.onProgressUpdate(values);
+ }
+
+ @Override
+ protected void onCancelled() {
+ super.onCancelled();
+ }
+
+ @Override
+ protected float[] doInBackground(String... strings) {
+ bmp = getScaleBitmap(mContext, strings[0]);
+ float[] inputData = getScaledMatrix(bmp, inputSize, inputSize);
+ float[] result = null;
+ try {
+ long start = System.currentTimeMillis();
+ result = PML.predict(inputData);
+ long end = System.currentTimeMillis();
+ time = end - start;
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+ }
+}
diff --git a/demo/android/PaddleMobile_Android/app/src/main/java/com/baidu/paddle/PML.java b/demo/android/PaddleMobile_Android/app/src/main/java/com/baidu/paddle/PML.java
new file mode 100644
index 0000000000000000000000000000000000000000..7649d4c081223bace01b806d1eb7dca57129ed7c
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/java/com/baidu/paddle/PML.java
@@ -0,0 +1,23 @@
+package com.baidu.paddle;
+
+public class PML {
+ /**
+ * Load
+ * @param modelPath
+ * @return
+ */
+ public static native boolean load(String modelPath);
+
+
+ /**
+ * object detection
+ *
+ * @param buf
+ * @return
+ */
+ public static native float[] predict(float[] buf);
+
+
+ public static native void clear();
+
+}
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/drawable/ic_launcher_background.xml b/demo/android/PaddleMobile_Android/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d5fccc538c179838bfdce779c26eebb4fa0b5ce9
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/layout/main_activity.xml b/demo/android/PaddleMobile_Android/app/src/main/res/layout/main_activity.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6653b182adbfc6d82d50d313db8c88789c0b027b
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/res/layout/main_activity.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/demo/android/PaddleMobile_Android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2f5908281d070150700378b64a84c7db1f97aa1
Binary files /dev/null and b/demo/android/PaddleMobile_Android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/demo/android/PaddleMobile_Android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b523998081149a985cef0cdf89045b9ed29964a
Binary files /dev/null and b/demo/android/PaddleMobile_Android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/values/colors.xml b/demo/android/PaddleMobile_Android/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ab3e9cbce07f7cdc941fc8ba424c05e83ed80f0
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/res/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/values/strings.xml b/demo/android/PaddleMobile_Android/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f927237046f8a51f9f49ef37440cc05a3abcc0fa
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/res/values/strings.xml
@@ -0,0 +1,5 @@
+
+ PaddleMobile_Android
+ sdcard not available
+ detection cost:
+
diff --git a/demo/android/PaddleMobile_Android/app/src/main/res/values/styles.xml b/demo/android/PaddleMobile_Android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5885930df6d10edf3d6df40d6556297d11f953da
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/app/src/main/res/values/styles.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/demo/android/PaddleMobile_Android/build.gradle b/demo/android/PaddleMobile_Android/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..43c070853e6387cb26e12ad00449e2c4df192bf6
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/build.gradle
@@ -0,0 +1,27 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+
+ repositories {
+ google()
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.1.3'
+
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ jcenter()
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/demo/android/PaddleMobile_Android/gradle.properties b/demo/android/PaddleMobile_Android/gradle.properties
new file mode 100644
index 0000000000000000000000000000000000000000..db1fda5348df0a517e66da43975df8d062ac7109
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/gradle.properties
@@ -0,0 +1,18 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx1536m
+android.injected.testOnly=false
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
diff --git a/demo/android/PaddleMobile_Android/gradle/wrapper/gradle-wrapper.jar b/demo/android/PaddleMobile_Android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659
Binary files /dev/null and b/demo/android/PaddleMobile_Android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/demo/android/PaddleMobile_Android/gradle/wrapper/gradle-wrapper.properties b/demo/android/PaddleMobile_Android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000000000000000000000000000000000..45f9d18b437e41e53ed0620b52bbabc2c65b361b
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Jul 02 13:58:58 CST 2018
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
diff --git a/demo/android/PaddleMobile_Android/gradlew b/demo/android/PaddleMobile_Android/gradlew
new file mode 100755
index 0000000000000000000000000000000000000000..9d82f78915133e1c35a6ea51252590fb38efac2f
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/gradlew
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/demo/android/PaddleMobile_Android/gradlew.bat b/demo/android/PaddleMobile_Android/gradlew.bat
new file mode 100644
index 0000000000000000000000000000000000000000..aec99730b4e8fcd90b57a0e8e01544fea7c31a89
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/demo/android/PaddleMobile_Android/settings.gradle b/demo/android/PaddleMobile_Android/settings.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..e7b4def49cb53d9aa04228dd3edb14c9e635e003
--- /dev/null
+++ b/demo/android/PaddleMobile_Android/settings.gradle
@@ -0,0 +1 @@
+include ':app'
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj
similarity index 54%
rename from ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj
index e7e77ada15e84a6957a082c203c0121e118c5a3b..8500c89c9af5ab2d56e08b576dc007a424262d15 100644
--- a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj
@@ -7,80 +7,123 @@
objects = {
/* Begin PBXBuildFile section */
- FC086BC920E783AF00D85EF7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FC086BC820E783AF00D85EF7 /* AppDelegate.m */; };
- FC086BCC20E783AF00D85EF7 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC086BCB20E783AF00D85EF7 /* ViewController.m */; };
- FC086BCF20E783AF00D85EF7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC086BCD20E783AF00D85EF7 /* Main.storyboard */; };
- FC086BD120E783B100D85EF7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FC086BD020E783B100D85EF7 /* Assets.xcassets */; };
- FC086BD420E783B100D85EF7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC086BD220E783B100D85EF7 /* LaunchScreen.storyboard */; };
- FC086BD720E783B100D85EF7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FC086BD620E783B100D85EF7 /* main.m */; };
+ FC12E93320EB6B2800807EF4 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FC12E93220EB6B2800807EF4 /* AppDelegate.m */; };
+ FC12E93620EB6B2800807EF4 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FC12E93520EB6B2800807EF4 /* ViewController.m */; };
+ FC12E93920EB6B2800807EF4 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC12E93720EB6B2800807EF4 /* Main.storyboard */; };
+ FC12E93B20EB6B2900807EF4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FC12E93A20EB6B2900807EF4 /* Assets.xcassets */; };
+ FC12E93E20EB6B2900807EF4 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC12E93C20EB6B2900807EF4 /* LaunchScreen.storyboard */; };
+ FC12E94120EB6B2900807EF4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FC12E94020EB6B2900807EF4 /* main.m */; };
+ FC12E94A20EB6B6800807EF4 /* libpaddle-mobile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC12E94820EB6B6800807EF4 /* libpaddle-mobile.a */; };
+ FC12E94D20EB6BBB00807EF4 /* libstdc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = FC12E94C20EB6BBB00807EF4 /* libstdc++.tbd */; };
+ FC12E95120EB6BED00807EF4 /* params in Resources */ = {isa = PBXBuildFile; fileRef = FC12E94F20EB6BED00807EF4 /* params */; };
+ FC12E95220EB6BED00807EF4 /* model in Resources */ = {isa = PBXBuildFile; fileRef = FC12E95020EB6BED00807EF4 /* model */; };
+ FC12E95420EB6C0D00807EF4 /* apple.jpg in Resources */ = {isa = PBXBuildFile; fileRef = FC12E95320EB6C0D00807EF4 /* apple.jpg */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- FC086BC420E783AF00D85EF7 /* PaddleMobileDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PaddleMobileDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
- FC086BC720E783AF00D85EF7 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- FC086BC820E783AF00D85EF7 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- FC086BCA20E783AF00D85EF7 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
- FC086BCB20E783AF00D85EF7 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
- FC086BCE20E783AF00D85EF7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- FC086BD020E783B100D85EF7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- FC086BD320E783B100D85EF7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- FC086BD520E783B100D85EF7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- FC086BD620E783B100D85EF7 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ FC12E92E20EB6B2800807EF4 /* PaddleMobileDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PaddleMobileDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ FC12E93120EB6B2800807EF4 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ FC12E93220EB6B2800807EF4 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ FC12E93420EB6B2800807EF4 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
+ FC12E93520EB6B2800807EF4 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
+ FC12E93820EB6B2800807EF4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ FC12E93A20EB6B2900807EF4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ FC12E93D20EB6B2900807EF4 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ FC12E93F20EB6B2900807EF4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ FC12E94020EB6B2900807EF4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ FC12E94820EB6B6800807EF4 /* libpaddle-mobile.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpaddle-mobile.a"; sourceTree = ""; };
+ FC12E94920EB6B6800807EF4 /* PaddleMobile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaddleMobile.h; sourceTree = ""; };
+ FC12E94C20EB6BBB00807EF4 /* libstdc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libstdc++.tbd"; path = "usr/lib/libstdc++.tbd"; sourceTree = SDKROOT; };
+ FC12E94F20EB6BED00807EF4 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = ""; };
+ FC12E95020EB6BED00807EF4 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = ""; };
+ FC12E95320EB6C0D00807EF4 /* apple.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = apple.jpg; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- FC086BC120E783AF00D85EF7 /* Frameworks */ = {
+ FC12E92B20EB6B2800807EF4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ FC12E94D20EB6BBB00807EF4 /* libstdc++.tbd in Frameworks */,
+ FC12E94A20EB6B6800807EF4 /* libpaddle-mobile.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- FC086BBB20E783AF00D85EF7 = {
+ FC12E92520EB6B2800807EF4 = {
isa = PBXGroup;
children = (
- FC086BC620E783AF00D85EF7 /* PaddleMobileDemo */,
- FC086BC520E783AF00D85EF7 /* Products */,
+ FC12E93020EB6B2800807EF4 /* PaddleMobileDemo */,
+ FC12E92F20EB6B2800807EF4 /* Products */,
+ FC12E94B20EB6BBB00807EF4 /* Frameworks */,
);
sourceTree = "";
};
- FC086BC520E783AF00D85EF7 /* Products */ = {
+ FC12E92F20EB6B2800807EF4 /* Products */ = {
isa = PBXGroup;
children = (
- FC086BC420E783AF00D85EF7 /* PaddleMobileDemo.app */,
+ FC12E92E20EB6B2800807EF4 /* PaddleMobileDemo.app */,
);
name = Products;
sourceTree = "";
};
- FC086BC620E783AF00D85EF7 /* PaddleMobileDemo */ = {
+ FC12E93020EB6B2800807EF4 /* PaddleMobileDemo */ = {
isa = PBXGroup;
children = (
- FC086BC720E783AF00D85EF7 /* AppDelegate.h */,
- FC086BC820E783AF00D85EF7 /* AppDelegate.m */,
- FC086BCA20E783AF00D85EF7 /* ViewController.h */,
- FC086BCB20E783AF00D85EF7 /* ViewController.m */,
- FC086BCD20E783AF00D85EF7 /* Main.storyboard */,
- FC086BD020E783B100D85EF7 /* Assets.xcassets */,
- FC086BD220E783B100D85EF7 /* LaunchScreen.storyboard */,
- FC086BD520E783B100D85EF7 /* Info.plist */,
- FC086BD620E783B100D85EF7 /* main.m */,
+ FC12E95320EB6C0D00807EF4 /* apple.jpg */,
+ FC12E94E20EB6BED00807EF4 /* googlenet_combine */,
+ FC12E94720EB6B6800807EF4 /* PaddleMobile */,
+ FC12E93120EB6B2800807EF4 /* AppDelegate.h */,
+ FC12E93220EB6B2800807EF4 /* AppDelegate.m */,
+ FC12E93420EB6B2800807EF4 /* ViewController.h */,
+ FC12E93520EB6B2800807EF4 /* ViewController.m */,
+ FC12E93720EB6B2800807EF4 /* Main.storyboard */,
+ FC12E93A20EB6B2900807EF4 /* Assets.xcassets */,
+ FC12E93C20EB6B2900807EF4 /* LaunchScreen.storyboard */,
+ FC12E93F20EB6B2900807EF4 /* Info.plist */,
+ FC12E94020EB6B2900807EF4 /* main.m */,
);
path = PaddleMobileDemo;
sourceTree = "";
};
+ FC12E94720EB6B6800807EF4 /* PaddleMobile */ = {
+ isa = PBXGroup;
+ children = (
+ FC12E94820EB6B6800807EF4 /* libpaddle-mobile.a */,
+ FC12E94920EB6B6800807EF4 /* PaddleMobile.h */,
+ );
+ path = PaddleMobile;
+ sourceTree = "";
+ };
+ FC12E94B20EB6BBB00807EF4 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ FC12E94C20EB6BBB00807EF4 /* libstdc++.tbd */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ FC12E94E20EB6BED00807EF4 /* googlenet_combine */ = {
+ isa = PBXGroup;
+ children = (
+ FC12E94F20EB6BED00807EF4 /* params */,
+ FC12E95020EB6BED00807EF4 /* model */,
+ );
+ path = googlenet_combine;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- FC086BC320E783AF00D85EF7 /* PaddleMobileDemo */ = {
+ FC12E92D20EB6B2800807EF4 /* PaddleMobileDemo */ = {
isa = PBXNativeTarget;
- buildConfigurationList = FC086BDA20E783B100D85EF7 /* Build configuration list for PBXNativeTarget "PaddleMobileDemo" */;
+ buildConfigurationList = FC12E94420EB6B2900807EF4 /* Build configuration list for PBXNativeTarget "PaddleMobileDemo" */;
buildPhases = (
- FC086BC020E783AF00D85EF7 /* Sources */,
- FC086BC120E783AF00D85EF7 /* Frameworks */,
- FC086BC220E783AF00D85EF7 /* Resources */,
+ FC12E92A20EB6B2800807EF4 /* Sources */,
+ FC12E92B20EB6B2800807EF4 /* Frameworks */,
+ FC12E92C20EB6B2800807EF4 /* Resources */,
);
buildRules = (
);
@@ -88,24 +131,24 @@
);
name = PaddleMobileDemo;
productName = PaddleMobileDemo;
- productReference = FC086BC420E783AF00D85EF7 /* PaddleMobileDemo.app */;
+ productReference = FC12E92E20EB6B2800807EF4 /* PaddleMobileDemo.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- FC086BBC20E783AF00D85EF7 /* Project object */ = {
+ FC12E92620EB6B2800807EF4 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0930;
+ LastUpgradeCheck = 0940;
ORGANIZATIONNAME = orange;
TargetAttributes = {
- FC086BC320E783AF00D85EF7 = {
- CreatedOnToolsVersion = 9.3.1;
+ FC12E92D20EB6B2800807EF4 = {
+ CreatedOnToolsVersion = 9.4.1;
};
};
};
- buildConfigurationList = FC086BBF20E783AF00D85EF7 /* Build configuration list for PBXProject "PaddleMobileDemo" */;
+ buildConfigurationList = FC12E92920EB6B2800807EF4 /* Build configuration list for PBXProject "PaddleMobileDemo" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
@@ -113,55 +156,58 @@
en,
Base,
);
- mainGroup = FC086BBB20E783AF00D85EF7;
- productRefGroup = FC086BC520E783AF00D85EF7 /* Products */;
+ mainGroup = FC12E92520EB6B2800807EF4;
+ productRefGroup = FC12E92F20EB6B2800807EF4 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- FC086BC320E783AF00D85EF7 /* PaddleMobileDemo */,
+ FC12E92D20EB6B2800807EF4 /* PaddleMobileDemo */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- FC086BC220E783AF00D85EF7 /* Resources */ = {
+ FC12E92C20EB6B2800807EF4 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- FC086BD420E783B100D85EF7 /* LaunchScreen.storyboard in Resources */,
- FC086BD120E783B100D85EF7 /* Assets.xcassets in Resources */,
- FC086BCF20E783AF00D85EF7 /* Main.storyboard in Resources */,
+ FC12E93E20EB6B2900807EF4 /* LaunchScreen.storyboard in Resources */,
+ FC12E95220EB6BED00807EF4 /* model in Resources */,
+ FC12E93B20EB6B2900807EF4 /* Assets.xcassets in Resources */,
+ FC12E95120EB6BED00807EF4 /* params in Resources */,
+ FC12E95420EB6C0D00807EF4 /* apple.jpg in Resources */,
+ FC12E93920EB6B2800807EF4 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- FC086BC020E783AF00D85EF7 /* Sources */ = {
+ FC12E92A20EB6B2800807EF4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- FC086BCC20E783AF00D85EF7 /* ViewController.m in Sources */,
- FC086BD720E783B100D85EF7 /* main.m in Sources */,
- FC086BC920E783AF00D85EF7 /* AppDelegate.m in Sources */,
+ FC12E93620EB6B2800807EF4 /* ViewController.m in Sources */,
+ FC12E94120EB6B2900807EF4 /* main.m in Sources */,
+ FC12E93320EB6B2800807EF4 /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
- FC086BCD20E783AF00D85EF7 /* Main.storyboard */ = {
+ FC12E93720EB6B2800807EF4 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
- FC086BCE20E783AF00D85EF7 /* Base */,
+ FC12E93820EB6B2800807EF4 /* Base */,
);
name = Main.storyboard;
sourceTree = "";
};
- FC086BD220E783B100D85EF7 /* LaunchScreen.storyboard */ = {
+ FC12E93C20EB6B2900807EF4 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
- FC086BD320E783B100D85EF7 /* Base */,
+ FC12E93D20EB6B2900807EF4 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "";
@@ -169,7 +215,7 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
- FC086BD820E783B100D85EF7 /* Debug */ = {
+ FC12E94220EB6B2900807EF4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -220,14 +266,14 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.3;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.4;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
- FC086BD920E783B100D85EF7 /* Release */ = {
+ FC12E94320EB6B2900807EF4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -272,41 +318,53 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.3;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.4;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
- FC086BDB20E783B100D85EF7 /* Debug */ = {
+ FC12E94520EB6B2900807EF4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = Z5M2UUN5YV;
+ ENABLE_BITCODE = NO;
INFOPLIST_FILE = PaddleMobileDemo/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/PaddleMobileDemo/PaddleMobile",
+ );
PRODUCT_BUNDLE_IDENTIFIER = orange.PaddleMobileDemo;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
- FC086BDC20E783B100D85EF7 /* Release */ = {
+ FC12E94620EB6B2900807EF4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = Z5M2UUN5YV;
+ ENABLE_BITCODE = NO;
INFOPLIST_FILE = PaddleMobileDemo/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/PaddleMobileDemo/PaddleMobile",
+ );
PRODUCT_BUNDLE_IDENTIFIER = orange.PaddleMobileDemo;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
@@ -316,25 +374,25 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- FC086BBF20E783AF00D85EF7 /* Build configuration list for PBXProject "PaddleMobileDemo" */ = {
+ FC12E92920EB6B2800807EF4 /* Build configuration list for PBXProject "PaddleMobileDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- FC086BD820E783B100D85EF7 /* Debug */,
- FC086BD920E783B100D85EF7 /* Release */,
+ FC12E94220EB6B2900807EF4 /* Debug */,
+ FC12E94320EB6B2900807EF4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- FC086BDA20E783B100D85EF7 /* Build configuration list for PBXNativeTarget "PaddleMobileDemo" */ = {
+ FC12E94420EB6B2900807EF4 /* Build configuration list for PBXNativeTarget "PaddleMobileDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- FC086BDB20E783B100D85EF7 /* Debug */,
- FC086BDC20E783B100D85EF7 /* Release */,
+ FC12E94520EB6B2900807EF4 /* Debug */,
+ FC12E94620EB6B2900807EF4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
- rootObject = FC086BBC20E783AF00D85EF7 /* Project object */;
+ rootObject = FC12E92620EB6B2800807EF4 /* Project object */;
}
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/ios/PaddleMobile.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from ios/PaddleMobile.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000000000000000000000000000000000000..395136a63bb50378df8c37256880d4bbf9fd2f83
Binary files /dev/null and b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist
diff --git a/demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..0d2e035ab3c44617694f9ebe437d1a7289be0390
--- /dev/null
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h
@@ -0,0 +1,23 @@
+/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */
+
+#import
+
+@interface AppDelegate : UIResponder
+
+@property (strong, nonatomic) UIWindow *window;
+
+
+@end
+
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m
similarity index 78%
rename from ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m
index 12cc19636b43f7fc3634736c4b551b4aba29ce73..6644c3c079ae1748de28a634b78c344640cd335a 100644
--- a/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m
@@ -1,16 +1,16 @@
/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. */
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */
#import "AppDelegate.h"
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/Contents.json b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/Contents.json
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/Contents.json
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/Contents.json
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/LaunchScreen.storyboard b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/LaunchScreen.storyboard
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/LaunchScreen.storyboard
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/LaunchScreen.storyboard
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/Main.storyboard b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/Main.storyboard
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/Main.storyboard
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/Main.storyboard
diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/Info.plist b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/Info.plist
similarity index 100%
rename from ios/PaddleMobileDemo/PaddleMobileDemo/Info.plist
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/Info.plist
diff --git a/ios/PaddleMobile/PaddleMobile/PaddleMobile.h b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/PaddleMobile/PaddleMobile.h
similarity index 78%
rename from ios/PaddleMobile/PaddleMobile/PaddleMobile.h
rename to demo/ios/PaddleMobileDemo/PaddleMobileDemo/PaddleMobile/PaddleMobile.h
index 3878c54c8a19a99e535bd8ad90eb1e19e28757c3..ec58371de032c265b2c32a5bac61ca6cf682ff28 100644
--- a/ios/PaddleMobile/PaddleMobile/PaddleMobile.h
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/PaddleMobile/PaddleMobile.h
@@ -17,10 +17,10 @@
@interface PaddleMobile : NSObject
-+ (instancetype)sharedInstance;
+- (instancetype)init;
- (BOOL)load:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath;
-- (NSArray *)predict:(CGImageRef)image means:(NSArray *)means scale:(float)scale;
-- (NSArray *)predict:(CGImageRef)image;
+- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale;
+- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim;
- (void)clear;
@end
diff --git a/demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h
new file mode 100644
index 0000000000000000000000000000000000000000..41e22092711c4fd1def105470c5b6610cce2257a
--- /dev/null
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h
@@ -0,0 +1,21 @@
+/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */
+
+#import
+
+@interface ViewController : UIViewController
+
+
+@end
+
diff --git a/demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m
new file mode 100644
index 0000000000000000000000000000000000000000..eb9f7d2bb5329ac4bbf8b790dc83c256f164ec64
--- /dev/null
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m
@@ -0,0 +1,49 @@
+/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */
+
+#import "PaddleMobile.h"
+#import "ViewController.h"
+
+@interface ViewController ()
+
+@end
+
+@implementation ViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+ PaddleMobile *pam = [[PaddleMobile alloc] init];
+ NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"model" ofType:nil];
+ NSString *paramPath = [[NSBundle mainBundle] pathForResource:@"params" ofType:nil];
+ if (modelPath.length == 0 || paramPath.length == 0) {
+ NSLog(@" need model and param");
+ return;
+ }
+
+ if ([pam load:modelPath andWeightsPath:paramPath]) {
+ NSLog(@"load success");
+ UIImage *inputImage = [UIImage imageNamed:@"apple.jpg"];
+ if (!inputImage) {
+ NSLog(@" input image is nil");
+ return;
+ }
+
+ NSDate *beforeDate = [NSDate date];
+ NSArray *res = [pam predict:inputImage.CGImage dim:@[@1, @3, @224, @224] means:@[@148, @148, @148] scale:1.0];
+ NSLog(@"res: %@", res);
+ NSLog(@"elapsed time: %f", [[NSDate date] timeIntervalSinceDate:beforeDate]);
+ }
+}
+
+@end
diff --git a/demo/ios/PaddleMobileDemo/PaddleMobileDemo/main.m b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/main.m
new file mode 100644
index 0000000000000000000000000000000000000000..cf2cf6aa80b1d3d3c0480b54a668780ea3324c8b
--- /dev/null
+++ b/demo/ios/PaddleMobileDemo/PaddleMobileDemo/main.m
@@ -0,0 +1,22 @@
+/* Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. */
+
+#import
+#import "AppDelegate.h"
+
+int main(int argc, char * argv[]) {
+ @autoreleasepool {
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}
diff --git a/doc/design_doc.md b/doc/design_doc.md
index 3407c78443de0f0c7d9ebab848122c2e089e9e41..bf5f78e8d805465418cad8989945f2afa7ab5587 100644
--- a/doc/design_doc.md
+++ b/doc/design_doc.md
@@ -3,7 +3,6 @@
#### 以下是 paddle-mobile 代码的执行流程图:
-
![执行流程图](http://otkwwi4x8.bkt.clouddn.com/2018-07-02-15305189473720.png)
@@ -15,7 +14,6 @@
先来看一下模型, 模型分为两种结构:
一种为参数文件是散开的, 如下图, 红框为模型结构的 protobuf 文件, 其余为参数文件
-
![模型描述](http://otkwwi4x8.bkt.clouddn.com/2018-07-02-15305190629577.png)
@@ -23,6 +21,7 @@
![模型描述combined](http://otkwwi4x8.bkt.clouddn.com/2018-07-02-15305191057130.png)
+
loader 模块的作用是将模型结构信息 load 进内存, 将红框内的 protobuf 文件 load 进内存, 并对模型结构进行优化(如将几个细粒度的 op 融合成 粗粒度的 op, 如将 conv、 add、 batchnorm、 relu 融合为 conv\_add\_batchnorm\_relu).
方便进行算法优化.
diff --git a/doc/development_doc.md b/doc/development_doc.md
index 5673e043bda80e414d7e841928283764bd2b310e..90f07a65ffe00bd20a8277dce97286d92875670b 100644
--- a/doc/development_doc.md
+++ b/doc/development_doc.md
@@ -1,10 +1,12 @@
+### iOS&Android开发文档
+
# iOS开发文档
## 编译
### 一. 使用 build.sh 编译
-```sh
+```sh
sh build.sh ios
# 如果只想编译某个特定模型的 op, 则需执行以下命令
@@ -15,39 +17,24 @@ cd ../build/release/ios/build
```
-### 二. 使用 xcode 编译
-
-我们提供了 ios 开发更为熟悉的 xcode 编译环境:
-在 ios/ 目录下打开 PaddleMobile.xcworkspace 即可编译 PaddleMobile 或者 运行 Demo
+### 二. 集成
-### 三. 集成
-
-#### 如使用 c++ 接口
-将
+#### 如使用 oc 接口
```
-libpaddle-mobile.a
-io.h
-program.h
-types.h
-lod_tensor.h
-tensor.h
-```
-拖入工程, io.h 为接口文件, 可在 [github](https://github.com/PaddlePaddle/paddle-mobile/blob/develop/src/io/io.h)上查看接口注释
+将上一步生成的:
+libpaddle-mobile.a
-#### 如使用 oc 接口
-将在xcode 编译生成的
-```
-libPaddleMobile.a
+/src/ios_io/ 下的
PaddleMobile.h
```
拖入工程, 接口如下:
```
/*
- 创建单例对象
+ 创建对象
*/
-+ (instancetype)sharedInstance;
+- (instancetype)init;
/*
load 模型, 开辟内存
@@ -57,12 +44,12 @@ PaddleMobile.h
/*
进行预测, means 和 scale 为训练模型时的预处理参数, 如训练时没有做这些预处理则直接使用 predict
*/
-- (NSArray *)predict:(CGImageRef)image means:(NSArray *)means scale:(float)scale;
+- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale;
/*
进行预测
*/
-- (NSArray *)predict:(CGImageRef)image;
+- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim;
/*
清理内存
@@ -72,14 +59,155 @@ PaddleMobile.h
```
+# Android开发文档
+
+用户可通过如下两种方式,交叉编译Android平台上适用的paddle-mobile库:
+
+- 基于Docker容器编译
+- 基于Linux交叉编译
+
+
+## 基于Docker容器编译
+### 1. 安装 docker
+安装 docker 的方式,参考官方文档 [https://docs.docker.com/install/](https://docs.docker.com/install/)
+### 2. 使用 docker 搭建构建环境
+首先进入 paddle-mobile 的目录下,执行 `docker build`
+以 Linux/Mac 为例 (windows 建议在 'Docker Quickstart Terminal' 中执行)
+
+```
+$ docker build -t paddle-mobile:dev - < Dockerfile
+```
+使用 `docker images` 可以看到我们新建的 image
+
+```
+$ docker images
+REPOSITORY TAG IMAGE ID CREATED SIZE
+paddle-mobile dev 33b146787711 45 hours ago 372MB
+```
+### 3. 使用 docker 构建
+进入 paddle-mobile 目录,执行 docker run
+
+```
+$ docker run -it --mount type=bind,source=$PWD,target=/paddle-mobile paddle-mobile:dev
+root@5affd29d4fc5:/ # cd /paddle-mobile
+# 生成构建 android 产出的 Makefile
+root@5affd29d4fc5:/ # rm CMakeCache.txt
+root@5affd29d4fc5:/ # cmake -DCMAKE_TOOLCHAIN_FILE=tools/toolchains/arm-android-neon.cmake
+# 生成构建 linux 产出的 Makefile
+root@5affd29d4fc5:/ # rm CMakeCache.txt
+root@5affd29d4fc5:/ # cmake -DCMAKE_TOOLCHAIN_FILE=tools/toolchains/arm-linux-gnueabi.cmake
+```
+### 4. 设置编译选项
+可以通过 ccmake 设置编译选项
+```
+root@5affd29d4fc5:/ # ccmake .
+ Page 1 of 1
+ CMAKE_ASM_FLAGS
+ CMAKE_ASM_FLAGS_DEBUG
+ CMAKE_ASM_FLAGS_RELEASE
+ CMAKE_BUILD_TYPE
+ CMAKE_INSTALL_PREFIX /usr/local
+ CMAKE_TOOLCHAIN_FILE /paddle-mobile/tools/toolchains/arm-android-neon.cmake
+ CPU ON
+ DEBUGING ON
+ FPGA OFF
+ LOG_PROFILE ON
+ MALI_GPU OFF
+ NET googlenet
+ USE_EXCEPTION ON
+ USE_OPENMP OFF
+```
+修改选项后,按 `c`, `g` 更新 Makefile
+### 5. 构建
+使用 make 命令进行构建
+```
+root@5affd29d4fc5:/ # make
+```
+### 6. 查看构建产出
+构架产出可以在 host 机器上查看,在 paddle-mobile 的目录下,build 以及 test/build 下,可以使用 adb 指令或者 scp 传输到 device 上执行
+## 基于Linux交叉编译
+### 交叉编译环境准备
+##### 下载Android NDK
+从源码交叉编译paddle-mobile,用户需要提前准备好交叉编译环境。Android平台使用的C/C++交叉编译工具链是[Android NDK](https://developer.android.com/ndk/),用户可以自行前往下载,也可以通过以下命令获取:
+```
+wget https://dl.google.com/android/repository/android-ndk-r17b-darwin-x86_64.zip
+unzip android-ndk-r17b-darwin-x86_64.zip
+```
+##### 设置环境变量
+工程中自带的独立工具链会根据环境变量NDK_ROOT查找NDK,因此需要配置环境变量:
+```
+export NDK_ROOT = "path to ndk"
+```
+### 执行编译
+在paddle-mobile根目录中,执行以下命令:
+```
+cd tools
+sh build.sh android
+
+```
+执行完毕后,生成的so位于build目录中,单测可执行文件位于test/build目录中。
+##### Tips:
+如果想要获得体积更小的库,可选择编译支持指定模型结构的库。
+如执行如下命令:
+
+```
+sh build.sh android googlenet
+```
+会得到一个支持googlnet的体积更小的库。
+
+##测试
+在编译完成后,我们提供了自动化的测试脚本,帮助用户将运行单测文件所需要的模型及库文件push到Android设备中,执行以下命令:
+
+```
+cd tools/android-debug-script
+sh run_on_android.sh (npm) 可选参数npm,用于选择是否传输模型文件到手机上
+```
+出现如下提示:
+
+```
+**** choose OP or NET to test ****
+which to test :
+```
+输入名称即可运行对应的测试文件。
+
+##部署
+Android应用可通过JNI接口调用底层C/C++,paddle-mobile对外提供的JNI接口如下:
+
+##### 1 load接口 加载模型参数
+
+```
+/*
+*@param modelPath 模型文件路径
+*@return jboolean
+*/
+JNIEXPORT jboolean JNICALL Java_com_baidu_paddle_PML_load(JNIEnv *env,
+ jclass thiz,
+ jstring modelPath);
+```
+
+##### 2 predict接口 执行预测
+
+```
+/**
+*@param buf 输入数据
+*@return 输出数据
+JNIEXPORT jfloatArray JNICALL Java_com_baidu_paddle_PML_predict(
+ JNIEnv *env, jclass thiz, jfloatArray buf);
+```
+##### 3 clear接口 销毁实例、清理内存操作
+
+```
+JNIEXPORT void JNICALL Java_com_baidu_paddle_PMLL_clear(JNIEnv *env,
+ jclass thiz);
+```
diff --git a/ios/PaddleMobile.xcworkspace/contents.xcworkspacedata b/ios/PaddleMobile.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 7c3243eefa5fdeaa40b8697bd8e0b5ba2daeeb55..0000000000000000000000000000000000000000
--- a/ios/PaddleMobile.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate b/ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index ff9a9abc7211d4c390fca9535743ee452515390e..0000000000000000000000000000000000000000
Binary files a/ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
deleted file mode 100644
index ed9a9b4d42c454d27017c91c04ce8b8a518ac029..0000000000000000000000000000000000000000
--- a/ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.pbxproj b/ios/PaddleMobile/PaddleMobile.xcodeproj/project.pbxproj
deleted file mode 100644
index 7907ac8955996b25f9173a6114bccad3b1e1bed9..0000000000000000000000000000000000000000
--- a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,965 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 50;
- objects = {
-
-/* Begin PBXBuildFile section */
- FC086BB420E7839B00D85EF7 /* PaddleMobile.m in Sources */ = {isa = PBXBuildFile; fileRef = FC086BB320E7839B00D85EF7 /* PaddleMobile.m */; };
- FC086BB520E7839B00D85EF7 /* PaddleMobile.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FC086BB220E7839B00D85EF7 /* PaddleMobile.h */; };
- FC086DC620E7841E00D85EF7 /* t_malloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086CFE20E7841E00D85EF7 /* t_malloc.cpp */; };
- FC086DC720E7841E00D85EF7 /* lrn_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0320E7841E00D85EF7 /* lrn_op.cpp */; };
- FC086DC820E7841E00D85EF7 /* sigmoid_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0520E7841E00D85EF7 /* sigmoid_op.cpp */; };
- FC086DC920E7841E00D85EF7 /* box_coder_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0620E7841E00D85EF7 /* box_coder_op.cpp */; };
- FC086DCA20E7841E00D85EF7 /* feed_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0720E7841E00D85EF7 /* feed_op.cpp */; };
- FC086DCB20E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0A20E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.cpp */; };
- FC086DCC20E7841E00D85EF7 /* reshape_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0B20E7841E00D85EF7 /* reshape_op.cpp */; };
- FC086DCD20E7841E00D85EF7 /* concat_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0C20E7841E00D85EF7 /* concat_op.cpp */; };
- FC086DCE20E7841E00D85EF7 /* transpose_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0D20E7841E00D85EF7 /* transpose_op.cpp */; };
- FC086DCF20E7841E00D85EF7 /* prior_box_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0E20E7841E00D85EF7 /* prior_box_op.cpp */; };
- FC086DD020E7841E00D85EF7 /* fusion_conv_add_relu_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D0F20E7841E00D85EF7 /* fusion_conv_add_relu_op.cpp */; };
- FC086DD120E7841E00D85EF7 /* softmax_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D1520E7841E00D85EF7 /* softmax_op.cpp */; };
- FC086DD220E7841E00D85EF7 /* depthwise_conv_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D1720E7841E00D85EF7 /* depthwise_conv_op.cpp */; };
- FC086DD320E7841E00D85EF7 /* elementwise_add_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D1A20E7841E00D85EF7 /* elementwise_add_op.cpp */; };
- FC086DD420E7841E00D85EF7 /* gemm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D1F20E7841E00D85EF7 /* gemm.cpp */; };
- FC086DD520E7841E00D85EF7 /* pool_2x2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2220E7841E00D85EF7 /* pool_2x2.cpp */; };
- FC086DD620E7841E00D85EF7 /* im2col.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2320E7841E00D85EF7 /* im2col.cpp */; };
- FC086DD720E7841E00D85EF7 /* vol2col.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2620E7841E00D85EF7 /* vol2col.cpp */; };
- FC086DD820E7841E00D85EF7 /* math_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2720E7841E00D85EF7 /* math_function.cpp */; };
- FC086DD920E7841E00D85EF7 /* pool_3x3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2820E7841E00D85EF7 /* pool_3x3.cpp */; };
- FC086DDA20E7841E00D85EF7 /* pooling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2B20E7841E00D85EF7 /* pooling.cpp */; };
- FC086DDB20E7841E00D85EF7 /* depthwise_conv_3x3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2D20E7841E00D85EF7 /* depthwise_conv_3x3.cpp */; };
- FC086DDC20E7841E00D85EF7 /* softmax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D2F20E7841E00D85EF7 /* softmax.cpp */; };
- FC086DDD20E7841E00D85EF7 /* fetch_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3420E7841E00D85EF7 /* fetch_op.cpp */; };
- FC086DDE20E7841E00D85EF7 /* fusion_conv_add.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3520E7841E00D85EF7 /* fusion_conv_add.cpp */; };
- FC086DDF20E7841E00D85EF7 /* op_param.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3620E7841E00D85EF7 /* op_param.cpp */; };
- FC086DE020E7841E00D85EF7 /* mul_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3A20E7841E00D85EF7 /* mul_op.cpp */; };
- FC086DE120E7841E00D85EF7 /* relu_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3B20E7841E00D85EF7 /* relu_op.cpp */; };
- FC086DE220E7841E00D85EF7 /* conv_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3C20E7841E00D85EF7 /* conv_op.cpp */; };
- FC086DE320E7841E00D85EF7 /* fusion_fc_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D3D20E7841E00D85EF7 /* fusion_fc_op.cpp */; };
- FC086DE420E7841E00D85EF7 /* batchnorm_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D4020E7841E00D85EF7 /* batchnorm_op.cpp */; };
- FC086DE520E7841E00D85EF7 /* pool_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D4220E7841E00D85EF7 /* pool_op.cpp */; };
- FC086DE620E7841E00D85EF7 /* multiclass_nms_op.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D4420E7841E00D85EF7 /* multiclass_nms_op.cpp */; };
- FC086DE720E7841E00D85EF7 /* acl_tensor.cc in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5220E7841E00D85EF7 /* acl_tensor.cc */; };
- FC086DE820E7841E00D85EF7 /* acl_operator.cc in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5320E7841E00D85EF7 /* acl_operator.cc */; };
- FC086DE920E7841E00D85EF7 /* conv_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5420E7841E00D85EF7 /* conv_kernel.cpp */; };
- FC086DEA20E7841E00D85EF7 /* conv_add_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5620E7841E00D85EF7 /* conv_add_kernel.cpp */; };
- FC086DEB20E7841E00D85EF7 /* relu_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5820E7841E00D85EF7 /* relu_kernel.cpp */; };
- FC086DEC20E7841E00D85EF7 /* mul_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5920E7841E00D85EF7 /* mul_kernel.cpp */; };
- FC086DED20E7841E00D85EF7 /* elementwise_add_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5A20E7841E00D85EF7 /* elementwise_add_kernel.cpp */; };
- FC086DEE20E7841E00D85EF7 /* softmax_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5C20E7841E00D85EF7 /* softmax_kernel.cpp */; };
- FC086DEF20E7841E00D85EF7 /* concat_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5D20E7841E00D85EF7 /* concat_kernel.cpp */; };
- FC086DF020E7841E00D85EF7 /* pool_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5E20E7841E00D85EF7 /* pool_kernel.cpp */; };
- FC086DF120E7841E00D85EF7 /* reshape_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D5F20E7841E00D85EF7 /* reshape_kernel.cpp */; };
- FC086DF220E7841E00D85EF7 /* lrn_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D6020E7841E00D85EF7 /* lrn_kernel.cpp */; };
- FC086DF320E7841E00D85EF7 /* fushion_fc_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D6120E7841E00D85EF7 /* fushion_fc_kernel.cpp */; };
- FC086DF420E7841E00D85EF7 /* batchnorm_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D6220E7841E00D85EF7 /* batchnorm_kernel.cpp */; };
- FC086DF520E7841E00D85EF7 /* conv_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D6F20E7841E00D85EF7 /* conv_kernel.cpp */; };
- FC086DF620E7841E00D85EF7 /* prior_box_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7420E7841E00D85EF7 /* prior_box_kernel.cpp */; };
- FC086DF720E7841E00D85EF7 /* conv_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7520E7841E00D85EF7 /* conv_kernel.cpp */; };
- FC086DF820E7841E00D85EF7 /* conv_add_bn_relu_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7620E7841E00D85EF7 /* conv_add_bn_relu_kernel.cpp */; };
- FC086DF920E7841E00D85EF7 /* box_coder_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7720E7841E00D85EF7 /* box_coder_kernel.cpp */; };
- FC086DFA20E7841E00D85EF7 /* conv_add_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7820E7841E00D85EF7 /* conv_add_kernel.cpp */; };
- FC086DFB20E7841E00D85EF7 /* sigmoid_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7920E7841E00D85EF7 /* sigmoid_kernel.cpp */; };
- FC086DFC20E7841E00D85EF7 /* relu_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7A20E7841E00D85EF7 /* relu_kernel.cpp */; };
- FC086DFD20E7841E00D85EF7 /* mul_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7B20E7841E00D85EF7 /* mul_kernel.cpp */; };
- FC086DFE20E7841E00D85EF7 /* elementwise_add_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7C20E7841E00D85EF7 /* elementwise_add_kernel.cpp */; };
- FC086DFF20E7841E00D85EF7 /* conv_add_relu_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7D20E7841E00D85EF7 /* conv_add_relu_kernel.cpp */; };
- FC086E0020E7841E00D85EF7 /* transpose_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7E20E7841E00D85EF7 /* transpose_kernel.cpp */; };
- FC086E0120E7841E00D85EF7 /* depthwise_conv_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D7F20E7841E00D85EF7 /* depthwise_conv_kernel.cpp */; };
- FC086E0220E7841E00D85EF7 /* softmax_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8020E7841E00D85EF7 /* softmax_kernel.cpp */; };
- FC086E0320E7841E00D85EF7 /* concat_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8120E7841E00D85EF7 /* concat_kernel.cpp */; };
- FC086E0420E7841E00D85EF7 /* fusion_fc_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8220E7841E00D85EF7 /* fusion_fc_kernel.cpp */; };
- FC086E0520E7841E00D85EF7 /* pool_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8320E7841E00D85EF7 /* pool_kernel.cpp */; };
- FC086E0620E7841E00D85EF7 /* reshape_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8420E7841E00D85EF7 /* reshape_kernel.cpp */; };
- FC086E0720E7841E00D85EF7 /* lrn_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8520E7841E00D85EF7 /* lrn_kernel.cpp */; };
- FC086E0820E7841E00D85EF7 /* batchnorm_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8620E7841E00D85EF7 /* batchnorm_kernel.cpp */; };
- FC086E0920E7841E00D85EF7 /* multiclass_nms_kernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8720E7841E00D85EF7 /* multiclass_nms_kernel.cpp */; };
- FC086E0A20E7841E00D85EF7 /* framework.pb-c.c in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8B20E7841E00D85EF7 /* framework.pb-c.c */; };
- FC086E0B20E7841E00D85EF7 /* tensor_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8C20E7841E00D85EF7 /* tensor_util.cpp */; };
- FC086E0C20E7841E00D85EF7 /* operator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D8F20E7841E00D85EF7 /* operator.cpp */; };
- FC086E0D20E7841E00D85EF7 /* ddim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D9020E7841E00D85EF7 /* ddim.cpp */; };
- FC086E0E20E7841E00D85EF7 /* scope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D9320E7841E00D85EF7 /* scope.cpp */; };
- FC086E0F20E7841E00D85EF7 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D9920E7841E00D85EF7 /* attribute.cpp */; };
- FC086E1020E7841E00D85EF7 /* op_desc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D9C20E7841E00D85EF7 /* op_desc.cpp */; };
- FC086E1120E7841E00D85EF7 /* program_desc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086D9D20E7841E00D85EF7 /* program_desc.cpp */; };
- FC086E1220E7841E00D85EF7 /* node.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DA320E7841E00D85EF7 /* node.cpp */; };
- FC086E1320E7841E00D85EF7 /* program_optimize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DA620E7841E00D85EF7 /* program_optimize.cpp */; };
- FC086E1420E7841E00D85EF7 /* block_desc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DA720E7841E00D85EF7 /* block_desc.cpp */; };
- FC086E1520E7841E00D85EF7 /* lod_tensor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DAB20E7841E00D85EF7 /* lod_tensor.cpp */; };
- FC086E1620E7841E00D85EF7 /* io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DB320E7841E00D85EF7 /* io.cpp */; };
- FC086E1720E7841E00D85EF7 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DB620E7841E00D85EF7 /* types.cpp */; };
- FC086E1820E7841E00D85EF7 /* openmp-fix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DBA20E7841E00D85EF7 /* openmp-fix.cpp */; };
- FC086E1920E7841E00D85EF7 /* protobuf-c.c in Sources */ = {isa = PBXBuildFile; fileRef = FC086DC120E7841E00D85EF7 /* protobuf-c.c */; };
- FC086E1A20E7841E00D85EF7 /* paddle_mobile_jni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC086DC420E7841E00D85EF7 /* paddle_mobile_jni.cpp */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- FC086BAD20E7839B00D85EF7 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "include/$(PRODUCT_NAME)";
- dstSubfolderSpec = 16;
- files = (
- FC086BB520E7839B00D85EF7 /* PaddleMobile.h in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- FC086BAF20E7839B00D85EF7 /* libPaddleMobile.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPaddleMobile.a; sourceTree = BUILT_PRODUCTS_DIR; };
- FC086BB220E7839B00D85EF7 /* PaddleMobile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaddleMobile.h; sourceTree = ""; };
- FC086BB320E7839B00D85EF7 /* PaddleMobile.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PaddleMobile.m; sourceTree = ""; };
- FC086CFE20E7841E00D85EF7 /* t_malloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = t_malloc.cpp; sourceTree = ""; };
- FC086CFF20E7841E00D85EF7 /* t_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t_malloc.h; sourceTree = ""; };
- FC086D0120E7841E00D85EF7 /* feed_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = feed_op.h; sourceTree = ""; };
- FC086D0220E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fusion_conv_add_bn_relu_op.h; sourceTree = ""; };
- FC086D0320E7841E00D85EF7 /* lrn_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lrn_op.cpp; sourceTree = ""; };
- FC086D0420E7841E00D85EF7 /* op_param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = op_param.h; sourceTree = ""; };
- FC086D0520E7841E00D85EF7 /* sigmoid_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sigmoid_op.cpp; sourceTree = ""; };
- FC086D0620E7841E00D85EF7 /* box_coder_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = box_coder_op.cpp; sourceTree = ""; };
- FC086D0720E7841E00D85EF7 /* feed_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = feed_op.cpp; sourceTree = ""; };
- FC086D0820E7841E00D85EF7 /* mul_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mul_op.h; sourceTree = ""; };
- FC086D0920E7841E00D85EF7 /* prior_box_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prior_box_op.h; sourceTree = ""; };
- FC086D0A20E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fusion_conv_add_bn_relu_op.cpp; sourceTree = ""; };
- FC086D0B20E7841E00D85EF7 /* reshape_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reshape_op.cpp; sourceTree = ""; };
- FC086D0C20E7841E00D85EF7 /* concat_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = concat_op.cpp; sourceTree = ""; };
- FC086D0D20E7841E00D85EF7 /* transpose_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transpose_op.cpp; sourceTree = ""; };
- FC086D0E20E7841E00D85EF7 /* prior_box_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = prior_box_op.cpp; sourceTree = ""; };
- FC086D0F20E7841E00D85EF7 /* fusion_conv_add_relu_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fusion_conv_add_relu_op.cpp; sourceTree = ""; };
- FC086D1020E7841E00D85EF7 /* lrn_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lrn_op.h; sourceTree = ""; };
- FC086D1120E7841E00D85EF7 /* multiclass_nms_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = multiclass_nms_op.h; sourceTree = ""; };
- FC086D1220E7841E00D85EF7 /* relu_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = relu_op.h; sourceTree = ""; };
- FC086D1320E7841E00D85EF7 /* fusion_conv_add.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fusion_conv_add.h; sourceTree = ""; };
- FC086D1420E7841E00D85EF7 /* conv_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_op.h; sourceTree = ""; };
- FC086D1520E7841E00D85EF7 /* softmax_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = softmax_op.cpp; sourceTree = ""; };
- FC086D1620E7841E00D85EF7 /* pool_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pool_op.h; sourceTree = ""; };
- FC086D1720E7841E00D85EF7 /* depthwise_conv_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = depthwise_conv_op.cpp; sourceTree = ""; };
- FC086D1820E7841E00D85EF7 /* softmax_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = softmax_op.h; sourceTree = ""; };
- FC086D1920E7841E00D85EF7 /* elementwise_add_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = elementwise_add_op.h; sourceTree = ""; };
- FC086D1A20E7841E00D85EF7 /* elementwise_add_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = elementwise_add_op.cpp; sourceTree = ""; };
- FC086D1B20E7841E00D85EF7 /* fetch_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fetch_op.h; sourceTree = ""; };
- FC086D1D20E7841E00D85EF7 /* elementwise_op_function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = elementwise_op_function.h; sourceTree = ""; };
- FC086D1E20E7841E00D85EF7 /* softmax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = softmax.h; sourceTree = ""; };
- FC086D1F20E7841E00D85EF7 /* gemm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gemm.cpp; sourceTree = ""; };
- FC086D2020E7841E00D85EF7 /* math_function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math_function.h; sourceTree = ""; };
- FC086D2120E7841E00D85EF7 /* conv_func.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_func.h; sourceTree = ""; };
- FC086D2220E7841E00D85EF7 /* pool_2x2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pool_2x2.cpp; sourceTree = ""; };
- FC086D2320E7841E00D85EF7 /* im2col.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = im2col.cpp; sourceTree = ""; };
- FC086D2420E7841E00D85EF7 /* gemm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gemm.h; sourceTree = ""; };
- FC086D2520E7841E00D85EF7 /* im2col.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = im2col.h; sourceTree = ""; };
- FC086D2620E7841E00D85EF7 /* vol2col.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vol2col.cpp; sourceTree = ""; };
- FC086D2720E7841E00D85EF7 /* math_function.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = math_function.cpp; sourceTree = ""; };
- FC086D2820E7841E00D85EF7 /* pool_3x3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pool_3x3.cpp; sourceTree = ""; };
- FC086D2920E7841E00D85EF7 /* pool_2x2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pool_2x2.h; sourceTree = ""; };
- FC086D2A20E7841E00D85EF7 /* depthwise_conv_3x3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = depthwise_conv_3x3.h; sourceTree = ""; };
- FC086D2B20E7841E00D85EF7 /* pooling.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pooling.cpp; sourceTree = ""; };
- FC086D2C20E7841E00D85EF7 /* pool_3x3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pool_3x3.h; sourceTree = ""; };
- FC086D2D20E7841E00D85EF7 /* depthwise_conv_3x3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = depthwise_conv_3x3.cpp; sourceTree = ""; };
- FC086D2E20E7841E00D85EF7 /* vol2col.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vol2col.h; sourceTree = ""; };
- FC086D2F20E7841E00D85EF7 /* softmax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = softmax.cpp; sourceTree = ""; };
- FC086D3020E7841E00D85EF7 /* transform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transform.h; sourceTree = ""; };
- FC086D3120E7841E00D85EF7 /* pooling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pooling.h; sourceTree = ""; };
- FC086D3220E7841E00D85EF7 /* math_func_neon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math_func_neon.h; sourceTree = ""; };
- FC086D3320E7841E00D85EF7 /* fusion_conv_add_relu_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fusion_conv_add_relu_op.h; sourceTree = ""; };
- FC086D3420E7841E00D85EF7 /* fetch_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fetch_op.cpp; sourceTree = ""; };
- FC086D3520E7841E00D85EF7 /* fusion_conv_add.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fusion_conv_add.cpp; sourceTree = ""; };
- FC086D3620E7841E00D85EF7 /* op_param.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = op_param.cpp; sourceTree = ""; };
- FC086D3720E7841E00D85EF7 /* transpose_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transpose_op.h; sourceTree = ""; };
- FC086D3820E7841E00D85EF7 /* fusion_fc_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fusion_fc_op.h; sourceTree = ""; };
- FC086D3920E7841E00D85EF7 /* batchnorm_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = batchnorm_op.h; sourceTree = ""; };
- FC086D3A20E7841E00D85EF7 /* mul_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mul_op.cpp; sourceTree = ""; };
- FC086D3B20E7841E00D85EF7 /* relu_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = relu_op.cpp; sourceTree = ""; };
- FC086D3C20E7841E00D85EF7 /* conv_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_op.cpp; sourceTree = ""; };
- FC086D3D20E7841E00D85EF7 /* fusion_fc_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fusion_fc_op.cpp; sourceTree = ""; };
- FC086D3E20E7841E00D85EF7 /* box_coder_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = box_coder_op.h; sourceTree = ""; };
- FC086D3F20E7841E00D85EF7 /* concat_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = concat_op.h; sourceTree = ""; };
- FC086D4020E7841E00D85EF7 /* batchnorm_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = batchnorm_op.cpp; sourceTree = ""; };
- FC086D4120E7841E00D85EF7 /* reshape_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reshape_op.h; sourceTree = ""; };
- FC086D4220E7841E00D85EF7 /* pool_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pool_op.cpp; sourceTree = ""; };
- FC086D4320E7841E00D85EF7 /* sigmoid_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sigmoid_op.h; sourceTree = ""; };
- FC086D4420E7841E00D85EF7 /* multiclass_nms_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = multiclass_nms_op.cpp; sourceTree = ""; };
- FC086D4620E7841E00D85EF7 /* relu_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = relu_kernel.h; sourceTree = ""; };
- FC086D4720E7841E00D85EF7 /* multiclass_nms_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = multiclass_nms_kernel.h; sourceTree = ""; };
- FC086D4820E7841E00D85EF7 /* depthwise_conv_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = depthwise_conv_kernel.h; sourceTree = ""; };
- FC086D4920E7841E00D85EF7 /* lrn_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lrn_kernel.h; sourceTree = ""; };
- FC086D4A20E7841E00D85EF7 /* pool_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pool_kernel.h; sourceTree = ""; };
- FC086D4B20E7841E00D85EF7 /* fusion_fc_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fusion_fc_kernel.h; sourceTree = ""; };
- FC086D4C20E7841E00D85EF7 /* box_coder_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = box_coder_kernel.h; sourceTree = ""; };
- FC086D4D20E7841E00D85EF7 /* concat_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = concat_kernel.h; sourceTree = ""; };
- FC086D4E20E7841E00D85EF7 /* mul_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mul_kernel.h; sourceTree = ""; };
- FC086D4F20E7841E00D85EF7 /* softmax_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = softmax_kernel.h; sourceTree = ""; };
- FC086D5020E7841E00D85EF7 /* batchnorm_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = batchnorm_kernel.h; sourceTree = ""; };
- FC086D5220E7841E00D85EF7 /* acl_tensor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = acl_tensor.cc; sourceTree = ""; };
- FC086D5320E7841E00D85EF7 /* acl_operator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = acl_operator.cc; sourceTree = ""; };
- FC086D5420E7841E00D85EF7 /* conv_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_kernel.cpp; sourceTree = ""; };
- FC086D5520E7841E00D85EF7 /* acl_operator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acl_operator.h; sourceTree = ""; };
- FC086D5620E7841E00D85EF7 /* conv_add_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_add_kernel.cpp; sourceTree = ""; };
- FC086D5720E7841E00D85EF7 /* acl_tensor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acl_tensor.h; sourceTree = ""; };
- FC086D5820E7841E00D85EF7 /* relu_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = relu_kernel.cpp; sourceTree = ""; };
- FC086D5920E7841E00D85EF7 /* mul_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mul_kernel.cpp; sourceTree = ""; };
- FC086D5A20E7841E00D85EF7 /* elementwise_add_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = elementwise_add_kernel.cpp; sourceTree = ""; };
- FC086D5C20E7841E00D85EF7 /* softmax_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = softmax_kernel.cpp; sourceTree = ""; };
- FC086D5D20E7841E00D85EF7 /* concat_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = concat_kernel.cpp; sourceTree = ""; };
- FC086D5E20E7841E00D85EF7 /* pool_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pool_kernel.cpp; sourceTree = ""; };
- FC086D5F20E7841E00D85EF7 /* reshape_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reshape_kernel.cpp; sourceTree = ""; };
- FC086D6020E7841E00D85EF7 /* lrn_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lrn_kernel.cpp; sourceTree = ""; };
- FC086D6120E7841E00D85EF7 /* fushion_fc_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fushion_fc_kernel.cpp; sourceTree = ""; };
- FC086D6220E7841E00D85EF7 /* batchnorm_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = batchnorm_kernel.cpp; sourceTree = ""; };
- FC086D6320E7841E00D85EF7 /* elementwise_add_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = elementwise_add_kernel.h; sourceTree = ""; };
- FC086D6520E7841E00D85EF7 /* conv_arm_func.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_arm_func.h; sourceTree = ""; };
- FC086D6620E7841E00D85EF7 /* conv_add_bn_relu_func.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_add_bn_relu_func.h; sourceTree = ""; };
- FC086D6720E7841E00D85EF7 /* conv_add_relu_arm_func.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_add_relu_arm_func.h; sourceTree = ""; };
- FC086D6820E7841E00D85EF7 /* depthwise_conv_arm_func.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = depthwise_conv_arm_func.h; sourceTree = ""; };
- FC086D6920E7841E00D85EF7 /* batchnorm_arm_func.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = batchnorm_arm_func.h; sourceTree = ""; };
- FC086D6A20E7841E00D85EF7 /* conv_add_relu_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_add_relu_kernel.h; sourceTree = ""; };
- FC086D6B20E7841E00D85EF7 /* reshape_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reshape_kernel.h; sourceTree = ""; };
- FC086D6C20E7841E00D85EF7 /* transpose_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transpose_kernel.h; sourceTree = ""; };
- FC086D6D20E7841E00D85EF7 /* conv_add_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_add_kernel.h; sourceTree = ""; };
- FC086D6F20E7841E00D85EF7 /* conv_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_kernel.cpp; sourceTree = ""; };
- FC086D7020E7841E00D85EF7 /* conv_add_bn_relu_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_add_bn_relu_kernel.h; sourceTree = ""; };
- FC086D7120E7841E00D85EF7 /* prior_box_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prior_box_kernel.h; sourceTree = ""; };
- FC086D7220E7841E00D85EF7 /* conv_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conv_kernel.h; sourceTree = ""; };
- FC086D7420E7841E00D85EF7 /* prior_box_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = prior_box_kernel.cpp; sourceTree = ""; };
- FC086D7520E7841E00D85EF7 /* conv_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_kernel.cpp; sourceTree = ""; };
- FC086D7620E7841E00D85EF7 /* conv_add_bn_relu_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_add_bn_relu_kernel.cpp; sourceTree = ""; };
- FC086D7720E7841E00D85EF7 /* box_coder_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = box_coder_kernel.cpp; sourceTree = ""; };
- FC086D7820E7841E00D85EF7 /* conv_add_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_add_kernel.cpp; sourceTree = ""; };
- FC086D7920E7841E00D85EF7 /* sigmoid_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sigmoid_kernel.cpp; sourceTree = ""; };
- FC086D7A20E7841E00D85EF7 /* relu_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = relu_kernel.cpp; sourceTree = ""; };
- FC086D7B20E7841E00D85EF7 /* mul_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mul_kernel.cpp; sourceTree = ""; };
- FC086D7C20E7841E00D85EF7 /* elementwise_add_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = elementwise_add_kernel.cpp; sourceTree = ""; };
- FC086D7D20E7841E00D85EF7 /* conv_add_relu_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = conv_add_relu_kernel.cpp; sourceTree = ""; };
- FC086D7E20E7841E00D85EF7 /* transpose_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transpose_kernel.cpp; sourceTree = ""; };
- FC086D7F20E7841E00D85EF7 /* depthwise_conv_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = depthwise_conv_kernel.cpp; sourceTree = ""; };
- FC086D8020E7841E00D85EF7 /* softmax_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = softmax_kernel.cpp; sourceTree = ""; };
- FC086D8120E7841E00D85EF7 /* concat_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = concat_kernel.cpp; sourceTree = ""; };
- FC086D8220E7841E00D85EF7 /* fusion_fc_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fusion_fc_kernel.cpp; sourceTree = ""; };
- FC086D8320E7841E00D85EF7 /* pool_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pool_kernel.cpp; sourceTree = ""; };
- FC086D8420E7841E00D85EF7 /* reshape_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reshape_kernel.cpp; sourceTree = ""; };
- FC086D8520E7841E00D85EF7 /* lrn_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lrn_kernel.cpp; sourceTree = ""; };
- FC086D8620E7841E00D85EF7 /* batchnorm_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = batchnorm_kernel.cpp; sourceTree = ""; };
- FC086D8720E7841E00D85EF7 /* multiclass_nms_kernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = multiclass_nms_kernel.cpp; sourceTree = ""; };
- FC086D8820E7841E00D85EF7 /* sigmoid_kernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sigmoid_kernel.h; sourceTree = ""; };
- FC086D8920E7841E00D85EF7 /* depthwise_conv_op.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = depthwise_conv_op.h; sourceTree = ""; };
- FC086D8B20E7841E00D85EF7 /* framework.pb-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "framework.pb-c.c"; sourceTree = ""; };
- FC086D8C20E7841E00D85EF7 /* tensor_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tensor_util.cpp; sourceTree = ""; };
- FC086D8D20E7841E00D85EF7 /* operator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = operator.h; sourceTree = ""; };
- FC086D8E20E7841E00D85EF7 /* op_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = op_info.h; sourceTree = ""; };
- FC086D8F20E7841E00D85EF7 /* operator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = operator.cpp; sourceTree = ""; };
- FC086D9020E7841E00D85EF7 /* ddim.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ddim.cpp; sourceTree = ""; };
- FC086D9120E7841E00D85EF7 /* tensor_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tensor_util.h; sourceTree = ""; };
- FC086D9220E7841E00D85EF7 /* variable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = variable.h; sourceTree = ""; };
- FC086D9320E7841E00D85EF7 /* scope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scope.cpp; sourceTree = ""; };
- FC086D9420E7841E00D85EF7 /* data_layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = data_layout.h; sourceTree = ""; };
- FC086D9520E7841E00D85EF7 /* lod_tensor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lod_tensor.h; sourceTree = ""; };
- FC086D9620E7841E00D85EF7 /* dim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dim.h; sourceTree = ""; };
- FC086D9720E7841E00D85EF7 /* framework.pb-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "framework.pb-c.h"; sourceTree = ""; };
- FC086D9820E7841E00D85EF7 /* op_kernel_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = op_kernel_type.h; sourceTree = ""; };
- FC086D9920E7841E00D85EF7 /* attribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = attribute.cpp; sourceTree = ""; };
- FC086D9A20E7841E00D85EF7 /* op_proto_maker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = op_proto_maker.h; sourceTree = ""; };
- FC086D9C20E7841E00D85EF7 /* op_desc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = op_desc.cpp; sourceTree = ""; };
- FC086D9D20E7841E00D85EF7 /* program_desc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = program_desc.cpp; sourceTree = ""; };
- FC086D9E20E7841E00D85EF7 /* var_desc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = var_desc.h; sourceTree = ""; };
- FC086D9F20E7841E00D85EF7 /* program_desc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = program_desc.h; sourceTree = ""; };
- FC086DA020E7841E00D85EF7 /* op_desc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = op_desc.h; sourceTree = ""; };
- FC086DA220E7841E00D85EF7 /* fusion_op_register.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fusion_op_register.h; sourceTree = ""; };
- FC086DA320E7841E00D85EF7 /* node.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = node.cpp; sourceTree = ""; };
- FC086DA420E7841E00D85EF7 /* node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node.h; sourceTree = ""; };
- FC086DA520E7841E00D85EF7 /* program_optimize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = program_optimize.h; sourceTree = ""; };
- FC086DA620E7841E00D85EF7 /* program_optimize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = program_optimize.cpp; sourceTree = ""; };
- FC086DA720E7841E00D85EF7 /* block_desc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_desc.cpp; sourceTree = ""; };
- FC086DA820E7841E00D85EF7 /* program.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = program.h; sourceTree = ""; };
- FC086DA920E7841E00D85EF7 /* tensor_desc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tensor_desc.h; sourceTree = ""; };
- FC086DAA20E7841E00D85EF7 /* block_desc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_desc.h; sourceTree = ""; };
- FC086DAB20E7841E00D85EF7 /* lod_tensor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lod_tensor.cpp; sourceTree = ""; };
- FC086DAC20E7841E00D85EF7 /* framework.proto */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = framework.proto; sourceTree = ""; };
- FC086DAD20E7841E00D85EF7 /* ddim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddim.h; sourceTree = ""; };
- FC086DAE20E7841E00D85EF7 /* attribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attribute.h; sourceTree = ""; };
- FC086DAF20E7841E00D85EF7 /* scope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scope.h; sourceTree = ""; };
- FC086DB020E7841E00D85EF7 /* tensor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tensor.h; sourceTree = ""; };
- FC086DB120E7841E00D85EF7 /* op_registry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = op_registry.h; sourceTree = ""; };
- FC086DB320E7841E00D85EF7 /* io.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = io.cpp; sourceTree = ""; };
- FC086DB420E7841E00D85EF7 /* io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = io.h; sourceTree = ""; };
- FC086DB620E7841E00D85EF7 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = ""; };
- FC086DB720E7841E00D85EF7 /* threadpool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threadpool.h; sourceTree = ""; };
- FC086DB820E7841E00D85EF7 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; };
- FC086DB920E7841E00D85EF7 /* protobuf-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "protobuf-c.h"; sourceTree = ""; };
- FC086DBA20E7841E00D85EF7 /* openmp-fix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "openmp-fix.cpp"; sourceTree = ""; };
- FC086DBB20E7841E00D85EF7 /* dep_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dep_core.h; sourceTree = ""; };
- FC086DBC20E7841E00D85EF7 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; };
- FC086DBD20E7841E00D85EF7 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = ""; };
- FC086DBE20E7841E00D85EF7 /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = ""; };
- FC086DBF20E7841E00D85EF7 /* type_define.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_define.h; sourceTree = ""; };
- FC086DC020E7841E00D85EF7 /* enforce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enforce.h; sourceTree = ""; };
- FC086DC120E7841E00D85EF7 /* protobuf-c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "protobuf-c.c"; sourceTree = ""; };
- FC086DC220E7841E00D85EF7 /* variant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = variant.h; sourceTree = ""; };
- FC086DC420E7841E00D85EF7 /* paddle_mobile_jni.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = paddle_mobile_jni.cpp; sourceTree = ""; };
- FC086DC520E7841E00D85EF7 /* paddle_mobile_jni.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = paddle_mobile_jni.h; sourceTree = ""; };
- FC2428A520E78DF20095932F /* MacroDefine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MacroDefine.h; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- FC086BAC20E7839B00D85EF7 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- FC086BA620E7839B00D85EF7 = {
- isa = PBXGroup;
- children = (
- FC086BB120E7839B00D85EF7 /* PaddleMobile */,
- FC086BB020E7839B00D85EF7 /* Products */,
- );
- sourceTree = "";
- };
- FC086BB020E7839B00D85EF7 /* Products */ = {
- isa = PBXGroup;
- children = (
- FC086BAF20E7839B00D85EF7 /* libPaddleMobile.a */,
- );
- name = Products;
- sourceTree = "";
- };
- FC086BB120E7839B00D85EF7 /* PaddleMobile */ = {
- isa = PBXGroup;
- children = (
- FC086CFC20E7841E00D85EF7 /* src */,
- FC086BB220E7839B00D85EF7 /* PaddleMobile.h */,
- FC086BB320E7839B00D85EF7 /* PaddleMobile.m */,
- FC2428A520E78DF20095932F /* MacroDefine.h */,
- );
- path = PaddleMobile;
- sourceTree = "";
- };
- FC086CFC20E7841E00D85EF7 /* src */ = {
- isa = PBXGroup;
- children = (
- FC086CFD20E7841E00D85EF7 /* memory */,
- FC086D0020E7841E00D85EF7 /* operators */,
- FC086D8A20E7841E00D85EF7 /* framework */,
- FC086DB220E7841E00D85EF7 /* io */,
- FC086DB520E7841E00D85EF7 /* common */,
- FC086DC320E7841E00D85EF7 /* jni */,
- );
- name = src;
- path = ../../../src;
- sourceTree = "";
- };
- FC086CFD20E7841E00D85EF7 /* memory */ = {
- isa = PBXGroup;
- children = (
- FC086CFE20E7841E00D85EF7 /* t_malloc.cpp */,
- FC086CFF20E7841E00D85EF7 /* t_malloc.h */,
- );
- path = memory;
- sourceTree = "";
- };
- FC086D0020E7841E00D85EF7 /* operators */ = {
- isa = PBXGroup;
- children = (
- FC086D0120E7841E00D85EF7 /* feed_op.h */,
- FC086D0220E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.h */,
- FC086D0320E7841E00D85EF7 /* lrn_op.cpp */,
- FC086D0420E7841E00D85EF7 /* op_param.h */,
- FC086D0520E7841E00D85EF7 /* sigmoid_op.cpp */,
- FC086D0620E7841E00D85EF7 /* box_coder_op.cpp */,
- FC086D0720E7841E00D85EF7 /* feed_op.cpp */,
- FC086D0820E7841E00D85EF7 /* mul_op.h */,
- FC086D0920E7841E00D85EF7 /* prior_box_op.h */,
- FC086D0A20E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.cpp */,
- FC086D0B20E7841E00D85EF7 /* reshape_op.cpp */,
- FC086D0C20E7841E00D85EF7 /* concat_op.cpp */,
- FC086D0D20E7841E00D85EF7 /* transpose_op.cpp */,
- FC086D0E20E7841E00D85EF7 /* prior_box_op.cpp */,
- FC086D0F20E7841E00D85EF7 /* fusion_conv_add_relu_op.cpp */,
- FC086D1020E7841E00D85EF7 /* lrn_op.h */,
- FC086D1120E7841E00D85EF7 /* multiclass_nms_op.h */,
- FC086D1220E7841E00D85EF7 /* relu_op.h */,
- FC086D1320E7841E00D85EF7 /* fusion_conv_add.h */,
- FC086D1420E7841E00D85EF7 /* conv_op.h */,
- FC086D1520E7841E00D85EF7 /* softmax_op.cpp */,
- FC086D1620E7841E00D85EF7 /* pool_op.h */,
- FC086D1720E7841E00D85EF7 /* depthwise_conv_op.cpp */,
- FC086D1820E7841E00D85EF7 /* softmax_op.h */,
- FC086D1920E7841E00D85EF7 /* elementwise_add_op.h */,
- FC086D1A20E7841E00D85EF7 /* elementwise_add_op.cpp */,
- FC086D1B20E7841E00D85EF7 /* fetch_op.h */,
- FC086D1C20E7841E00D85EF7 /* math */,
- FC086D3320E7841E00D85EF7 /* fusion_conv_add_relu_op.h */,
- FC086D3420E7841E00D85EF7 /* fetch_op.cpp */,
- FC086D3520E7841E00D85EF7 /* fusion_conv_add.cpp */,
- FC086D3620E7841E00D85EF7 /* op_param.cpp */,
- FC086D3720E7841E00D85EF7 /* transpose_op.h */,
- FC086D3820E7841E00D85EF7 /* fusion_fc_op.h */,
- FC086D3920E7841E00D85EF7 /* batchnorm_op.h */,
- FC086D3A20E7841E00D85EF7 /* mul_op.cpp */,
- FC086D3B20E7841E00D85EF7 /* relu_op.cpp */,
- FC086D3C20E7841E00D85EF7 /* conv_op.cpp */,
- FC086D3D20E7841E00D85EF7 /* fusion_fc_op.cpp */,
- FC086D3E20E7841E00D85EF7 /* box_coder_op.h */,
- FC086D3F20E7841E00D85EF7 /* concat_op.h */,
- FC086D4020E7841E00D85EF7 /* batchnorm_op.cpp */,
- FC086D4120E7841E00D85EF7 /* reshape_op.h */,
- FC086D4220E7841E00D85EF7 /* pool_op.cpp */,
- FC086D4320E7841E00D85EF7 /* sigmoid_op.h */,
- FC086D4420E7841E00D85EF7 /* multiclass_nms_op.cpp */,
- FC086D4520E7841E00D85EF7 /* kernel */,
- FC086D8920E7841E00D85EF7 /* depthwise_conv_op.h */,
- );
- path = operators;
- sourceTree = "";
- };
- FC086D1C20E7841E00D85EF7 /* math */ = {
- isa = PBXGroup;
- children = (
- FC086D1D20E7841E00D85EF7 /* elementwise_op_function.h */,
- FC086D1E20E7841E00D85EF7 /* softmax.h */,
- FC086D1F20E7841E00D85EF7 /* gemm.cpp */,
- FC086D2020E7841E00D85EF7 /* math_function.h */,
- FC086D2120E7841E00D85EF7 /* conv_func.h */,
- FC086D2220E7841E00D85EF7 /* pool_2x2.cpp */,
- FC086D2320E7841E00D85EF7 /* im2col.cpp */,
- FC086D2420E7841E00D85EF7 /* gemm.h */,
- FC086D2520E7841E00D85EF7 /* im2col.h */,
- FC086D2620E7841E00D85EF7 /* vol2col.cpp */,
- FC086D2720E7841E00D85EF7 /* math_function.cpp */,
- FC086D2820E7841E00D85EF7 /* pool_3x3.cpp */,
- FC086D2920E7841E00D85EF7 /* pool_2x2.h */,
- FC086D2A20E7841E00D85EF7 /* depthwise_conv_3x3.h */,
- FC086D2B20E7841E00D85EF7 /* pooling.cpp */,
- FC086D2C20E7841E00D85EF7 /* pool_3x3.h */,
- FC086D2D20E7841E00D85EF7 /* depthwise_conv_3x3.cpp */,
- FC086D2E20E7841E00D85EF7 /* vol2col.h */,
- FC086D2F20E7841E00D85EF7 /* softmax.cpp */,
- FC086D3020E7841E00D85EF7 /* transform.h */,
- FC086D3120E7841E00D85EF7 /* pooling.h */,
- FC086D3220E7841E00D85EF7 /* math_func_neon.h */,
- );
- path = math;
- sourceTree = "";
- };
- FC086D4520E7841E00D85EF7 /* kernel */ = {
- isa = PBXGroup;
- children = (
- FC086D4620E7841E00D85EF7 /* relu_kernel.h */,
- FC086D4720E7841E00D85EF7 /* multiclass_nms_kernel.h */,
- FC086D4820E7841E00D85EF7 /* depthwise_conv_kernel.h */,
- FC086D4920E7841E00D85EF7 /* lrn_kernel.h */,
- FC086D4A20E7841E00D85EF7 /* pool_kernel.h */,
- FC086D4B20E7841E00D85EF7 /* fusion_fc_kernel.h */,
- FC086D4C20E7841E00D85EF7 /* box_coder_kernel.h */,
- FC086D4D20E7841E00D85EF7 /* concat_kernel.h */,
- FC086D4E20E7841E00D85EF7 /* mul_kernel.h */,
- FC086D4F20E7841E00D85EF7 /* softmax_kernel.h */,
- FC086D5020E7841E00D85EF7 /* batchnorm_kernel.h */,
- FC086D5120E7841E00D85EF7 /* mali */,
- FC086D6320E7841E00D85EF7 /* elementwise_add_kernel.h */,
- FC086D6420E7841E00D85EF7 /* central-arm-func */,
- FC086D6A20E7841E00D85EF7 /* conv_add_relu_kernel.h */,
- FC086D6B20E7841E00D85EF7 /* reshape_kernel.h */,
- FC086D6C20E7841E00D85EF7 /* transpose_kernel.h */,
- FC086D6D20E7841E00D85EF7 /* conv_add_kernel.h */,
- FC086D6E20E7841E00D85EF7 /* fpga */,
- FC086D7020E7841E00D85EF7 /* conv_add_bn_relu_kernel.h */,
- FC086D7120E7841E00D85EF7 /* prior_box_kernel.h */,
- FC086D7220E7841E00D85EF7 /* conv_kernel.h */,
- FC086D7320E7841E00D85EF7 /* arm */,
- FC086D8820E7841E00D85EF7 /* sigmoid_kernel.h */,
- );
- path = kernel;
- sourceTree = "";
- };
- FC086D5120E7841E00D85EF7 /* mali */ = {
- isa = PBXGroup;
- children = (
- FC086D5220E7841E00D85EF7 /* acl_tensor.cc */,
- FC086D5320E7841E00D85EF7 /* acl_operator.cc */,
- FC086D5420E7841E00D85EF7 /* conv_kernel.cpp */,
- FC086D5520E7841E00D85EF7 /* acl_operator.h */,
- FC086D5620E7841E00D85EF7 /* conv_add_kernel.cpp */,
- FC086D5720E7841E00D85EF7 /* acl_tensor.h */,
- FC086D5820E7841E00D85EF7 /* relu_kernel.cpp */,
- FC086D5920E7841E00D85EF7 /* mul_kernel.cpp */,
- FC086D5A20E7841E00D85EF7 /* elementwise_add_kernel.cpp */,
- FC086D5B20E7841E00D85EF7 /* ACL_Android */,
- FC086D5C20E7841E00D85EF7 /* softmax_kernel.cpp */,
- FC086D5D20E7841E00D85EF7 /* concat_kernel.cpp */,
- FC086D5E20E7841E00D85EF7 /* pool_kernel.cpp */,
- FC086D5F20E7841E00D85EF7 /* reshape_kernel.cpp */,
- FC086D6020E7841E00D85EF7 /* lrn_kernel.cpp */,
- FC086D6120E7841E00D85EF7 /* fushion_fc_kernel.cpp */,
- FC086D6220E7841E00D85EF7 /* batchnorm_kernel.cpp */,
- );
- path = mali;
- sourceTree = "";
- };
- FC086D5B20E7841E00D85EF7 /* ACL_Android */ = {
- isa = PBXGroup;
- children = (
- );
- path = ACL_Android;
- sourceTree = "";
- };
- FC086D6420E7841E00D85EF7 /* central-arm-func */ = {
- isa = PBXGroup;
- children = (
- FC086D6520E7841E00D85EF7 /* conv_arm_func.h */,
- FC086D6620E7841E00D85EF7 /* conv_add_bn_relu_func.h */,
- FC086D6720E7841E00D85EF7 /* conv_add_relu_arm_func.h */,
- FC086D6820E7841E00D85EF7 /* depthwise_conv_arm_func.h */,
- FC086D6920E7841E00D85EF7 /* batchnorm_arm_func.h */,
- );
- path = "central-arm-func";
- sourceTree = "";
- };
- FC086D6E20E7841E00D85EF7 /* fpga */ = {
- isa = PBXGroup;
- children = (
- FC086D6F20E7841E00D85EF7 /* conv_kernel.cpp */,
- );
- path = fpga;
- sourceTree = "";
- };
- FC086D7320E7841E00D85EF7 /* arm */ = {
- isa = PBXGroup;
- children = (
- FC086D7420E7841E00D85EF7 /* prior_box_kernel.cpp */,
- FC086D7520E7841E00D85EF7 /* conv_kernel.cpp */,
- FC086D7620E7841E00D85EF7 /* conv_add_bn_relu_kernel.cpp */,
- FC086D7720E7841E00D85EF7 /* box_coder_kernel.cpp */,
- FC086D7820E7841E00D85EF7 /* conv_add_kernel.cpp */,
- FC086D7920E7841E00D85EF7 /* sigmoid_kernel.cpp */,
- FC086D7A20E7841E00D85EF7 /* relu_kernel.cpp */,
- FC086D7B20E7841E00D85EF7 /* mul_kernel.cpp */,
- FC086D7C20E7841E00D85EF7 /* elementwise_add_kernel.cpp */,
- FC086D7D20E7841E00D85EF7 /* conv_add_relu_kernel.cpp */,
- FC086D7E20E7841E00D85EF7 /* transpose_kernel.cpp */,
- FC086D7F20E7841E00D85EF7 /* depthwise_conv_kernel.cpp */,
- FC086D8020E7841E00D85EF7 /* softmax_kernel.cpp */,
- FC086D8120E7841E00D85EF7 /* concat_kernel.cpp */,
- FC086D8220E7841E00D85EF7 /* fusion_fc_kernel.cpp */,
- FC086D8320E7841E00D85EF7 /* pool_kernel.cpp */,
- FC086D8420E7841E00D85EF7 /* reshape_kernel.cpp */,
- FC086D8520E7841E00D85EF7 /* lrn_kernel.cpp */,
- FC086D8620E7841E00D85EF7 /* batchnorm_kernel.cpp */,
- FC086D8720E7841E00D85EF7 /* multiclass_nms_kernel.cpp */,
- );
- path = arm;
- sourceTree = "";
- };
- FC086D8A20E7841E00D85EF7 /* framework */ = {
- isa = PBXGroup;
- children = (
- FC086D8B20E7841E00D85EF7 /* framework.pb-c.c */,
- FC086D8C20E7841E00D85EF7 /* tensor_util.cpp */,
- FC086D8D20E7841E00D85EF7 /* operator.h */,
- FC086D8E20E7841E00D85EF7 /* op_info.h */,
- FC086D8F20E7841E00D85EF7 /* operator.cpp */,
- FC086D9020E7841E00D85EF7 /* ddim.cpp */,
- FC086D9120E7841E00D85EF7 /* tensor_util.h */,
- FC086D9220E7841E00D85EF7 /* variable.h */,
- FC086D9320E7841E00D85EF7 /* scope.cpp */,
- FC086D9420E7841E00D85EF7 /* data_layout.h */,
- FC086D9520E7841E00D85EF7 /* lod_tensor.h */,
- FC086D9620E7841E00D85EF7 /* dim.h */,
- FC086D9720E7841E00D85EF7 /* framework.pb-c.h */,
- FC086D9820E7841E00D85EF7 /* op_kernel_type.h */,
- FC086D9920E7841E00D85EF7 /* attribute.cpp */,
- FC086D9A20E7841E00D85EF7 /* op_proto_maker.h */,
- FC086D9B20E7841E00D85EF7 /* program */,
- FC086DAB20E7841E00D85EF7 /* lod_tensor.cpp */,
- FC086DAC20E7841E00D85EF7 /* framework.proto */,
- FC086DAD20E7841E00D85EF7 /* ddim.h */,
- FC086DAE20E7841E00D85EF7 /* attribute.h */,
- FC086DAF20E7841E00D85EF7 /* scope.h */,
- FC086DB020E7841E00D85EF7 /* tensor.h */,
- FC086DB120E7841E00D85EF7 /* op_registry.h */,
- );
- path = framework;
- sourceTree = "";
- };
- FC086D9B20E7841E00D85EF7 /* program */ = {
- isa = PBXGroup;
- children = (
- FC086D9C20E7841E00D85EF7 /* op_desc.cpp */,
- FC086D9D20E7841E00D85EF7 /* program_desc.cpp */,
- FC086D9E20E7841E00D85EF7 /* var_desc.h */,
- FC086D9F20E7841E00D85EF7 /* program_desc.h */,
- FC086DA020E7841E00D85EF7 /* op_desc.h */,
- FC086DA120E7841E00D85EF7 /* program-optimize */,
- FC086DA720E7841E00D85EF7 /* block_desc.cpp */,
- FC086DA820E7841E00D85EF7 /* program.h */,
- FC086DA920E7841E00D85EF7 /* tensor_desc.h */,
- FC086DAA20E7841E00D85EF7 /* block_desc.h */,
- );
- path = program;
- sourceTree = "";
- };
- FC086DA120E7841E00D85EF7 /* program-optimize */ = {
- isa = PBXGroup;
- children = (
- FC086DA220E7841E00D85EF7 /* fusion_op_register.h */,
- FC086DA320E7841E00D85EF7 /* node.cpp */,
- FC086DA420E7841E00D85EF7 /* node.h */,
- FC086DA520E7841E00D85EF7 /* program_optimize.h */,
- FC086DA620E7841E00D85EF7 /* program_optimize.cpp */,
- );
- path = "program-optimize";
- sourceTree = "";
- };
- FC086DB220E7841E00D85EF7 /* io */ = {
- isa = PBXGroup;
- children = (
- FC086DB320E7841E00D85EF7 /* io.cpp */,
- FC086DB420E7841E00D85EF7 /* io.h */,
- );
- path = io;
- sourceTree = "";
- };
- FC086DB520E7841E00D85EF7 /* common */ = {
- isa = PBXGroup;
- children = (
- FC086DB620E7841E00D85EF7 /* types.cpp */,
- FC086DB720E7841E00D85EF7 /* threadpool.h */,
- FC086DB820E7841E00D85EF7 /* types.h */,
- FC086DB920E7841E00D85EF7 /* protobuf-c.h */,
- FC086DBA20E7841E00D85EF7 /* openmp-fix.cpp */,
- FC086DBB20E7841E00D85EF7 /* dep_core.h */,
- FC086DBC20E7841E00D85EF7 /* common.h */,
- FC086DBD20E7841E00D85EF7 /* log.h */,
- FC086DBE20E7841E00D85EF7 /* macros.h */,
- FC086DBF20E7841E00D85EF7 /* type_define.h */,
- FC086DC020E7841E00D85EF7 /* enforce.h */,
- FC086DC120E7841E00D85EF7 /* protobuf-c.c */,
- FC086DC220E7841E00D85EF7 /* variant.h */,
- );
- path = common;
- sourceTree = "";
- };
- FC086DC320E7841E00D85EF7 /* jni */ = {
- isa = PBXGroup;
- children = (
- FC086DC420E7841E00D85EF7 /* paddle_mobile_jni.cpp */,
- FC086DC520E7841E00D85EF7 /* paddle_mobile_jni.h */,
- );
- path = jni;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- FC086BAE20E7839B00D85EF7 /* PaddleMobile */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = FC086BB820E7839B00D85EF7 /* Build configuration list for PBXNativeTarget "PaddleMobile" */;
- buildPhases = (
- FC086BAB20E7839B00D85EF7 /* Sources */,
- FC086BAC20E7839B00D85EF7 /* Frameworks */,
- FC086BAD20E7839B00D85EF7 /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = PaddleMobile;
- productName = PaddleMobile;
- productReference = FC086BAF20E7839B00D85EF7 /* libPaddleMobile.a */;
- productType = "com.apple.product-type.library.static";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- FC086BA720E7839B00D85EF7 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0930;
- ORGANIZATIONNAME = orange;
- TargetAttributes = {
- FC086BAE20E7839B00D85EF7 = {
- CreatedOnToolsVersion = 9.3.1;
- };
- };
- };
- buildConfigurationList = FC086BAA20E7839B00D85EF7 /* Build configuration list for PBXProject "PaddleMobile" */;
- compatibilityVersion = "Xcode 9.3";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- );
- mainGroup = FC086BA620E7839B00D85EF7;
- productRefGroup = FC086BB020E7839B00D85EF7 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- FC086BAE20E7839B00D85EF7 /* PaddleMobile */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- FC086BAB20E7839B00D85EF7 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- FC086DCE20E7841E00D85EF7 /* transpose_op.cpp in Sources */,
- FC086DD820E7841E00D85EF7 /* math_function.cpp in Sources */,
- FC086DE120E7841E00D85EF7 /* relu_op.cpp in Sources */,
- FC086E0920E7841E00D85EF7 /* multiclass_nms_kernel.cpp in Sources */,
- FC086E0220E7841E00D85EF7 /* softmax_kernel.cpp in Sources */,
- FC086DCD20E7841E00D85EF7 /* concat_op.cpp in Sources */,
- FC086DCA20E7841E00D85EF7 /* feed_op.cpp in Sources */,
- FC086DD920E7841E00D85EF7 /* pool_3x3.cpp in Sources */,
- FC086DF020E7841E00D85EF7 /* pool_kernel.cpp in Sources */,
- FC086E1A20E7841E00D85EF7 /* paddle_mobile_jni.cpp in Sources */,
- FC086DF620E7841E00D85EF7 /* prior_box_kernel.cpp in Sources */,
- FC086DC620E7841E00D85EF7 /* t_malloc.cpp in Sources */,
- FC086DD320E7841E00D85EF7 /* elementwise_add_op.cpp in Sources */,
- FC086E0E20E7841E00D85EF7 /* scope.cpp in Sources */,
- FC086DDE20E7841E00D85EF7 /* fusion_conv_add.cpp in Sources */,
- FC086DFF20E7841E00D85EF7 /* conv_add_relu_kernel.cpp in Sources */,
- FC086DD720E7841E00D85EF7 /* vol2col.cpp in Sources */,
- FC086E0B20E7841E00D85EF7 /* tensor_util.cpp in Sources */,
- FC086E1320E7841E00D85EF7 /* program_optimize.cpp in Sources */,
- FC086DF820E7841E00D85EF7 /* conv_add_bn_relu_kernel.cpp in Sources */,
- FC086DC820E7841E00D85EF7 /* sigmoid_op.cpp in Sources */,
- FC086E0D20E7841E00D85EF7 /* ddim.cpp in Sources */,
- FC086E0120E7841E00D85EF7 /* depthwise_conv_kernel.cpp in Sources */,
- FC086DDB20E7841E00D85EF7 /* depthwise_conv_3x3.cpp in Sources */,
- FC086BB420E7839B00D85EF7 /* PaddleMobile.m in Sources */,
- FC086E1420E7841E00D85EF7 /* block_desc.cpp in Sources */,
- FC086DC920E7841E00D85EF7 /* box_coder_op.cpp in Sources */,
- FC086DDF20E7841E00D85EF7 /* op_param.cpp in Sources */,
- FC086DD520E7841E00D85EF7 /* pool_2x2.cpp in Sources */,
- FC086DFD20E7841E00D85EF7 /* mul_kernel.cpp in Sources */,
- FC086E0C20E7841E00D85EF7 /* operator.cpp in Sources */,
- FC086DE020E7841E00D85EF7 /* mul_op.cpp in Sources */,
- FC086E1520E7841E00D85EF7 /* lod_tensor.cpp in Sources */,
- FC086DE720E7841E00D85EF7 /* acl_tensor.cc in Sources */,
- FC086DDD20E7841E00D85EF7 /* fetch_op.cpp in Sources */,
- FC086DE220E7841E00D85EF7 /* conv_op.cpp in Sources */,
- FC086DDA20E7841E00D85EF7 /* pooling.cpp in Sources */,
- FC086DEF20E7841E00D85EF7 /* concat_kernel.cpp in Sources */,
- FC086DE520E7841E00D85EF7 /* pool_op.cpp in Sources */,
- FC086DE820E7841E00D85EF7 /* acl_operator.cc in Sources */,
- FC086DF220E7841E00D85EF7 /* lrn_kernel.cpp in Sources */,
- FC086E0F20E7841E00D85EF7 /* attribute.cpp in Sources */,
- FC086E0520E7841E00D85EF7 /* pool_kernel.cpp in Sources */,
- FC086DDC20E7841E00D85EF7 /* softmax.cpp in Sources */,
- FC086E0420E7841E00D85EF7 /* fusion_fc_kernel.cpp in Sources */,
- FC086E1220E7841E00D85EF7 /* node.cpp in Sources */,
- FC086E0820E7841E00D85EF7 /* batchnorm_kernel.cpp in Sources */,
- FC086DCC20E7841E00D85EF7 /* reshape_op.cpp in Sources */,
- FC086DE920E7841E00D85EF7 /* conv_kernel.cpp in Sources */,
- FC086E1920E7841E00D85EF7 /* protobuf-c.c in Sources */,
- FC086DF920E7841E00D85EF7 /* box_coder_kernel.cpp in Sources */,
- FC086DF120E7841E00D85EF7 /* reshape_kernel.cpp in Sources */,
- FC086DF720E7841E00D85EF7 /* conv_kernel.cpp in Sources */,
- FC086DCF20E7841E00D85EF7 /* prior_box_op.cpp in Sources */,
- FC086E1720E7841E00D85EF7 /* types.cpp in Sources */,
- FC086DF320E7841E00D85EF7 /* fushion_fc_kernel.cpp in Sources */,
- FC086DEB20E7841E00D85EF7 /* relu_kernel.cpp in Sources */,
- FC086E0620E7841E00D85EF7 /* reshape_kernel.cpp in Sources */,
- FC086E0720E7841E00D85EF7 /* lrn_kernel.cpp in Sources */,
- FC086DE620E7841E00D85EF7 /* multiclass_nms_op.cpp in Sources */,
- FC086E1120E7841E00D85EF7 /* program_desc.cpp in Sources */,
- FC086E0320E7841E00D85EF7 /* concat_kernel.cpp in Sources */,
- FC086DEC20E7841E00D85EF7 /* mul_kernel.cpp in Sources */,
- FC086DFB20E7841E00D85EF7 /* sigmoid_kernel.cpp in Sources */,
- FC086E1820E7841E00D85EF7 /* openmp-fix.cpp in Sources */,
- FC086DF420E7841E00D85EF7 /* batchnorm_kernel.cpp in Sources */,
- FC086DEA20E7841E00D85EF7 /* conv_add_kernel.cpp in Sources */,
- FC086E1620E7841E00D85EF7 /* io.cpp in Sources */,
- FC086DD620E7841E00D85EF7 /* im2col.cpp in Sources */,
- FC086DC720E7841E00D85EF7 /* lrn_op.cpp in Sources */,
- FC086DD220E7841E00D85EF7 /* depthwise_conv_op.cpp in Sources */,
- FC086DFA20E7841E00D85EF7 /* conv_add_kernel.cpp in Sources */,
- FC086E0A20E7841E00D85EF7 /* framework.pb-c.c in Sources */,
- FC086DD020E7841E00D85EF7 /* fusion_conv_add_relu_op.cpp in Sources */,
- FC086DCB20E7841E00D85EF7 /* fusion_conv_add_bn_relu_op.cpp in Sources */,
- FC086DFC20E7841E00D85EF7 /* relu_kernel.cpp in Sources */,
- FC086DE320E7841E00D85EF7 /* fusion_fc_op.cpp in Sources */,
- FC086E0020E7841E00D85EF7 /* transpose_kernel.cpp in Sources */,
- FC086DEE20E7841E00D85EF7 /* softmax_kernel.cpp in Sources */,
- FC086DE420E7841E00D85EF7 /* batchnorm_op.cpp in Sources */,
- FC086DED20E7841E00D85EF7 /* elementwise_add_kernel.cpp in Sources */,
- FC086DF520E7841E00D85EF7 /* conv_kernel.cpp in Sources */,
- FC086DD120E7841E00D85EF7 /* softmax_op.cpp in Sources */,
- FC086E1020E7841E00D85EF7 /* op_desc.cpp in Sources */,
- FC086DD420E7841E00D85EF7 /* gemm.cpp in Sources */,
- FC086DFE20E7841E00D85EF7 /* elementwise_add_kernel.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- FC086BB620E7839B00D85EF7 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.3;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- };
- name = Debug;
- };
- FC086BB720E7839B00D85EF7 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.3;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- FC086BB920E7839B00D85EF7 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = Z5M2UUN5YV;
- HEADER_SEARCH_PATHS = ../../src;
- OTHER_LDFLAGS = "-ObjC";
- PRODUCT_NAME = "$(TARGET_NAME)";
- SKIP_INSTALL = YES;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- FC086BBA20E7839B00D85EF7 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = Z5M2UUN5YV;
- HEADER_SEARCH_PATHS = ../../src;
- OTHER_LDFLAGS = "-ObjC";
- PRODUCT_NAME = "$(TARGET_NAME)";
- SKIP_INSTALL = YES;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- FC086BAA20E7839B00D85EF7 /* Build configuration list for PBXProject "PaddleMobile" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- FC086BB620E7839B00D85EF7 /* Debug */,
- FC086BB720E7839B00D85EF7 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- FC086BB820E7839B00D85EF7 /* Build configuration list for PBXNativeTarget "PaddleMobile" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- FC086BB920E7839B00D85EF7 /* Debug */,
- FC086BBA20E7839B00D85EF7 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = FC086BA720E7839B00D85EF7 /* Project object */;
-}
diff --git a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 18f14d0d53b03b7326c6b613e445438ab35e4bed..0000000000000000000000000000000000000000
--- a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d68d0546c4804ac2ff47dd97c6e7921..0000000000000000000000000000000000000000
--- a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-