From b110fb376507b4652470fbd7694adc7549d00c2b Mon Sep 17 00:00:00 2001 From: liuruilong Date: Tue, 3 Jul 2018 17:03:43 +0800 Subject: [PATCH] modify cmake add paddle mobile interface --- .gitignore | 7 + CMakeLists.txt | 37 +- .../project.pbxproj | 200 ++-- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../UserInterfaceState.xcuserstate | Bin 0 -> 21894 bytes .../xcschemes/xcschememanagement.plist | 0 .../PaddleMobileDemo/AppDelegate.h | 22 +- .../PaddleMobileDemo/AppDelegate.m | 24 +- .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../PaddleMobileDemo/Info.plist | 0 .../PaddleMobile/PaddleMobile.h | 6 +- .../PaddleMobileDemo/ViewController.h | 21 + .../PaddleMobileDemo/ViewController.m | 49 + .../PaddleMobileDemo/PaddleMobileDemo/main.m | 22 + .../contents.xcworkspacedata | 10 - .../xcdebugger/Breakpoints_v2.xcbkptlist | 5 - .../PaddleMobile.xcodeproj/project.pbxproj | 965 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../UserInterfaceState.xcuserstate | Bin 9678 -> 0 bytes .../xcschemes/xcschememanagement.plist | 14 - ios/PaddleMobile/PaddleMobile/MacroDefine.h | 13 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../UserInterfaceState.xcuserstate | Bin 5181 -> 0 bytes .../PaddleMobileDemo/AppDelegate.h | 23 - .../PaddleMobileDemo/ViewController.h | 21 - .../PaddleMobileDemo/ViewController.m | 33 - ios/PaddleMobileDemo/PaddleMobileDemo/main.m | 22 - src/framework/op_registry.h | 2 + .../program-optimize/fusion_op_register.h | 4 + src/io/executor.cpp | 10 +- src/io/paddle_mobile.cpp | 10 +- src/io/paddle_mobile.h | 1 + .../ios_io/PaddleMobile.h | 33 +- src/ios_io/PaddleMobile.mm | 170 +++ src/ios_io/op_symbols.h | 39 + src/operators/batchnorm_op.cpp | 1 - src/operators/batchnorm_op.h | 9 + src/operators/box_coder_op.cpp | 1 - src/operators/box_coder_op.h | 8 + src/operators/concat_op.cpp | 2 - src/operators/concat_op.h | 9 + src/operators/conv_op.cpp | 3 - src/operators/conv_op.h | 10 + src/operators/depthwise_conv_op.cpp | 1 - src/operators/depthwise_conv_op.h | 8 + src/operators/dropout_op.cpp | 1 - src/operators/dropout_op.h | 8 + src/operators/elementwise_add_op.cpp | 2 - src/operators/elementwise_add_op.h | 9 + src/operators/feed_op.cpp | 11 + src/operators/feed_op.h | 9 +- src/operators/fetch_op.cpp | 12 + src/operators/fetch_op.h | 10 +- src/operators/fusion_conv_add.cpp | 26 +- src/operators/fusion_conv_add.h | 11 +- src/operators/fusion_conv_add_bn_relu_op.cpp | 1 - src/operators/fusion_conv_add_bn_relu_op.h | 8 + src/operators/fusion_conv_add_relu_op.cpp | 1 - src/operators/fusion_conv_add_relu_op.h | 8 + src/operators/fusion_fc_op.cpp | 24 +- src/operators/fusion_fc_op.h | 11 +- src/operators/im2sequence_op.cpp | 1 - src/operators/im2sequence_op.h | 9 + .../central-arm-func/batchnorm_arm_func.h | 35 + .../kernel/central-arm-func/pool_arm_func.h | 5 +- src/operators/lrn_op.cpp | 2 - src/operators/lrn_op.h | 9 + src/operators/math/gemm.cpp | 18 + src/operators/math/pool_2x2.cpp | 15 +- src/operators/mul_op.cpp | 2 - src/operators/mul_op.h | 9 + src/operators/multiclass_nms_op.cpp | 1 - src/operators/multiclass_nms_op.h | 8 + src/operators/pool_op.cpp | 2 - src/operators/pool_op.h | 9 + src/operators/prior_box_op.cpp | 1 - src/operators/prior_box_op.h | 8 + src/operators/relu_op.cpp | 2 - src/operators/relu_op.h | 9 + src/operators/reshape_op.cpp | 2 - src/operators/reshape_op.h | 10 + src/operators/sigmoid_op.cpp | 1 - src/operators/sigmoid_op.h | 8 + src/operators/softmax_op.cpp | 2 - src/operators/softmax_op.h | 9 + src/operators/transpose_op.cpp | 1 - src/operators/transpose_op.h | 9 + tools/build.sh | 5 +- 93 files changed, 859 insertions(+), 1323 deletions(-) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.pbxproj (54%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {ios/PaddleMobile.xcworkspace => demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist (100%) create mode 100644 demo/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist (100%) rename src/common/openmp-fix.cpp => demo/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h (51%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.m (78%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo/Assets.xcassets/Contents.json (100%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/LaunchScreen.storyboard (100%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo/Base.lproj/Main.storyboard (100%) rename {ios => demo/ios}/PaddleMobileDemo/PaddleMobileDemo/Info.plist (100%) rename {ios/PaddleMobile => demo/ios/PaddleMobileDemo/PaddleMobileDemo}/PaddleMobile/PaddleMobile.h (78%) create mode 100644 demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h create mode 100644 demo/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m create mode 100644 demo/ios/PaddleMobileDemo/PaddleMobileDemo/main.m delete mode 100644 ios/PaddleMobile.xcworkspace/contents.xcworkspacedata delete mode 100644 ios/PaddleMobile.xcworkspace/xcuserdata/liuruilong.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist delete mode 100644 ios/PaddleMobile/PaddleMobile.xcodeproj/project.pbxproj delete mode 100644 ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ios/PaddleMobile/PaddleMobile.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ios/PaddleMobile/PaddleMobile/MacroDefine.h delete mode 100644 ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h delete mode 100644 ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h delete mode 100644 ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m delete mode 100644 ios/PaddleMobileDemo/PaddleMobileDemo/main.m rename ios/PaddleMobile/PaddleMobile/PaddleMobile.m => src/ios_io/PaddleMobile.h (63%) create mode 100644 src/ios_io/PaddleMobile.mm create mode 100644 src/ios_io/op_symbols.h diff --git a/.gitignore b/.gitignore index 532601bfe9..547e94ea11 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 9baf1981af..a00d179a0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,15 +15,15 @@ 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) +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() @@ -41,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) @@ -92,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/) @@ -111,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/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 e7e77ada15..8500c89c9a 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 GIT binary patch literal 21894 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 -static int _ = omp_get_num_procs(); -#endif +#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 12cc19636b..6644c3c079 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 3878c54c8a..ec58371de0 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 0000000000..41e2209271 --- /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 0000000000..eb9f7d2bb5 --- /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 0000000000..cf2cf6aa80 --- /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/ios/PaddleMobile.xcworkspace/contents.xcworkspacedata b/ios/PaddleMobile.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7c3243eefa..0000000000 --- a/ios/PaddleMobile.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - 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 ed9a9b4d42..0000000000 --- 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 7907ac8955..0000000000 --- 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 18f14d0d53..0000000000 --- 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 18d981003d..0000000000 --- a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate b/ios/PaddleMobile/PaddleMobile.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index d1170b2289cb3302e40f5101b720bc835d08e7e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9678 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 TkMI;ki1f(}lRl&WlP~*!$gb6* diff --git a/ios/PaddleMobile/PaddleMobile.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/PaddleMobile/PaddleMobile.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index a877b7cd22..0000000000 --- a/ios/PaddleMobile/PaddleMobile.xcodeproj/xcuserdata/liuruilong.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SchemeUserState - - PaddleMobile.xcscheme - - orderHint - 1 - - - - diff --git a/ios/PaddleMobile/PaddleMobile/MacroDefine.h b/ios/PaddleMobile/PaddleMobile/MacroDefine.h deleted file mode 100644 index a09c420e87..0000000000 --- a/ios/PaddleMobile/PaddleMobile/MacroDefine.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// MacroDefine.h -// PaddleMobile -// -// Created by liuRuiLong on 2018/6/30. -// Copyright © 2018年 orange. All rights reserved. -// - -#ifndef MacroDefine_h -#define MacroDefine_h - - -#endif /* MacroDefine_h */ diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d..0000000000 --- a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate b/ios/PaddleMobileDemo/PaddleMobileDemo.xcodeproj/project.xcworkspace/xcuserdata/liuruilong.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 69b699dbf553971a96471ef864e4e848c9b17e12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5181 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 ObDnt6c_x3gKmI?<2K&(f diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h b/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h deleted file mode 100644 index eb789ffbb2..0000000000 --- a/ios/PaddleMobileDemo/PaddleMobileDemo/AppDelegate.h +++ /dev/null @@ -1,23 +0,0 @@ -/* 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/ViewController.h b/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h deleted file mode 100644 index 092a369366..0000000000 --- a/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.h +++ /dev/null @@ -1,21 +0,0 @@ -/* 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/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m b/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m deleted file mode 100644 index 369e90039d..0000000000 --- a/ios/PaddleMobileDemo/PaddleMobileDemo/ViewController.m +++ /dev/null @@ -1,33 +0,0 @@ -/* 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 "ViewController.h" - -@interface ViewController () - -@end - -@implementation ViewController - -- (void)viewDidLoad { - [super viewDidLoad]; -} - - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; -} - - -@end diff --git a/ios/PaddleMobileDemo/PaddleMobileDemo/main.m b/ios/PaddleMobileDemo/PaddleMobileDemo/main.m deleted file mode 100644 index 8429e87bd1..0000000000 --- a/ios/PaddleMobileDemo/PaddleMobileDemo/main.m +++ /dev/null @@ -1,22 +0,0 @@ -/* 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/src/framework/op_registry.h b/src/framework/op_registry.h index 8a7beae993..8e22e74b4f 100644 --- a/src/framework/op_registry.h +++ b/src/framework/op_registry.h @@ -45,6 +45,7 @@ struct OperatorRegistrar : public Registrar { << "OperatorRegistrar should be invoked at least by OpClass"; return; } + printf(" regis ting %s \n", op_type.c_str()); OpInfo info; OperatorRegistrarRecursive(op_type, &info); OpInfoMap::Instance()->Insert(op_type, info); @@ -107,6 +108,7 @@ class OpRegistry { __op_registrar_##op_type##_##device_name(#op_type); \ int TouchOpRegistrar_##op_type##_##device_name() { \ __op_registrar_##op_type##_##device_name.Touch(); \ + printf(" registering !! \n"); \ return 0; \ } diff --git a/src/framework/program/program-optimize/fusion_op_register.h b/src/framework/program/program-optimize/fusion_op_register.h index 4cc83f8c80..1cd6b1dd77 100644 --- a/src/framework/program/program-optimize/fusion_op_register.h +++ b/src/framework/program/program-optimize/fusion_op_register.h @@ -34,6 +34,10 @@ class FusionOpRegister { } void regist(FusionOpMatcher* matcher) { + if (matchers_.find(matcher->Type()) != matchers_.end()) { + return; + } + std::shared_ptr shared_matcher(matcher); matchers_[matcher->Type()] = shared_matcher; } diff --git a/src/io/executor.cpp b/src/io/executor.cpp index c8bd2e5e8c..1837273d6b 100644 --- a/src/io/executor.cpp +++ b/src/io/executor.cpp @@ -348,16 +348,18 @@ std::shared_ptr Executor::Predict( fprintf(df, "}\n"); fclose(df); #endif - FILE *pf = fopen("profile.out", "w"); + + // FILE *pf = fopen("profile.out", "w"); std::unordered_map _tp; for (int i = 0; i < profile.size(); i++) { const auto &pInfo = profile[i]; uint64_t timeCost = pInfo.runEnd - pInfo.runBegin; _tp[ops[i]->Type()] += timeCost; - fprintf(pf, "%d\t%s\t%d\t%llu\t%llu\t%llu\n", i, ops[i]->Type().c_str(), - pInfo.tid, pInfo.runBegin, pInfo.runEnd, timeCost); + // fprintf(pf, "%d\t%s\t%d\t%llu\t%llu\t%llu\n", i, ops[i]->Type().c_str(), + // pInfo.tid, pInfo.runBegin, pInfo.runEnd, timeCost); } - fclose(pf); + // fclose(pf); + printf("====================[ profile ]======================\n"); using prof_t = std::pair; std::vector _tv(_tp.begin(), _tp.end()); diff --git a/src/io/paddle_mobile.cpp b/src/io/paddle_mobile.cpp index c1fa650328..850b60d5e1 100644 --- a/src/io/paddle_mobile.cpp +++ b/src/io/paddle_mobile.cpp @@ -12,10 +12,6 @@ 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. */ -// -// Created by liuRuiLong on 2018/7/2. -// - #include "io/paddle_mobile.h" namespace paddle_mobile { @@ -78,6 +74,12 @@ void PaddleMobile::Clear() { loader_ = nullptr; } +template +PaddleMobile::~PaddleMobile(){ + executor_ = nullptr; + loader_ = nullptr; +} + template class PaddleMobile; template class PaddleMobile; template class PaddleMobile; diff --git a/src/io/paddle_mobile.h b/src/io/paddle_mobile.h index 901f0e0005..82436a283d 100644 --- a/src/io/paddle_mobile.h +++ b/src/io/paddle_mobile.h @@ -60,6 +60,7 @@ class PaddleMobile { void Clear(); + ~PaddleMobile(); private: std::shared_ptr> loader_; std::shared_ptr> executor_; diff --git a/ios/PaddleMobile/PaddleMobile/PaddleMobile.m b/src/ios_io/PaddleMobile.h similarity index 63% rename from ios/PaddleMobile/PaddleMobile/PaddleMobile.m rename to src/ios_io/PaddleMobile.h index a350330b1d..1e635dd0a8 100644 --- a/ios/PaddleMobile/PaddleMobile/PaddleMobile.m +++ b/src/ios_io/PaddleMobile.h @@ -12,32 +12,17 @@ See the License for the specific language governing permissions and limitations under the License. */ -#import "PaddleMobile.h" +#pragma once -@implementation PaddleMobile +#import +#import -+ (instancetype)sharedInstance{ - //TODO: imp - exit(0); -} +@interface PaddleMobile : NSObject -- (BOOL)load:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath{ - //TODO: imp - exit(0); -} +- (instancetype)init; +- (BOOL)load:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath; +- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale; +- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim; +- (void)clear; -- (NSArray *)predict:(CGImageRef)image means:(NSArray *)means scale:(float)scale{ - //TODO: imp - exit(0); -} - -- (NSArray *)predict:(CGImageRef)image{ - //TODO: imp - exit(0); -} - -- (void)clear{ - //TODO: imp - exit(0); -} @end diff --git a/src/ios_io/PaddleMobile.mm b/src/ios_io/PaddleMobile.mm new file mode 100644 index 0000000000..b24edf592c --- /dev/null +++ b/src/ios_io/PaddleMobile.mm @@ -0,0 +1,170 @@ +/* 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 "op_symbols.h" +#import "io/paddle_mobile.h" + +#import +#import + +@interface PaddleMobile() +{ + paddle_mobile::PaddleMobile *pam_; + BOOL loaded_; +} +@end + +@implementation PaddleMobile + +static std::mutex shared_mutex; + +- (instancetype)init { + if (self = [super init]) { + pam_ = new paddle_mobile::PaddleMobile(); + } + return self; +} + +- (void)dealloc { + if (pam_) { + delete pam_; + } +} + ++ (instancetype)sharedInstance{ + static dispatch_once_t onceToken; + static id sharedManager = nil; + dispatch_once(&onceToken, ^{ + sharedManager = [[[self class] alloc] init]; + }); + return sharedManager; +} + +- (BOOL)load:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath{ + std::string model_path_str = std::string([modelPath UTF8String]); + std::string weights_path_str = std::string([weighsPath UTF8String]); + if (loaded_ = pam_->Load(model_path_str, weights_path_str, false)) { + return YES; + } else { + return NO; + } +} + +-(void)preprocess:(const UInt8 *)input output:(float *)output imageWidth:(int)imageWidth imageHeight:(int)imageHeight imageChannels:(int)imageChannels means:(NSArray *)means scale:(float)scale dim:(std::vector)dim{ + if (means == nil) { + means = @[@0, @0, @0]; + } + + int wanted_input_width = dim[3]; + int wanted_input_height = dim[2]; + int wanted_input_channels = dim[1]; + + for (int c = 0; c < wanted_input_channels; ++c) { + float *out_channel = output + c * wanted_input_height * wanted_input_width; + for (int y = 0; y < wanted_input_height; ++y) { + float *out_row = out_channel + y * wanted_input_width; + for (int x = 0; x < wanted_input_width; ++x) { + int in_row = (y * imageHeight) / wanted_input_height; + int in_col = (x * imageWidth) / wanted_input_width; + const UInt8 *in_pixel = input + (in_row * imageWidth * imageChannels) + (in_col * imageChannels); + float *out_pos = out_row + x; + if (c == 0) { + *out_pos = (in_pixel[c] - means[c].floatValue) * scale; + }else if (c == 1){ + *out_pos = (in_pixel[c] - means[c].floatValue) * scale; + }else if (c == 2){ + *out_pos = (in_pixel[c] - means[c].floatValue) * scale; + } + } + } + } +} + +- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale{ + std::lock_guard lock(shared_mutex); + if (!loaded_) { + printf("PaddleMobile doesn't be loaded yet"); + return nil; + } + + if (dim.count != 4) { + printf("dim must have 4 elements"); + return nil; + } + + // dim to c++ vector, get numel + std::vector dim_vec; + int numel = 1; + for (int k = 0; k < dim.count; ++k) { + int d = dim[k].intValue; + numel *= d; + dim_vec.push_back(d); + } + + const int sourceRowBytes = CGImageGetBytesPerRow(image); + const int image_width = CGImageGetWidth(image); + const int image_height = CGImageGetHeight(image); + const int image_channels = 4; + CGDataProviderRef provider = CGImageGetDataProvider(image); + CFDataRef cfData = CGDataProviderCopyData(provider); + const UInt8 *input = CFDataGetBytePtr(cfData); + + // sample image + float *output = (float *)malloc(numel*sizeof(float)); + [self preprocess:input output:output imageWidth:image_width imageHeight:image_height imageChannels:image_channels means:means scale:scale dim:dim_vec]; + float *dataPointer = nullptr; + if (nullptr != output) { + dataPointer = output; + } else { + return nil; + } + + // input + std::vector predict_input; + for (int j = 0; j < numel; ++j) { + predict_input.push_back(dataPointer[j]); + } + + // predict + std::vector cpp_result = pam_->Predict(predict_input, dim_vec); + + // result + long count = 0; + count = cpp_result.size(); + NSMutableArray *result = [[NSMutableArray alloc] init]; + for (int i = 0; i < count; i++) { + [result addObject:[NSNumber numberWithFloat:cpp_result[i]]]; + } + + free(output); + + // 待验证 + // if ([UIDevice currentDevice].systemVersion.doubleValue < 11.0) { + CFRelease(cfData); + cfData = NULL; + // } + + return result; +} + +- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim { + [self predict:image dim:dim means:nil scale:1]; +} + +- (void)clear{ + pam_->Clear(); +} + +@end diff --git a/src/ios_io/op_symbols.h b/src/ios_io/op_symbols.h new file mode 100644 index 0000000000..b2825b90e6 --- /dev/null +++ b/src/ios_io/op_symbols.h @@ -0,0 +1,39 @@ +/* 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. */ + +#pragma once + +#include "operators/batchnorm_op.h" +#include "operators/box_coder_op.h" +#include "operators/concat_op.h" +#include "operators/conv_op.h" +#include "operators/depthwise_conv_op.h" +#include "operators/dropout_op.h" +#include "operators/elementwise_add_op.h" +#include "operators/feed_op.h" +#include "operators/fetch_op.h" +#include "operators/fusion_conv_add.h" +#include "operators/fusion_conv_add_bn_relu_op.h" +#include "operators/fusion_fc_op.h" +#include "operators/im2sequence_op.h" +#include "operators/lrn_op.h" +#include "operators/mul_op.h" +#include "operators/multiclass_nms_op.h" +#include "operators/pool_op.h" +#include "operators/prior_box_op.h" +#include "operators/relu_op.h" +#include "operators/reshape_op.h" +#include "operators/sigmoid_op.h" +#include "operators/softmax_op.h" +#include "operators/transpose_op.h" diff --git a/src/operators/batchnorm_op.cpp b/src/operators/batchnorm_op.cpp index 5d94d54f88..d2fbd9fb6b 100644 --- a/src/operators/batchnorm_op.cpp +++ b/src/operators/batchnorm_op.cpp @@ -32,7 +32,6 @@ template class BatchNormOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(batch_norm); REGISTER_OPERATOR_CPU(batch_norm, ops::BatchNormOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/batchnorm_op.h b/src/operators/batchnorm_op.h index 9ee0b2dcf6..2b2795b64f 100644 --- a/src/operators/batchnorm_op.h +++ b/src/operators/batchnorm_op.h @@ -45,4 +45,13 @@ class BatchNormOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(batch_norm); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(batch_norm); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/box_coder_op.cpp b/src/operators/box_coder_op.cpp index 31891ed742..dece07d5ef 100644 --- a/src/operators/box_coder_op.cpp +++ b/src/operators/box_coder_op.cpp @@ -53,7 +53,6 @@ template class BoxCoderOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(box_coder); REGISTER_OPERATOR_CPU(box_coder, ops::BoxCoderOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/box_coder_op.h b/src/operators/box_coder_op.h index 33ff2358bc..5a75cacaf2 100644 --- a/src/operators/box_coder_op.h +++ b/src/operators/box_coder_op.h @@ -51,4 +51,12 @@ class BoxCoderOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(box_coder); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/concat_op.cpp b/src/operators/concat_op.cpp index fe0507dc81..9c524df351 100644 --- a/src/operators/concat_op.cpp +++ b/src/operators/concat_op.cpp @@ -63,11 +63,9 @@ template class ConcatOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(concat); REGISTER_OPERATOR_CPU(concat, ops::ConcatOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(concat); REGISTER_OPERATOR_MALI_GPU(concat, ops::ConcatOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/concat_op.h b/src/operators/concat_op.h index 93612c6b1b..7aedaab4b1 100644 --- a/src/operators/concat_op.h +++ b/src/operators/concat_op.h @@ -46,4 +46,13 @@ class ConcatOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(concat); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(concat); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/conv_op.cpp b/src/operators/conv_op.cpp index 01d284a06e..1b00ed06ee 100644 --- a/src/operators/conv_op.cpp +++ b/src/operators/conv_op.cpp @@ -55,15 +55,12 @@ template class ConvOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(conv2d); REGISTER_OPERATOR_CPU(conv2d, ops::ConvOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(conv2d); REGISTER_OPERATOR_MALI_GPU(conv2d, ops::ConvOp); #endif #ifdef PADDLE_MOBILE_FPGA -USE_OP_FPGA(conv2d); REGISTER_OPERATOR_FPGA(conv2d, ops::ConvOp); #endif diff --git a/src/operators/conv_op.h b/src/operators/conv_op.h index f8e8952d47..d36fa47f4a 100644 --- a/src/operators/conv_op.h +++ b/src/operators/conv_op.h @@ -46,4 +46,14 @@ class ConvOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(conv2d); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(conv2d); +#endif +#ifdef PADDLE_MOBILE_FPGA +USE_OP_FPGA(conv2d); +#endif + #endif diff --git a/src/operators/depthwise_conv_op.cpp b/src/operators/depthwise_conv_op.cpp index 46f2db30ba..bee90781cd 100644 --- a/src/operators/depthwise_conv_op.cpp +++ b/src/operators/depthwise_conv_op.cpp @@ -56,7 +56,6 @@ template class DepthwiseConvOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(depthwise_conv2d); REGISTER_OPERATOR_CPU(depthwise_conv2d, ops::DepthwiseConvOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/depthwise_conv_op.h b/src/operators/depthwise_conv_op.h index 75bcf44cb8..9d7cbcfa2f 100644 --- a/src/operators/depthwise_conv_op.h +++ b/src/operators/depthwise_conv_op.h @@ -48,4 +48,12 @@ class DepthwiseConvOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(depthwise_conv2d); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/dropout_op.cpp b/src/operators/dropout_op.cpp index 709d83a1f5..f7f5ca2475 100644 --- a/src/operators/dropout_op.cpp +++ b/src/operators/dropout_op.cpp @@ -28,7 +28,6 @@ template class DropoutOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(dropout); REGISTER_OPERATOR_CPU(dropout, ops::DropoutOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/dropout_op.h b/src/operators/dropout_op.h index bc2986b791..d9d5e173a8 100644 --- a/src/operators/dropout_op.h +++ b/src/operators/dropout_op.h @@ -50,4 +50,12 @@ class DropoutOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(dropout); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/elementwise_add_op.cpp b/src/operators/elementwise_add_op.cpp index 12c59da645..3695895741 100644 --- a/src/operators/elementwise_add_op.cpp +++ b/src/operators/elementwise_add_op.cpp @@ -30,11 +30,9 @@ template class ElementwiseAddOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(elementwise_add); REGISTER_OPERATOR_CPU(elementwise_add, ops::ElementwiseAddOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(elementwise_add); REGISTER_OPERATOR_MALI_GPU(elementwise_add, ops::ElementwiseAddOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/elementwise_add_op.h b/src/operators/elementwise_add_op.h index 6cb80d06d0..761a5d3545 100644 --- a/src/operators/elementwise_add_op.h +++ b/src/operators/elementwise_add_op.h @@ -48,4 +48,13 @@ class ElementwiseAddOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(elementwise_add); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(elementwise_add); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/feed_op.cpp b/src/operators/feed_op.cpp index a40eac098c..c4357d7993 100644 --- a/src/operators/feed_op.cpp +++ b/src/operators/feed_op.cpp @@ -19,3 +19,14 @@ namespace operators { template class FeedOp; } } // namespace paddle_mobile + +namespace ops = paddle_mobile::operators; +#ifdef PADDLE_MOBILE_CPU +REGISTER_OPERATOR_CPU(feed, ops::FeedOp); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +REGISTER_OPERATOR_MALI_GPU(feed, ops::FeedOp); +#endif +#ifdef PADDLE_MOBILE_FPGA + +#endif diff --git a/src/operators/feed_op.h b/src/operators/feed_op.h index 8753bfa937..723747874d 100644 --- a/src/operators/feed_op.h +++ b/src/operators/feed_op.h @@ -44,17 +44,14 @@ class FeedOp : public framework::OperatorBase { FeedParam param_; }; -namespace ops = paddle_mobile::operators; +} // namespace operators +} // namespace paddle_mobile + #ifdef PADDLE_MOBILE_CPU USE_OP_CPU(feed); -REGISTER_OPERATOR_CPU(feed, ops::FeedOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU USE_OP_MALI_GPU(feed); -REGISTER_OPERATOR_MALI_GPU(feed, ops::FeedOp); #endif #ifdef PADDLE_MOBILE_FPGA #endif - -} // namespace operators -} // namespace paddle_mobile diff --git a/src/operators/fetch_op.cpp b/src/operators/fetch_op.cpp index 45d6afc07b..dbcfaaa9ab 100644 --- a/src/operators/fetch_op.cpp +++ b/src/operators/fetch_op.cpp @@ -19,3 +19,15 @@ namespace operators { template class FetchOp; } } // namespace paddle_mobile + +namespace ops = paddle_mobile::operators; +#ifdef PADDLE_MOBILE_CPU +REGISTER_OPERATOR_CPU(fetch, ops::FetchOp); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +REGISTER_OPERATOR_MALI_GPU(fetch, ops::FetchOp); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + + diff --git a/src/operators/fetch_op.h b/src/operators/fetch_op.h index b46093e18e..aa39e33419 100644 --- a/src/operators/fetch_op.h +++ b/src/operators/fetch_op.h @@ -44,17 +44,15 @@ class FetchOp : public framework::OperatorBase { FetchParam param_; }; -namespace ops = paddle_mobile::operators; + +} // namespace operators +} // namespace paddle_mobile + #ifdef PADDLE_MOBILE_CPU USE_OP_CPU(fetch); -REGISTER_OPERATOR_CPU(fetch, ops::FetchOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU USE_OP_MALI_GPU(fetch); -REGISTER_OPERATOR_MALI_GPU(fetch, ops::FetchOp); #endif #ifdef PADDLE_MOBILE_FPGA #endif - -} // namespace operators -} // namespace paddle_mobile diff --git a/src/operators/fusion_conv_add.cpp b/src/operators/fusion_conv_add.cpp index 731bb66cb0..1524791196 100644 --- a/src/operators/fusion_conv_add.cpp +++ b/src/operators/fusion_conv_add.cpp @@ -44,17 +44,39 @@ void FusionConvAddOp::InferShape() const { framework::DDim ddim = framework::make_ddim(output_shape); this->param_.Output()->Resize(ddim); } + +#ifdef PADDLE_MOBILE_CPU + +#ifndef CONV_ADD_REGISTER +framework::FusionOpRegistrar convadd_registrar( + new FusionConvAddMatcher()); +#define CONV_ADD_REGISTER +#endif + +#endif + +#ifdef PADDLE_MOBILE_MALI_GPU + +#ifndef CONV_ADD_REGISTER +static framework::FusionOpRegistrar convadd_registrar( + new FusionConvAddMatcher()); +#define CONV_ADD_REGISTER +#endif + +#endif + +#ifdef PADDLE_MOBILE_FPGA +#endif + template class FusionConvAddOp; } // namespace operators } // namespace paddle_mobile namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(fusion_conv_add); REGISTER_OPERATOR_CPU(fusion_conv_add, ops::FusionConvAddOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(conv_add); REGISTER_OPERATOR_MALI_GPU(conv_add, ops::FusionConvAddOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/fusion_conv_add.h b/src/operators/fusion_conv_add.h index 8b843f5526..02c9d910b9 100644 --- a/src/operators/fusion_conv_add.h +++ b/src/operators/fusion_conv_add.h @@ -69,7 +69,7 @@ class FusionConvAddOp : public framework::OperatorWithKernel< #ifdef PADDLE_MOBILE_CPU #ifndef CONV_ADD_REGISTER -static framework::FusionOpRegistrar convadd_registrar( +extern framework::FusionOpRegistrar convadd_registrar( new FusionConvAddMatcher()); #define CONV_ADD_REGISTER #endif @@ -92,4 +92,13 @@ static framework::FusionOpRegistrar convadd_registrar( } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(fusion_conv_add); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(conv_add); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/fusion_conv_add_bn_relu_op.cpp b/src/operators/fusion_conv_add_bn_relu_op.cpp index 63d0b23444..62839c1a5a 100644 --- a/src/operators/fusion_conv_add_bn_relu_op.cpp +++ b/src/operators/fusion_conv_add_bn_relu_op.cpp @@ -50,7 +50,6 @@ template class FusionConvAddBNReluOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(fusion_conv_add_bn_relu); REGISTER_OPERATOR_CPU(fusion_conv_add_bn_relu, ops::FusionConvAddBNReluOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/fusion_conv_add_bn_relu_op.h b/src/operators/fusion_conv_add_bn_relu_op.h index 494e49280d..753ce39598 100644 --- a/src/operators/fusion_conv_add_bn_relu_op.h +++ b/src/operators/fusion_conv_add_bn_relu_op.h @@ -103,4 +103,12 @@ static framework::FusionOpRegistrar fusion_conv_add_bn_relu_registrar( } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(fusion_conv_add_bn_relu); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/fusion_conv_add_relu_op.cpp b/src/operators/fusion_conv_add_relu_op.cpp index 694e46af1f..5575b52ce9 100644 --- a/src/operators/fusion_conv_add_relu_op.cpp +++ b/src/operators/fusion_conv_add_relu_op.cpp @@ -49,7 +49,6 @@ void FusionConvAddReluOp::InferShape() const { namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(fusion_conv_add_relu); REGISTER_OPERATOR_CPU(fusion_conv_add_relu, ops::FusionConvAddReluOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/fusion_conv_add_relu_op.h b/src/operators/fusion_conv_add_relu_op.h index bcacb3da3e..cf68fac8cf 100644 --- a/src/operators/fusion_conv_add_relu_op.h +++ b/src/operators/fusion_conv_add_relu_op.h @@ -80,4 +80,12 @@ class FusionConvAddReluOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(fusion_conv_add_relu); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/fusion_fc_op.cpp b/src/operators/fusion_fc_op.cpp index 2e591b678c..1b2a46defc 100644 --- a/src/operators/fusion_fc_op.cpp +++ b/src/operators/fusion_fc_op.cpp @@ -49,17 +49,37 @@ void FusionFcOp::InferShape() const { framework::DDim ddim = framework::make_ddim(output_dims); this->param_.Out()->Resize(ddim); } + +#ifdef PADDLE_MOBILE_CPU + +#ifndef CONV_CPU_REGISTER +#define CONV_CPU_REGISTER +framework::FusionOpRegistrar fc_registrar(new FusionFcMatcher()); +#endif + +#endif + +#ifdef PADDLE_MOBILE_MALI_GPU + +#ifndef CONV_CPU_REGISTER +#define CONV_CPU_REGISTER +framework::FusionOpRegistrar fc_registrar(new FusionFcMatcher()); +#endif + +#endif + +#ifdef PADDLE_MOBILE_FPGA +#endif + template class FusionFcOp; } // namespace operators } // namespace paddle_mobile namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(fusion_fc); REGISTER_OPERATOR_CPU(fusion_fc, ops::FusionFcOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(fc); REGISTER_OPERATOR_MALI_GPU(fc, ops::FusionFcOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/fusion_fc_op.h b/src/operators/fusion_fc_op.h index ea1f42f0ad..c07d59e31e 100644 --- a/src/operators/fusion_fc_op.h +++ b/src/operators/fusion_fc_op.h @@ -69,7 +69,7 @@ class FusionFcOp #ifndef CONV_CPU_REGISTER #define CONV_CPU_REGISTER -static framework::FusionOpRegistrar fc_registrar(new FusionFcMatcher()); +extern framework::FusionOpRegistrar fc_registrar(new FusionFcMatcher()); #endif #endif @@ -89,4 +89,13 @@ static framework::FusionOpRegistrar fc_registrar(new FusionFcMatcher()); } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(fusion_fc); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(fc); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/im2sequence_op.cpp b/src/operators/im2sequence_op.cpp index 2cb2d6398f..273ce462d0 100644 --- a/src/operators/im2sequence_op.cpp +++ b/src/operators/im2sequence_op.cpp @@ -54,7 +54,6 @@ template class Im2SequenceOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(im2sequence); REGISTER_OPERATOR_CPU(im2sequence, ops::Im2SequenceOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/im2sequence_op.h b/src/operators/im2sequence_op.h index 4c4dee6172..1eb180b54d 100644 --- a/src/operators/im2sequence_op.h +++ b/src/operators/im2sequence_op.h @@ -50,4 +50,13 @@ class Im2SequenceOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(im2sequence); #endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + +#endif + diff --git a/src/operators/kernel/central-arm-func/batchnorm_arm_func.h b/src/operators/kernel/central-arm-func/batchnorm_arm_func.h index 2086265ec6..276f6afe1b 100644 --- a/src/operators/kernel/central-arm-func/batchnorm_arm_func.h +++ b/src/operators/kernel/central-arm-func/batchnorm_arm_func.h @@ -53,6 +53,8 @@ void BatchnormCompute(const BatchNormParam ¶m) { "C must equal to variance.numel()"); int HXW = H * W; + +#ifdef ARMV7 if (HXW > 32) { int NXC = N * C; float *inv_std_ptr = new float[NXC * 4]; @@ -227,6 +229,39 @@ void BatchnormCompute(const BatchNormParam ¶m) { delete[] inv_std_ptr; } +#endif + float *inv_std_ptr = new float[C]; + for (int i = 0; i < C; i++) { + inv_std_ptr[i] = + 1 / static_cast(pow((variance_ptr[i] + epsilon), 0.5)); + } + + Tensor new_scale; + auto new_scale_ptr = + new_scale.mutable_data(framework::make_ddim({C})); + Tensor new_bias; + auto new_bias_ptr = new_bias.mutable_data(framework::make_ddim({C})); + + /// ((x - est_mean) * (inv_var) * scale + bias equal to + /// (x * inv_var * scale) + (bias - est_mean * inv_var * scale) + for (int i = 0; i < C; i++) { + new_scale_ptr[i] = inv_std_ptr[i] * scale_ptr[i]; + new_bias_ptr[i] = + bias_ptr[i] - mean_ptr[i] * inv_std_ptr[i] * scale_ptr[i]; + { + for (int n = 0; n < N; n++) { + for (int h = 0; h < H; h++) { + int tmp_index = n * stride0 + i * stride1 + h * stride2; + for (int w = 0; w < W; w++) { + int index = tmp_index + w; + out_ptr[index] = + input_x_ptr[index] * new_scale_ptr[i] + new_bias_ptr[i]; + } + } + } + } + } + delete[] inv_std_ptr; } } // namespace operators diff --git a/src/operators/kernel/central-arm-func/pool_arm_func.h b/src/operators/kernel/central-arm-func/pool_arm_func.h index 9eb8aceb1a..892dca2ea4 100644 --- a/src/operators/kernel/central-arm-func/pool_arm_func.h +++ b/src/operators/kernel/central-arm-func/pool_arm_func.h @@ -76,12 +76,15 @@ void PoolCompute(const PoolParam ¶m) { } } else if (ksize[0] == 2 && ksize[0] == ksize[1]) { +#ifndef IOS if (pooling_type == "max") { math::Pool2x2Max(strides, paddings, in_x, out); } else if (pooling_type == "avg") { math::Pool2x2Avg(strides, paddings, in_x, out); } - +#else + PoolBasic(pooling_type, ksize, strides, paddings, in_x, out); +#endif } else { PoolBasic(pooling_type, ksize, strides, paddings, in_x, out); } diff --git a/src/operators/lrn_op.cpp b/src/operators/lrn_op.cpp index dc43cb022a..1a5a8eccc1 100644 --- a/src/operators/lrn_op.cpp +++ b/src/operators/lrn_op.cpp @@ -30,11 +30,9 @@ template class LrnOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(lrn); REGISTER_OPERATOR_CPU(lrn, ops::LrnOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(lrn); REGISTER_OPERATOR_MALI_GPU(lrn, ops::LrnOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/lrn_op.h b/src/operators/lrn_op.h index d67b9f6be7..0d756a14f4 100644 --- a/src/operators/lrn_op.h +++ b/src/operators/lrn_op.h @@ -46,4 +46,13 @@ class LrnOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(lrn); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(lrn); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/math/gemm.cpp b/src/operators/math/gemm.cpp index c35a14bf50..0cc0598474 100644 --- a/src/operators/math/gemm.cpp +++ b/src/operators/math/gemm.cpp @@ -116,6 +116,8 @@ void PackMatrixB_(int k, int n, int n_tail, const float *B, int ldb, int i, j; const float *Bij; for (j = 0; j < n - n_tail; j += NR) { +#ifdef ARMV7 + for (i = 0; i < k; ++i) { Bij = &B(i, j); asm volatile( @@ -125,6 +127,16 @@ void PackMatrixB_(int k, int n, int n_tail, const float *B, int ldb, : [Bij] "r"(Bij) : "memory", "q0"); } +#else + for (i = 0; i < k; ++i) { + Bij = &B(i, j); + *buffer++ = *Bij; + *buffer++ = *(Bij + 1); + *buffer++ = *(Bij + 2); + *buffer++ = *(Bij + 3); + } +#endif + } if (n_tail != 0) { for (i = 0; i < k; ++i) { @@ -747,10 +759,14 @@ void sgemm(int m, int n, int k, float alpha, const float *A, int lda, const float *B, int ldb, float beta, float *C, int ldc) { int i, j, p, mc, nc, kc; float beta_; + +#ifdef ARMV7 if (m == 1) { VectorKernel(1, n, k, alpha, A, lda, B, ldb, beta, C, ldc); return; } +#endif + for (j = 0; j < n; j += NC) { nc = s_min(n - j, NC); for (p = 0; p < k; p += KC) { @@ -797,6 +813,7 @@ void sgemm_relu(int m, int n, int k, float alpha, const float *A, int lda, } } +#ifdef ARMV7 void VectorKernel(int m, int n, int k, float alpha, const float *A, int lda, const float *B, int ldb, float beta, float *C, int ldc) { float *bufferC = static_cast(memory::Alloc(sizeof(float) * n)); @@ -1010,6 +1027,7 @@ void VectorKernel(int m, int n, int k, float alpha, const float *A, int lda, } } } +#endif } // namespace math } // namespace operators diff --git a/src/operators/math/pool_2x2.cpp b/src/operators/math/pool_2x2.cpp index 96d277c136..1d5efdad0e 100644 --- a/src/operators/math/pool_2x2.cpp +++ b/src/operators/math/pool_2x2.cpp @@ -22,6 +22,9 @@ namespace math { void Pool2x2Max(vector strides, vector paddings, const Tensor *input, Tensor *output) { #if __ARM_NEON + +#ifdef ARMV7 + const int batch_size = input->dims()[0]; const int input_height = input->dims()[2]; @@ -90,12 +93,16 @@ void Pool2x2Max(vector strides, vector paddings, const Tensor *input, output_data += output_batch_stride; } #endif + +#endif } void Pool2x2Avg(vector strides, vector paddings, const Tensor *input, Tensor *output) { #if __ARM_NEON - const int batch_size = input->dims()[0]; + +#ifdef ARMV7 +const int batch_size = input->dims()[0]; const int input_height = input->dims()[2]; @@ -164,6 +171,12 @@ void Pool2x2Avg(vector strides, vector paddings, const Tensor *input, input_data += input_batch_stride; output_data += output_batch_stride; } +#else + + //TODO(): to imp other asm + +#endif + #endif } diff --git a/src/operators/mul_op.cpp b/src/operators/mul_op.cpp index 49ae3a5e84..60e0c08738 100644 --- a/src/operators/mul_op.cpp +++ b/src/operators/mul_op.cpp @@ -56,11 +56,9 @@ template class MulOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(mul); REGISTER_OPERATOR_CPU(mul, ops::MulOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(mul); REGISTER_OPERATOR_MALI_GPU(mul, ops::MulOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/mul_op.h b/src/operators/mul_op.h index ad5c9a3702..64b811b010 100644 --- a/src/operators/mul_op.h +++ b/src/operators/mul_op.h @@ -46,4 +46,13 @@ class MulOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(mul); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(mul); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/multiclass_nms_op.cpp b/src/operators/multiclass_nms_op.cpp index 52adf6cc62..eea625469e 100644 --- a/src/operators/multiclass_nms_op.cpp +++ b/src/operators/multiclass_nms_op.cpp @@ -40,7 +40,6 @@ template class MultiClassNMSOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(multiclass_nms); REGISTER_OPERATOR_CPU(multiclass_nms, ops::MultiClassNMSOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/multiclass_nms_op.h b/src/operators/multiclass_nms_op.h index 30cf8f6794..425f7d33e3 100644 --- a/src/operators/multiclass_nms_op.h +++ b/src/operators/multiclass_nms_op.h @@ -52,4 +52,12 @@ class MultiClassNMSOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(multiclass_nms); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/pool_op.cpp b/src/operators/pool_op.cpp index 62eaf6b5f8..41016d74de 100644 --- a/src/operators/pool_op.cpp +++ b/src/operators/pool_op.cpp @@ -60,11 +60,9 @@ template class PoolOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(pool2d); REGISTER_OPERATOR_CPU(pool2d, ops::PoolOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(pool2d); REGISTER_OPERATOR_MALI_GPU(pool2d, ops::PoolOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/pool_op.h b/src/operators/pool_op.h index 5b436fb18b..4c48efdc53 100644 --- a/src/operators/pool_op.h +++ b/src/operators/pool_op.h @@ -48,4 +48,13 @@ class PoolOp : public OperatorWithKernel; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(prior_box); REGISTER_OPERATOR_CPU(prior_box, ops::PriorBoxOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/prior_box_op.h b/src/operators/prior_box_op.h index 5b3e3fffd6..6fcaa07c74 100644 --- a/src/operators/prior_box_op.h +++ b/src/operators/prior_box_op.h @@ -51,4 +51,12 @@ class PriorBoxOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(prior_box); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/relu_op.cpp b/src/operators/relu_op.cpp index 877dcee1a7..b80a56f38a 100644 --- a/src/operators/relu_op.cpp +++ b/src/operators/relu_op.cpp @@ -34,11 +34,9 @@ template class ReluOp; * */ namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(relu); REGISTER_OPERATOR_CPU(relu, ops::ReluOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(relu); REGISTER_OPERATOR_MALI_GPU(relu, ops::ReluOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/relu_op.h b/src/operators/relu_op.h index 8f9e55cf8a..204ec3d29c 100644 --- a/src/operators/relu_op.h +++ b/src/operators/relu_op.h @@ -53,4 +53,13 @@ class ReluOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(relu); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(relu); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/reshape_op.cpp b/src/operators/reshape_op.cpp index c7294079b2..193678613c 100644 --- a/src/operators/reshape_op.cpp +++ b/src/operators/reshape_op.cpp @@ -33,11 +33,9 @@ template class ReshapeOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(reshape); REGISTER_OPERATOR_CPU(reshape, ops::ReshapeOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(reshape); REGISTER_OPERATOR_MALI_GPU(reshape, ops::ReshapeOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/reshape_op.h b/src/operators/reshape_op.h index 90d3115313..da2328ec35 100644 --- a/src/operators/reshape_op.h +++ b/src/operators/reshape_op.h @@ -51,4 +51,14 @@ class ReshapeOp } // namespace operators } // namespace paddle_mobile +namespace ops = paddle_mobile::operators; +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(reshape); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(reshape); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/sigmoid_op.cpp b/src/operators/sigmoid_op.cpp index 79190e6c33..c83738b2c8 100644 --- a/src/operators/sigmoid_op.cpp +++ b/src/operators/sigmoid_op.cpp @@ -28,7 +28,6 @@ template class SigmoidOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(sigmoid); REGISTER_OPERATOR_CPU(sigmoid, ops::SigmoidOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/sigmoid_op.h b/src/operators/sigmoid_op.h index bd914a6378..bffef7880b 100644 --- a/src/operators/sigmoid_op.h +++ b/src/operators/sigmoid_op.h @@ -46,4 +46,12 @@ class SigmoidOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(sigmoid); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/softmax_op.cpp b/src/operators/softmax_op.cpp index 296e3ef30f..db8fe1d943 100644 --- a/src/operators/softmax_op.cpp +++ b/src/operators/softmax_op.cpp @@ -28,11 +28,9 @@ template class SoftmaxOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(softmax); REGISTER_OPERATOR_CPU(softmax, ops::SoftmaxOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU -USE_OP_MALI_GPU(softmax); REGISTER_OPERATOR_MALI_GPU(softmax, ops::SoftmaxOp); #endif #ifdef PADDLE_MOBILE_FPGA diff --git a/src/operators/softmax_op.h b/src/operators/softmax_op.h index 1445ca055e..f645d7edf7 100644 --- a/src/operators/softmax_op.h +++ b/src/operators/softmax_op.h @@ -48,4 +48,13 @@ class SoftmaxOp } // namespace operators } // namespace paddle_mobile +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(softmax); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +USE_OP_MALI_GPU(softmax); +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/src/operators/transpose_op.cpp b/src/operators/transpose_op.cpp index 989b277b9d..7e578b2901 100644 --- a/src/operators/transpose_op.cpp +++ b/src/operators/transpose_op.cpp @@ -53,7 +53,6 @@ template class TransposeOp; namespace ops = paddle_mobile::operators; #ifdef PADDLE_MOBILE_CPU -USE_OP_CPU(transpose); REGISTER_OPERATOR_CPU(transpose, ops::TransposeOp); #endif #ifdef PADDLE_MOBILE_MALI_GPU diff --git a/src/operators/transpose_op.h b/src/operators/transpose_op.h index 349220b58f..439ab2b6e1 100644 --- a/src/operators/transpose_op.h +++ b/src/operators/transpose_op.h @@ -50,4 +50,13 @@ class TransposeOp : public framework::OperatorWithKernel< } // namespace operators } // namespace paddle_mobile + +#ifdef PADDLE_MOBILE_CPU +USE_OP_CPU(transpose); +#endif +#ifdef PADDLE_MOBILE_MALI_GPU +#endif +#ifdef PADDLE_MOBILE_FPGA +#endif + #endif diff --git a/tools/build.sh b/tools/build.sh index 43ce4eb636..0b891e56a4 100755 --- a/tools/build.sh +++ b/tools/build.sh @@ -89,7 +89,7 @@ build_for_android() { } build_for_ios() { - rm -rf "../build" +# rm -rf "../build" PLATFORM="ios" MODE="Release" BUILD_DIR=../build/release/"${PLATFORM}" @@ -119,6 +119,9 @@ build_for_ios() { fi cd "${BUILD_DIR}" make -j 8 + cd ./build + # 生成符号表 + ranlib *.a } build_error() { -- GitLab