提交 32efc50c 编写于 作者: X xiaohaichun 提交者: GitHub

Merge pull request #994 from xiaohaichun/metal

Metal
...@@ -87,3 +87,222 @@ metal/models/ ...@@ -87,3 +87,222 @@ metal/models/
metal/images/ metal/images/
*.a *.a
metal/paddle-mobile/paddle-mobile/CPU/libpaddle-mobile.a metal/paddle-mobile/paddle-mobile/CPU/libpaddle-mobile.a
metal/paddle-mobile-demo/paddle-mobile-demo/images/banana.jpeg
metal/paddle-mobile-demo/paddle-mobile-demo/images/hand.jpg
metal/paddle-mobile-demo/paddle-mobile-demo/images/iphone.JPG
metal/paddle-mobile-demo/paddle-mobile-demo/images/paddle-mobile.png
metal/paddle-mobile-demo/paddle-mobile-demo/images/synset.txt
metal/paddle-mobile-demo/paddle-mobile-demo/models/genet/genet_model
metal/paddle-mobile-demo/paddle-mobile-demo/models/genet/genet_params
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenet/model
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenet/params
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenet_combine/model
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenet_combine/params
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenet_ssd_hand/ssd_hand_model
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenet_ssd_hand/ssd_hand_params
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/__model__
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_0.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_0.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_0.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_0.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_1.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_1.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_1.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_1.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_10.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_10.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_10.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_10.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_11.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_11.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_11.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_11.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_12.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_12.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_12.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_12.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_13.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_13.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_13.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_13.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_14.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_14.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_14.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_14.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_15.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_15.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_15.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_15.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_16.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_16.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_16.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_16.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_17.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_17.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_17.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_17.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_18.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_18.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_18.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_18.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_19.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_19.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_19.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_19.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_2.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_2.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_2.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_2.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_20.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_20.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_20.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_20.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_21.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_21.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_21.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_21.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_22.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_22.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_22.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_22.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_23.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_23.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_23.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_23.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_24.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_24.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_24.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_24.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_25.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_25.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_25.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_25.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_26.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_26.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_26.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_26.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_27.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_27.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_27.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_27.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_28.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_28.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_28.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_28.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_29.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_29.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_29.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_29.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_3.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_3.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_3.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_3.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_30.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_30.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_30.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_30.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_31.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_31.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_31.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_31.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_32.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_32.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_32.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_32.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_33.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_33.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_33.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_33.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_34.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_34.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_34.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_34.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_4.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_4.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_4.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_4.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_5.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_5.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_5.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_5.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_6.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_6.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_6.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_6.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_7.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_7.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_7.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_7.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_8.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_8.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_8.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_8.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_9.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_9.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_9.w_1
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/batch_norm_9.w_2
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_0.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_1.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_10.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_11.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_12.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_13.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_14.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_15.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_16.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_17.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_18.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_19.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_2.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_20.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_21.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_22.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_22.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_23.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_23.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_24.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_24.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_25.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_25.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_26.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_26.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_27.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_27.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_28.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_28.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_29.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_29.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_3.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_30.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_30.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_31.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_31.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_32.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_32.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_33.b_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_33.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_4.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_5.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_6.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_7.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_8.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/conv2d_9.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_0.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_1.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_10.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_11.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_12.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_2.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_3.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_4.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_5.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_6.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_7.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_8.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/mobilenetssd/depthwise_conv2d_9.w_0
metal/paddle-mobile-demo/paddle-mobile-demo/models/yolo/mobilenet
metal/paddle-mobile-demo/paddle-mobile-demo/models/yolo/model
metal/paddle-mobile-demo/paddle-mobile-demo/models/yolo/params
metal/paddle-mobile-demo/paddle-mobile-demo/models/yolo/yolo
metal/paddle-mobile-demo/paddle-mobile-demo/models/fluid_fssd_new_ar/ar_model
metal/paddle-mobile-demo/paddle-mobile-demo/models/fluid_fssd_new_ar/ar_params
...@@ -8,6 +8,226 @@ ...@@ -8,6 +8,226 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
30D0ED21F392CFA3885B1002 /* Pods_paddle_mobile_demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18896810981724F8A0FED62A /* Pods_paddle_mobile_demo.framework */; }; 30D0ED21F392CFA3885B1002 /* Pods_paddle_mobile_demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18896810981724F8A0FED62A /* Pods_paddle_mobile_demo.framework */; };
C2E67D81215248950013F575 /* synset.txt in Resources */ = {isa = PBXBuildFile; fileRef = C2E67C9E215248940013F575 /* synset.txt */; };
C2E67D82215248950013F575 /* banana.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = C2E67C9F215248940013F575 /* banana.jpeg */; };
C2E67D83215248950013F575 /* hand.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C2E67CA0215248940013F575 /* hand.jpg */; };
C2E67D84215248950013F575 /* iphone.JPG in Resources */ = {isa = PBXBuildFile; fileRef = C2E67CA1215248940013F575 /* iphone.JPG */; };
C2E67D85215248950013F575 /* paddle-mobile.png in Resources */ = {isa = PBXBuildFile; fileRef = C2E67CA2215248940013F575 /* paddle-mobile.png */; };
C2E67E5E21524E460013F575 /* LoadPointerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C2E67E5D21524E460013F575 /* LoadPointerViewController.m */; };
C2E6810C215280A00013F575 /* params in Resources */ = {isa = PBXBuildFile; fileRef = C2E680302152809F0013F575 /* params */; };
C2E6810D215280A00013F575 /* model in Resources */ = {isa = PBXBuildFile; fileRef = C2E680312152809F0013F575 /* model */; };
C2E6810E215280A00013F575 /* genet_params in Resources */ = {isa = PBXBuildFile; fileRef = C2E680332152809F0013F575 /* genet_params */; };
C2E6810F215280A00013F575 /* genet_model in Resources */ = {isa = PBXBuildFile; fileRef = C2E680342152809F0013F575 /* genet_model */; };
C2E68110215280A00013F575 /* ssd_hand_params in Resources */ = {isa = PBXBuildFile; fileRef = C2E680362152809F0013F575 /* ssd_hand_params */; };
C2E68111215280A00013F575 /* ssd_hand_model in Resources */ = {isa = PBXBuildFile; fileRef = C2E680372152809F0013F575 /* ssd_hand_model */; };
C2E68112215280A00013F575 /* mobilenet in Resources */ = {isa = PBXBuildFile; fileRef = C2E680392152809F0013F575 /* mobilenet */; };
C2E68113215280A00013F575 /* params in Resources */ = {isa = PBXBuildFile; fileRef = C2E6803A2152809F0013F575 /* params */; };
C2E68114215280A00013F575 /* model in Resources */ = {isa = PBXBuildFile; fileRef = C2E6803B2152809F0013F575 /* model */; };
C2E68115215280A00013F575 /* yolo in Resources */ = {isa = PBXBuildFile; fileRef = C2E6803C2152809F0013F575 /* yolo */; };
C2E68116215280A00013F575 /* params in Resources */ = {isa = PBXBuildFile; fileRef = C2E6803E2152809F0013F575 /* params */; };
C2E68117215280A00013F575 /* model in Resources */ = {isa = PBXBuildFile; fileRef = C2E6803F2152809F0013F575 /* model */; };
C2E68118215280A00013F575 /* batch_norm_7.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680412152809F0013F575 /* batch_norm_7.w_0 */; };
C2E68119215280A00013F575 /* batch_norm_26.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680422152809F0013F575 /* batch_norm_26.b_0 */; };
C2E6811A215280A00013F575 /* batch_norm_32.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680432152809F0013F575 /* batch_norm_32.b_0 */; };
C2E6811B215280A00013F575 /* conv2d_16.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680442152809F0013F575 /* conv2d_16.w_0 */; };
C2E6811C215280A00013F575 /* batch_norm_15.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680452152809F0013F575 /* batch_norm_15.w_2 */; };
C2E6811D215280A00013F575 /* batch_norm_29.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680462152809F0013F575 /* batch_norm_29.w_2 */; };
C2E6811E215280A00013F575 /* batch_norm_4.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680472152809F0013F575 /* batch_norm_4.w_1 */; };
C2E6811F215280A00013F575 /* batch_norm_5.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680482152809F0013F575 /* batch_norm_5.w_1 */; };
C2E68120215280A00013F575 /* batch_norm_28.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680492152809F0013F575 /* batch_norm_28.w_2 */; };
C2E68121215280A00013F575 /* batch_norm_14.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6804A2152809F0013F575 /* batch_norm_14.w_2 */; };
C2E68122215280A00013F575 /* conv2d_17.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6804B2152809F0013F575 /* conv2d_17.w_0 */; };
C2E68123215280A00013F575 /* batch_norm_33.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6804C2152809F0013F575 /* batch_norm_33.b_0 */; };
C2E68124215280A00013F575 /* batch_norm_27.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6804D2152809F0013F575 /* batch_norm_27.b_0 */; };
C2E68125215280A00013F575 /* batch_norm_6.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6804E2152809F0013F575 /* batch_norm_6.w_0 */; };
C2E68126215280A00013F575 /* batch_norm_4.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6804F2152809F0013F575 /* batch_norm_4.w_0 */; };
C2E68127215280A00013F575 /* depthwise_conv2d_9.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680502152809F0013F575 /* depthwise_conv2d_9.w_0 */; };
C2E68128215280A00013F575 /* batch_norm_31.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680512152809F0013F575 /* batch_norm_31.b_0 */; };
C2E68129215280A00013F575 /* conv2d_29.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680522152809F0013F575 /* conv2d_29.w_0 */; };
C2E6812A215280A00013F575 /* batch_norm_25.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680532152809F0013F575 /* batch_norm_25.b_0 */; };
C2E6812B215280A00013F575 /* conv2d_15.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680542152809F0013F575 /* conv2d_15.w_0 */; };
C2E6812C215280A00013F575 /* batch_norm_19.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680552152809F0013F575 /* batch_norm_19.b_0 */; };
C2E6812D215280A00013F575 /* batch_norm_16.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680562152809F0013F575 /* batch_norm_16.w_2 */; };
C2E6812E215280A00013F575 /* __model__ in Resources */ = {isa = PBXBuildFile; fileRef = C2E680572152809F0013F575 /* __model__ */; };
C2E6812F215280A00013F575 /* batch_norm_7.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680582152809F0013F575 /* batch_norm_7.w_1 */; };
C2E68130215280A00013F575 /* batch_norm_6.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680592152809F0013F575 /* batch_norm_6.w_1 */; };
C2E68131215280A00013F575 /* batch_norm_17.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6805A2152809F0013F575 /* batch_norm_17.w_2 */; };
C2E68132215280A00013F575 /* conv2d_14.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6805B2152809F0013F575 /* conv2d_14.w_0 */; };
C2E68133215280A00013F575 /* batch_norm_18.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6805C2152809F0013F575 /* batch_norm_18.b_0 */; };
C2E68134215280A00013F575 /* conv2d_28.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6805D2152809F0013F575 /* conv2d_28.w_0 */; };
C2E68135215280A00013F575 /* batch_norm_24.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6805E2152809F0013F575 /* batch_norm_24.b_0 */; };
C2E68136215280A00013F575 /* batch_norm_30.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6805F2152809F0013F575 /* batch_norm_30.b_0 */; };
C2E68137215280A00013F575 /* depthwise_conv2d_8.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680602152809F0013F575 /* depthwise_conv2d_8.w_0 */; };
C2E68138215280A00013F575 /* batch_norm_5.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680612152809F0013F575 /* batch_norm_5.w_0 */; };
C2E68139215280A00013F575 /* batch_norm_1.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680622152809F0013F575 /* batch_norm_1.w_0 */; };
C2E6813A215280A00013F575 /* conv2d_10.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680632152809F0013F575 /* conv2d_10.w_0 */; };
C2E6813B215280A00013F575 /* batch_norm_34.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680642152809F0013F575 /* batch_norm_34.b_0 */; };
C2E6813C215280A00013F575 /* batch_norm_20.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680652152809F0013F575 /* batch_norm_20.b_0 */; };
C2E6813D215280A00013F575 /* batch_norm_13.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680662152809F0013F575 /* batch_norm_13.w_2 */; };
C2E6813E215280A00013F575 /* batch_norm_2.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680672152809F0013F575 /* batch_norm_2.w_1 */; };
C2E6813F215280A00013F575 /* batch_norm_3.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680682152809F0013F575 /* batch_norm_3.w_1 */; };
C2E68140215280A00013F575 /* batch_norm_12.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680692152809F0013F575 /* batch_norm_12.w_2 */; };
C2E68141215280A00013F575 /* batch_norm_21.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6806A2152809F0013F575 /* batch_norm_21.b_0 */; };
C2E68142215280A00013F575 /* conv2d_11.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6806B2152809F0013F575 /* conv2d_11.w_0 */; };
C2E68143215280A00013F575 /* batch_norm_0.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6806C2152809F0013F575 /* batch_norm_0.w_0 */; };
C2E68144215280A00013F575 /* batch_norm_2.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6806D2152809F0013F575 /* batch_norm_2.w_0 */; };
C2E68145215280A00013F575 /* conv2d_13.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6806E2152809F0013F575 /* conv2d_13.w_0 */; };
C2E68146215280A00013F575 /* batch_norm_23.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6806F2152809F0013F575 /* batch_norm_23.b_0 */; };
C2E68147215280A00013F575 /* batch_norm_10.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680702152809F0013F575 /* batch_norm_10.w_2 */; };
C2E68148215280A00013F575 /* batch_norm_1.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680712152809F0013F575 /* batch_norm_1.w_1 */; };
C2E68149215280A00013F575 /* batch_norm_0.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680722152809F0013F575 /* batch_norm_0.w_1 */; };
C2E6814A215280A00013F575 /* batch_norm_11.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680732152809F0013F575 /* batch_norm_11.w_2 */; };
C2E6814B215280A00013F575 /* batch_norm_22.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680742152809F0013F575 /* batch_norm_22.b_0 */; };
C2E6814C215280A00013F575 /* conv2d_12.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680752152809F0013F575 /* conv2d_12.w_0 */; };
C2E6814D215280A00013F575 /* batch_norm_3.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680762152809F0013F575 /* batch_norm_3.w_0 */; };
C2E6814E215280A00013F575 /* batch_norm_21.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680772152809F0013F575 /* batch_norm_21.w_1 */; };
C2E6814F215280A00013F575 /* batch_norm_3.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680782152809F0013F575 /* batch_norm_3.b_0 */; };
C2E68150215280A00013F575 /* batch_norm_22.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680792152809F0013F575 /* batch_norm_22.w_0 */; };
C2E68151215280A00013F575 /* batch_norm_23.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6807A2152809F0013F575 /* batch_norm_23.w_0 */; };
C2E68152215280A00013F575 /* batch_norm_2.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6807B2152809F0013F575 /* batch_norm_2.b_0 */; };
C2E68153215280A00013F575 /* batch_norm_20.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6807C2152809F0013F575 /* batch_norm_20.w_1 */; };
C2E68154215280A00013F575 /* batch_norm_34.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6807D2152809F0013F575 /* batch_norm_34.w_1 */; };
C2E68155215280A00013F575 /* batch_norm_22.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6807E2152809F0013F575 /* batch_norm_22.w_1 */; };
C2E68156215280A00013F575 /* batch_norm_0.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6807F2152809F0013F575 /* batch_norm_0.b_0 */; };
C2E68157215280A00013F575 /* batch_norm_21.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680802152809F0013F575 /* batch_norm_21.w_0 */; };
C2E68158215280A00013F575 /* batch_norm_20.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680812152809F0013F575 /* batch_norm_20.w_0 */; };
C2E68159215280A00013F575 /* batch_norm_34.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680822152809F0013F575 /* batch_norm_34.w_0 */; };
C2E6815A215280A00013F575 /* batch_norm_1.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680832152809F0013F575 /* batch_norm_1.b_0 */; };
C2E6815B215280A00013F575 /* batch_norm_23.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680842152809F0013F575 /* batch_norm_23.w_1 */; };
C2E6815C215280A00013F575 /* batch_norm_27.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680852152809F0013F575 /* batch_norm_27.w_1 */; };
C2E6815D215280A00013F575 /* batch_norm_33.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680862152809F0013F575 /* batch_norm_33.w_1 */; };
C2E6815E215280A00013F575 /* batch_norm_5.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680872152809F0013F575 /* batch_norm_5.b_0 */; };
C2E6815F215280A00013F575 /* batch_norm_18.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680882152809F0013F575 /* batch_norm_18.w_0 */; };
C2E68160215280A00013F575 /* batch_norm_30.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680892152809F0013F575 /* batch_norm_30.w_0 */; };
C2E68161215280A00013F575 /* batch_norm_24.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6808A2152809F0013F575 /* batch_norm_24.w_0 */; };
C2E68162215280A00013F575 /* conv2d_28.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6808B2152809F0013F575 /* conv2d_28.b_0 */; };
C2E68163215280A00013F575 /* batch_norm_25.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6808C2152809F0013F575 /* batch_norm_25.w_0 */; };
C2E68164215280A00013F575 /* conv2d_29.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6808D2152809F0013F575 /* conv2d_29.b_0 */; };
C2E68165215280A00013F575 /* batch_norm_31.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6808E2152809F0013F575 /* batch_norm_31.w_0 */; };
C2E68166215280A00013F575 /* batch_norm_19.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6808F2152809F0013F575 /* batch_norm_19.w_0 */; };
C2E68167215280A00013F575 /* batch_norm_4.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680902152809F0013F575 /* batch_norm_4.b_0 */; };
C2E68168215280A00013F575 /* batch_norm_32.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680912152809F0013F575 /* batch_norm_32.w_1 */; };
C2E68169215280A00013F575 /* batch_norm_26.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680922152809F0013F575 /* batch_norm_26.w_1 */; };
C2E6816A215280A00013F575 /* batch_norm_30.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680932152809F0013F575 /* batch_norm_30.w_1 */; };
C2E6816B215280A00013F575 /* batch_norm_24.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680942152809F0013F575 /* batch_norm_24.w_1 */; };
C2E6816C215280A00013F575 /* batch_norm_18.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680952152809F0013F575 /* batch_norm_18.w_1 */; };
C2E6816D215280A00013F575 /* batch_norm_6.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680962152809F0013F575 /* batch_norm_6.b_0 */; };
C2E6816E215280A00013F575 /* batch_norm_9.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680972152809F0013F575 /* batch_norm_9.w_2 */; };
C2E6816F215280A00013F575 /* conv2d_8.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680982152809F0013F575 /* conv2d_8.w_0 */; };
C2E68170215280A00013F575 /* batch_norm_27.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680992152809F0013F575 /* batch_norm_27.w_0 */; };
C2E68171215280A00013F575 /* batch_norm_33.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6809A2152809F0013F575 /* batch_norm_33.w_0 */; };
C2E68172215280A00013F575 /* batch_norm_32.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6809B2152809F0013F575 /* batch_norm_32.w_0 */; };
C2E68173215280A00013F575 /* conv2d_9.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6809C2152809F0013F575 /* conv2d_9.w_0 */; };
C2E68174215280A00013F575 /* batch_norm_26.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6809D2152809F0013F575 /* batch_norm_26.w_0 */; };
C2E68175215280A00013F575 /* batch_norm_8.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6809E2152809F0013F575 /* batch_norm_8.w_2 */; };
C2E68176215280A00013F575 /* batch_norm_7.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E6809F2152809F0013F575 /* batch_norm_7.b_0 */; };
C2E68177215280A00013F575 /* batch_norm_19.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A02152809F0013F575 /* batch_norm_19.w_1 */; };
C2E68178215280A00013F575 /* batch_norm_25.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A12152809F0013F575 /* batch_norm_25.w_1 */; };
C2E68179215280A00013F575 /* batch_norm_31.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A22152809F0013F575 /* batch_norm_31.w_1 */; };
C2E6817A215280A00013F575 /* batch_norm_28.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A32152809F0013F575 /* batch_norm_28.w_1 */; };
C2E6817B215280A00013F575 /* batch_norm_14.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A42152809F0013F575 /* batch_norm_14.w_1 */; };
C2E6817C215280A00013F575 /* batch_norm_5.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A52152809F0013F575 /* batch_norm_5.w_2 */; };
C2E6817D215280A00013F575 /* batch_norm_17.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A62152809F0013F575 /* batch_norm_17.w_0 */; };
C2E6817E215280A00013F575 /* conv2d_33.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A72152809F0013F575 /* conv2d_33.b_0 */; };
C2E6817F215280A00013F575 /* conv2d_27.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A82152809F0013F575 /* conv2d_27.b_0 */; };
C2E68180215280A00013F575 /* conv2d_4.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680A92152809F0013F575 /* conv2d_4.w_0 */; };
C2E68181215280A00013F575 /* conv2d_5.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680AA2152809F0013F575 /* conv2d_5.w_0 */; };
C2E68182215280A00013F575 /* conv2d_26.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680AB2152809F0013F575 /* conv2d_26.b_0 */; };
C2E68183215280A00013F575 /* conv2d_32.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680AC2152809F0013F575 /* conv2d_32.b_0 */; };
C2E68184215280A00013F575 /* batch_norm_16.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680AD2152809F0013F575 /* batch_norm_16.w_0 */; };
C2E68185215280A00013F575 /* batch_norm_4.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680AE2152809F0013F575 /* batch_norm_4.w_2 */; };
C2E68186215280A00013F575 /* batch_norm_15.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680AF2152809F0013F575 /* batch_norm_15.w_1 */; };
C2E68187215280A00013F575 /* batch_norm_29.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B02152809F0013F575 /* batch_norm_29.w_1 */; };
C2E68188215280A00013F575 /* batch_norm_17.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B12152809F0013F575 /* batch_norm_17.w_1 */; };
C2E68189215280A00013F575 /* batch_norm_9.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B22152809F0013F575 /* batch_norm_9.b_0 */; };
C2E6818A215280A00013F575 /* batch_norm_6.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B32152809F0013F575 /* batch_norm_6.w_2 */; };
C2E6818B215280A00013F575 /* batch_norm_14.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B42152809F0013F575 /* batch_norm_14.w_0 */; };
C2E6818C215280A00013F575 /* batch_norm_28.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B52152809F0013F575 /* batch_norm_28.w_0 */; };
C2E6818D215280A00013F575 /* conv2d_24.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B62152809F0013F575 /* conv2d_24.b_0 */; };
C2E6818E215280A00013F575 /* conv2d_7.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B72152809F0013F575 /* conv2d_7.w_0 */; };
C2E6818F215280A00013F575 /* conv2d_30.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B82152809F0013F575 /* conv2d_30.b_0 */; };
C2E68190215280A00013F575 /* conv2d_31.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680B92152809F0013F575 /* conv2d_31.b_0 */; };
C2E68191215280A00013F575 /* batch_norm_29.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680BA2152809F0013F575 /* batch_norm_29.w_0 */; };
C2E68192215280A00013F575 /* conv2d_6.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680BB2152809F0013F575 /* conv2d_6.w_0 */; };
C2E68193215280A00013F575 /* conv2d_25.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680BC2152809F0013F575 /* conv2d_25.b_0 */; };
C2E68194215280A00013F575 /* batch_norm_15.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680BD2152809F0013F575 /* batch_norm_15.w_0 */; };
C2E68195215280A00013F575 /* batch_norm_7.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680BE2152809F0013F575 /* batch_norm_7.w_2 */; };
C2E68196215280A00013F575 /* batch_norm_8.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680BF2152809F0013F575 /* batch_norm_8.b_0 */; };
C2E68197215280A00013F575 /* batch_norm_16.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C02152809F0013F575 /* batch_norm_16.w_1 */; };
C2E68198215280A00013F575 /* batch_norm_12.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C12152809F0013F575 /* batch_norm_12.w_1 */; };
C2E68199215280A00013F575 /* batch_norm_3.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C22152809F0013F575 /* batch_norm_3.w_2 */; };
C2E6819A215280A00013F575 /* conv2d_2.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C32152809F0013F575 /* conv2d_2.w_0 */; };
C2E6819B215280A00013F575 /* batch_norm_11.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C42152809F0013F575 /* batch_norm_11.w_0 */; };
C2E6819C215280A00013F575 /* batch_norm_10.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C52152809F0013F575 /* batch_norm_10.w_0 */; };
C2E6819D215280A00013F575 /* conv2d_3.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C62152809F0013F575 /* conv2d_3.w_0 */; };
C2E6819E215280A00013F575 /* batch_norm_2.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C72152809F0013F575 /* batch_norm_2.w_2 */; };
C2E6819F215280A00013F575 /* depthwise_conv2d_12.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C82152809F0013F575 /* depthwise_conv2d_12.w_0 */; };
C2E681A0215280A00013F575 /* batch_norm_13.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680C92152809F0013F575 /* batch_norm_13.w_1 */; };
C2E681A1215280A00013F575 /* batch_norm_11.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680CA2152809F0013F575 /* batch_norm_11.w_1 */; };
C2E681A2215280A00013F575 /* depthwise_conv2d_10.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680CB2152809F0013F575 /* depthwise_conv2d_10.w_0 */; };
C2E681A3215280A00013F575 /* batch_norm_0.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680CC2152809F0013F575 /* batch_norm_0.w_2 */; };
C2E681A4215280A00013F575 /* conv2d_22.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680CD2152809F0013F575 /* conv2d_22.b_0 */; };
C2E681A5215280A00013F575 /* conv2d_1.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680CE2152809F0013F575 /* conv2d_1.w_0 */; };
C2E681A6215280A00013F575 /* batch_norm_12.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680CF2152809F0013F575 /* batch_norm_12.w_0 */; };
C2E681A7215280A00013F575 /* batch_norm_13.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D02152809F0013F575 /* batch_norm_13.w_0 */; };
C2E681A8215280A00013F575 /* conv2d_0.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D12152809F0013F575 /* conv2d_0.w_0 */; };
C2E681A9215280A00013F575 /* conv2d_23.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D22152809F0013F575 /* conv2d_23.b_0 */; };
C2E681AA215280A00013F575 /* batch_norm_1.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D32152809F0013F575 /* batch_norm_1.w_2 */; };
C2E681AB215280A00013F575 /* batch_norm_10.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D42152809F0013F575 /* batch_norm_10.w_1 */; };
C2E681AC215280A00013F575 /* depthwise_conv2d_11.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D52152809F0013F575 /* depthwise_conv2d_11.w_0 */; };
C2E681AD215280A00013F575 /* depthwise_conv2d_3.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D62152809F0013F575 /* depthwise_conv2d_3.w_0 */; };
C2E681AE215280A00013F575 /* batch_norm_13.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D72152809F0013F575 /* batch_norm_13.b_0 */; };
C2E681AF215280A00013F575 /* conv2d_23.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D82152809F0013F575 /* conv2d_23.w_0 */; };
C2E681B0215280A00013F575 /* batch_norm_20.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680D92152809F0013F575 /* batch_norm_20.w_2 */; };
C2E681B1215280A00013F575 /* batch_norm_34.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680DA2152809F0013F575 /* batch_norm_34.w_2 */; };
C2E681B2215280A00013F575 /* batch_norm_21.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680DB2152809F0013F575 /* batch_norm_21.w_2 */; };
C2E681B3215280A00013F575 /* conv2d_22.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680DC2152809F0013F575 /* conv2d_22.w_0 */; };
C2E681B4215280A00013F575 /* batch_norm_12.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680DD2152809F0013F575 /* batch_norm_12.b_0 */; };
C2E681B5215280A00013F575 /* depthwise_conv2d_2.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680DE2152809F0013F575 /* depthwise_conv2d_2.w_0 */; };
C2E681B6215280A00013F575 /* depthwise_conv2d_0.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680DF2152809F0013F575 /* depthwise_conv2d_0.w_0 */; };
C2E681B7215280A00013F575 /* batch_norm_10.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E02152809F0013F575 /* batch_norm_10.b_0 */; };
C2E681B8215280A00013F575 /* conv2d_20.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E12152809F0013F575 /* conv2d_20.w_0 */; };
C2E681B9215280A00013F575 /* batch_norm_23.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E22152809F0013F575 /* batch_norm_23.w_2 */; };
C2E681BA215280A00013F575 /* batch_norm_22.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E32152809F0013F575 /* batch_norm_22.w_2 */; };
C2E681BB215280A00013F575 /* conv2d_21.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E42152809F0013F575 /* conv2d_21.w_0 */; };
C2E681BC215280A00013F575 /* batch_norm_11.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E52152809F0013F575 /* batch_norm_11.b_0 */; };
C2E681BD215280A00013F575 /* depthwise_conv2d_1.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E62152809F0013F575 /* depthwise_conv2d_1.w_0 */; };
C2E681BE215280A00013F575 /* depthwise_conv2d_5.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E72152809F0013F575 /* depthwise_conv2d_5.w_0 */; };
C2E681BF215280A00013F575 /* batch_norm_8.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E82152809F0013F575 /* batch_norm_8.w_0 */; };
C2E681C0215280A00013F575 /* conv2d_25.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680E92152809F0013F575 /* conv2d_25.w_0 */; };
C2E681C1215280A00013F575 /* batch_norm_29.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680EA2152809F0013F575 /* batch_norm_29.b_0 */; };
C2E681C2215280A00013F575 /* conv2d_31.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680EB215280A00013F575 /* conv2d_31.w_0 */; };
C2E681C3215280A00013F575 /* conv2d_19.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680EC215280A00013F575 /* conv2d_19.w_0 */; };
C2E681C4215280A00013F575 /* batch_norm_15.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680ED215280A00013F575 /* batch_norm_15.b_0 */; };
C2E681C5215280A00013F575 /* batch_norm_32.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680EE215280A00013F575 /* batch_norm_32.w_2 */; };
C2E681C6215280A00013F575 /* batch_norm_26.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680EF215280A00013F575 /* batch_norm_26.w_2 */; };
C2E681C7215280A00013F575 /* batch_norm_27.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F0215280A00013F575 /* batch_norm_27.w_2 */; };
C2E681C8215280A00013F575 /* batch_norm_33.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F1215280A00013F575 /* batch_norm_33.w_2 */; };
C2E681C9215280A00013F575 /* conv2d_18.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F2215280A00013F575 /* conv2d_18.w_0 */; };
C2E681CA215280A00013F575 /* batch_norm_14.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F3215280A00013F575 /* batch_norm_14.b_0 */; };
C2E681CB215280A00013F575 /* conv2d_30.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F4215280A00013F575 /* conv2d_30.w_0 */; };
C2E681CC215280A00013F575 /* conv2d_24.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F5215280A00013F575 /* conv2d_24.w_0 */; };
C2E681CD215280A00013F575 /* batch_norm_28.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F6215280A00013F575 /* batch_norm_28.b_0 */; };
C2E681CE215280A00013F575 /* batch_norm_9.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F7215280A00013F575 /* batch_norm_9.w_0 */; };
C2E681CF215280A00013F575 /* depthwise_conv2d_4.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F8215280A00013F575 /* depthwise_conv2d_4.w_0 */; };
C2E681D0215280A00013F575 /* depthwise_conv2d_6.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680F9215280A00013F575 /* depthwise_conv2d_6.w_0 */; };
C2E681D1215280A00013F575 /* conv2d_32.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680FA215280A00013F575 /* conv2d_32.w_0 */; };
C2E681D2215280A00013F575 /* conv2d_26.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680FB215280A00013F575 /* conv2d_26.w_0 */; };
C2E681D3215280A00013F575 /* batch_norm_16.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680FC215280A00013F575 /* batch_norm_16.b_0 */; };
C2E681D4215280A00013F575 /* batch_norm_19.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680FD215280A00013F575 /* batch_norm_19.w_2 */; };
C2E681D5215280A00013F575 /* batch_norm_25.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680FE215280A00013F575 /* batch_norm_25.w_2 */; };
C2E681D6215280A00013F575 /* batch_norm_31.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E680FF215280A00013F575 /* batch_norm_31.w_2 */; };
C2E681D7215280A00013F575 /* batch_norm_8.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68100215280A00013F575 /* batch_norm_8.w_1 */; };
C2E681D8215280A00013F575 /* batch_norm_9.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68101215280A00013F575 /* batch_norm_9.w_1 */; };
C2E681D9215280A00013F575 /* batch_norm_30.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68102215280A00013F575 /* batch_norm_30.w_2 */; };
C2E681DA215280A00013F575 /* batch_norm_24.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68103215280A00013F575 /* batch_norm_24.w_2 */; };
C2E681DB215280A00013F575 /* batch_norm_18.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68104215280A00013F575 /* batch_norm_18.w_2 */; };
C2E681DC215280A00013F575 /* batch_norm_17.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68105215280A00013F575 /* batch_norm_17.b_0 */; };
C2E681DD215280A00013F575 /* conv2d_27.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68106215280A00013F575 /* conv2d_27.w_0 */; };
C2E681DE215280A00013F575 /* conv2d_33.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68107215280A00013F575 /* conv2d_33.w_0 */; };
C2E681DF215280A00013F575 /* depthwise_conv2d_7.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2E68108215280A00013F575 /* depthwise_conv2d_7.w_0 */; };
C2E681E0215280A00013F575 /* ar_model in Resources */ = {isa = PBXBuildFile; fileRef = C2E6810A215280A00013F575 /* ar_model */; };
C2E681E1215280A00013F575 /* ar_params in Resources */ = {isa = PBXBuildFile; fileRef = C2E6810B215280A00013F575 /* ar_params */; };
FC013928210204A3008100E3 /* PreProcessKernel.metal in Sources */ = {isa = PBXBuildFile; fileRef = FC013927210204A3008100E3 /* PreProcessKernel.metal */; }; FC013928210204A3008100E3 /* PreProcessKernel.metal in Sources */ = {isa = PBXBuildFile; fileRef = FC013927210204A3008100E3 /* PreProcessKernel.metal */; };
FC039B8220E11C550081E9F8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC039B8120E11C550081E9F8 /* AppDelegate.swift */; }; FC039B8220E11C550081E9F8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC039B8120E11C550081E9F8 /* AppDelegate.swift */; };
FC039B8420E11C550081E9F8 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC039B8320E11C550081E9F8 /* ViewController.swift */; }; FC039B8420E11C550081E9F8 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC039B8320E11C550081E9F8 /* ViewController.swift */; };
...@@ -16,22 +236,9 @@ ...@@ -16,22 +236,9 @@
FC039B8C20E11C560081E9F8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC039B8A20E11C560081E9F8 /* LaunchScreen.storyboard */; }; FC039B8C20E11C560081E9F8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC039B8A20E11C560081E9F8 /* LaunchScreen.storyboard */; };
FC803BCD214D27930094B8E5 /* FPSCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC803BCB214D27920094B8E5 /* FPSCounter.swift */; }; FC803BCD214D27930094B8E5 /* FPSCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC803BCB214D27920094B8E5 /* FPSCounter.swift */; };
FC803BCE214D27930094B8E5 /* VideoCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC803BCC214D27920094B8E5 /* VideoCapture.swift */; }; FC803BCE214D27930094B8E5 /* VideoCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC803BCC214D27920094B8E5 /* VideoCapture.swift */; };
FC8CFEE62135452C0094D569 /* genet_params in Resources */ = {isa = PBXBuildFile; fileRef = FC8CFEE42135452B0094D569 /* genet_params */; };
FC8CFEE72135452C0094D569 /* genet_model in Resources */ = {isa = PBXBuildFile; fileRef = FC8CFEE52135452B0094D569 /* genet_model */; };
FC8CFEF8213551D10094D569 /* params in Resources */ = {isa = PBXBuildFile; fileRef = FC8CFEF6213551D00094D569 /* params */; };
FC8CFEF9213551D10094D569 /* model in Resources */ = {isa = PBXBuildFile; fileRef = FC8CFEF7213551D00094D569 /* model */; };
FC918191211DBC3500B6F354 /* paddle-mobile.png in Resources */ = {isa = PBXBuildFile; fileRef = FC918190211DBC3500B6F354 /* paddle-mobile.png */; };
FC918193211DC70500B6F354 /* iphone.JPG in Resources */ = {isa = PBXBuildFile; fileRef = FC918192211DC70500B6F354 /* iphone.JPG */; };
FC9A19E72148C38400CD9CBF /* ar_model in Resources */ = {isa = PBXBuildFile; fileRef = FC9A19E52148C38400CD9CBF /* ar_model */; };
FC9A19E82148C38400CD9CBF /* ar_params in Resources */ = {isa = PBXBuildFile; fileRef = FC9A19E62148C38400CD9CBF /* ar_params */; };
FCA3A16121313E1F00084FE5 /* hand.jpg in Resources */ = {isa = PBXBuildFile; fileRef = FCA3A16021313E1F00084FE5 /* hand.jpg */; };
FCBCCC522122EEDC00D94F7E /* ssd_hand_params in Resources */ = {isa = PBXBuildFile; fileRef = FCBCCC502122EEDC00D94F7E /* ssd_hand_params */; };
FCBCCC532122EEDC00D94F7E /* ssd_hand_model in Resources */ = {isa = PBXBuildFile; fileRef = FCBCCC512122EEDC00D94F7E /* ssd_hand_model */; };
FCBCCC552122EF5500D94F7E /* MetalHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBCCC542122EF5400D94F7E /* MetalHelper.swift */; }; FCBCCC552122EF5500D94F7E /* MetalHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBCCC542122EF5400D94F7E /* MetalHelper.swift */; };
FCDFD41B211D91C7005AB38B /* synset.txt in Resources */ = {isa = PBXBuildFile; fileRef = FCDFD41A211D91C7005AB38B /* synset.txt */; };
FCEBEC2C20E1391F00C0B14D /* paddle_mobile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */; }; FCEBEC2C20E1391F00C0B14D /* paddle_mobile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */; };
FCEBEC2D20E1391F00C0B14D /* paddle_mobile.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; FCEBEC2D20E1391F00C0B14D /* paddle_mobile.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
FCEEE7D4210627A000444BEC /* banana.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = FCEEE7D3210627A000444BEC /* banana.jpeg */; };
FCF437E8214B6DDB00943429 /* MultiPredictViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCF437E7214B6DDB00943429 /* MultiPredictViewController.swift */; }; FCF437E8214B6DDB00943429 /* MultiPredictViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCF437E7214B6DDB00943429 /* MultiPredictViewController.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
...@@ -53,6 +260,227 @@ ...@@ -53,6 +260,227 @@
081C9CF10DB06C58B8B6B039 /* Pods-paddle-mobile-demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-paddle-mobile-demo.release.xcconfig"; path = "../Pods/Target Support Files/Pods-paddle-mobile-demo/Pods-paddle-mobile-demo.release.xcconfig"; sourceTree = "<group>"; }; 081C9CF10DB06C58B8B6B039 /* Pods-paddle-mobile-demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-paddle-mobile-demo.release.xcconfig"; path = "../Pods/Target Support Files/Pods-paddle-mobile-demo/Pods-paddle-mobile-demo.release.xcconfig"; sourceTree = "<group>"; };
18896810981724F8A0FED62A /* Pods_paddle_mobile_demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_paddle_mobile_demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 18896810981724F8A0FED62A /* Pods_paddle_mobile_demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_paddle_mobile_demo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
878829884E1A14D7044721D5 /* Pods-paddle-mobile-demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-paddle-mobile-demo.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-paddle-mobile-demo/Pods-paddle-mobile-demo.debug.xcconfig"; sourceTree = "<group>"; }; 878829884E1A14D7044721D5 /* Pods-paddle-mobile-demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-paddle-mobile-demo.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-paddle-mobile-demo/Pods-paddle-mobile-demo.debug.xcconfig"; sourceTree = "<group>"; };
C2E67C9E215248940013F575 /* synset.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = synset.txt; sourceTree = "<group>"; };
C2E67C9F215248940013F575 /* banana.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = banana.jpeg; sourceTree = "<group>"; };
C2E67CA0215248940013F575 /* hand.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = hand.jpg; sourceTree = "<group>"; };
C2E67CA1215248940013F575 /* iphone.JPG */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = iphone.JPG; sourceTree = "<group>"; };
C2E67CA2215248940013F575 /* paddle-mobile.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle-mobile.png"; sourceTree = "<group>"; };
C2E67E5C21524E460013F575 /* LoadPointerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoadPointerViewController.h; sourceTree = "<group>"; };
C2E67E5D21524E460013F575 /* LoadPointerViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoadPointerViewController.m; sourceTree = "<group>"; };
C2E680302152809F0013F575 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = "<group>"; };
C2E680312152809F0013F575 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = "<group>"; };
C2E680332152809F0013F575 /* genet_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = genet_params; sourceTree = "<group>"; };
C2E680342152809F0013F575 /* genet_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = genet_model; sourceTree = "<group>"; };
C2E680362152809F0013F575 /* ssd_hand_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = ssd_hand_params; sourceTree = "<group>"; };
C2E680372152809F0013F575 /* ssd_hand_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = ssd_hand_model; sourceTree = "<group>"; };
C2E680392152809F0013F575 /* mobilenet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mobilenet; sourceTree = "<group>"; };
C2E6803A2152809F0013F575 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = "<group>"; };
C2E6803B2152809F0013F575 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = "<group>"; };
C2E6803C2152809F0013F575 /* yolo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = yolo; sourceTree = "<group>"; };
C2E6803E2152809F0013F575 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = "<group>"; };
C2E6803F2152809F0013F575 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = "<group>"; };
C2E680412152809F0013F575 /* batch_norm_7.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.w_0; sourceTree = "<group>"; };
C2E680422152809F0013F575 /* batch_norm_26.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.b_0; sourceTree = "<group>"; };
C2E680432152809F0013F575 /* batch_norm_32.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.b_0; sourceTree = "<group>"; };
C2E680442152809F0013F575 /* conv2d_16.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_16.w_0; sourceTree = "<group>"; };
C2E680452152809F0013F575 /* batch_norm_15.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.w_2; sourceTree = "<group>"; };
C2E680462152809F0013F575 /* batch_norm_29.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.w_2; sourceTree = "<group>"; };
C2E680472152809F0013F575 /* batch_norm_4.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.w_1; sourceTree = "<group>"; };
C2E680482152809F0013F575 /* batch_norm_5.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.w_1; sourceTree = "<group>"; };
C2E680492152809F0013F575 /* batch_norm_28.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.w_2; sourceTree = "<group>"; };
C2E6804A2152809F0013F575 /* batch_norm_14.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.w_2; sourceTree = "<group>"; };
C2E6804B2152809F0013F575 /* conv2d_17.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_17.w_0; sourceTree = "<group>"; };
C2E6804C2152809F0013F575 /* batch_norm_33.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.b_0; sourceTree = "<group>"; };
C2E6804D2152809F0013F575 /* batch_norm_27.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.b_0; sourceTree = "<group>"; };
C2E6804E2152809F0013F575 /* batch_norm_6.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.w_0; sourceTree = "<group>"; };
C2E6804F2152809F0013F575 /* batch_norm_4.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.w_0; sourceTree = "<group>"; };
C2E680502152809F0013F575 /* depthwise_conv2d_9.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_9.w_0; sourceTree = "<group>"; };
C2E680512152809F0013F575 /* batch_norm_31.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.b_0; sourceTree = "<group>"; };
C2E680522152809F0013F575 /* conv2d_29.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_29.w_0; sourceTree = "<group>"; };
C2E680532152809F0013F575 /* batch_norm_25.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.b_0; sourceTree = "<group>"; };
C2E680542152809F0013F575 /* conv2d_15.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_15.w_0; sourceTree = "<group>"; };
C2E680552152809F0013F575 /* batch_norm_19.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.b_0; sourceTree = "<group>"; };
C2E680562152809F0013F575 /* batch_norm_16.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.w_2; sourceTree = "<group>"; };
C2E680572152809F0013F575 /* __model__ */ = {isa = PBXFileReference; lastKnownFileType = file; path = __model__; sourceTree = "<group>"; };
C2E680582152809F0013F575 /* batch_norm_7.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.w_1; sourceTree = "<group>"; };
C2E680592152809F0013F575 /* batch_norm_6.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.w_1; sourceTree = "<group>"; };
C2E6805A2152809F0013F575 /* batch_norm_17.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.w_2; sourceTree = "<group>"; };
C2E6805B2152809F0013F575 /* conv2d_14.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_14.w_0; sourceTree = "<group>"; };
C2E6805C2152809F0013F575 /* batch_norm_18.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.b_0; sourceTree = "<group>"; };
C2E6805D2152809F0013F575 /* conv2d_28.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_28.w_0; sourceTree = "<group>"; };
C2E6805E2152809F0013F575 /* batch_norm_24.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.b_0; sourceTree = "<group>"; };
C2E6805F2152809F0013F575 /* batch_norm_30.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.b_0; sourceTree = "<group>"; };
C2E680602152809F0013F575 /* depthwise_conv2d_8.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_8.w_0; sourceTree = "<group>"; };
C2E680612152809F0013F575 /* batch_norm_5.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.w_0; sourceTree = "<group>"; };
C2E680622152809F0013F575 /* batch_norm_1.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.w_0; sourceTree = "<group>"; };
C2E680632152809F0013F575 /* conv2d_10.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_10.w_0; sourceTree = "<group>"; };
C2E680642152809F0013F575 /* batch_norm_34.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.b_0; sourceTree = "<group>"; };
C2E680652152809F0013F575 /* batch_norm_20.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.b_0; sourceTree = "<group>"; };
C2E680662152809F0013F575 /* batch_norm_13.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.w_2; sourceTree = "<group>"; };
C2E680672152809F0013F575 /* batch_norm_2.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.w_1; sourceTree = "<group>"; };
C2E680682152809F0013F575 /* batch_norm_3.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.w_1; sourceTree = "<group>"; };
C2E680692152809F0013F575 /* batch_norm_12.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.w_2; sourceTree = "<group>"; };
C2E6806A2152809F0013F575 /* batch_norm_21.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.b_0; sourceTree = "<group>"; };
C2E6806B2152809F0013F575 /* conv2d_11.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_11.w_0; sourceTree = "<group>"; };
C2E6806C2152809F0013F575 /* batch_norm_0.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.w_0; sourceTree = "<group>"; };
C2E6806D2152809F0013F575 /* batch_norm_2.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.w_0; sourceTree = "<group>"; };
C2E6806E2152809F0013F575 /* conv2d_13.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_13.w_0; sourceTree = "<group>"; };
C2E6806F2152809F0013F575 /* batch_norm_23.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.b_0; sourceTree = "<group>"; };
C2E680702152809F0013F575 /* batch_norm_10.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.w_2; sourceTree = "<group>"; };
C2E680712152809F0013F575 /* batch_norm_1.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.w_1; sourceTree = "<group>"; };
C2E680722152809F0013F575 /* batch_norm_0.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.w_1; sourceTree = "<group>"; };
C2E680732152809F0013F575 /* batch_norm_11.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.w_2; sourceTree = "<group>"; };
C2E680742152809F0013F575 /* batch_norm_22.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.b_0; sourceTree = "<group>"; };
C2E680752152809F0013F575 /* conv2d_12.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_12.w_0; sourceTree = "<group>"; };
C2E680762152809F0013F575 /* batch_norm_3.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.w_0; sourceTree = "<group>"; };
C2E680772152809F0013F575 /* batch_norm_21.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.w_1; sourceTree = "<group>"; };
C2E680782152809F0013F575 /* batch_norm_3.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.b_0; sourceTree = "<group>"; };
C2E680792152809F0013F575 /* batch_norm_22.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.w_0; sourceTree = "<group>"; };
C2E6807A2152809F0013F575 /* batch_norm_23.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.w_0; sourceTree = "<group>"; };
C2E6807B2152809F0013F575 /* batch_norm_2.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.b_0; sourceTree = "<group>"; };
C2E6807C2152809F0013F575 /* batch_norm_20.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.w_1; sourceTree = "<group>"; };
C2E6807D2152809F0013F575 /* batch_norm_34.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.w_1; sourceTree = "<group>"; };
C2E6807E2152809F0013F575 /* batch_norm_22.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.w_1; sourceTree = "<group>"; };
C2E6807F2152809F0013F575 /* batch_norm_0.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.b_0; sourceTree = "<group>"; };
C2E680802152809F0013F575 /* batch_norm_21.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.w_0; sourceTree = "<group>"; };
C2E680812152809F0013F575 /* batch_norm_20.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.w_0; sourceTree = "<group>"; };
C2E680822152809F0013F575 /* batch_norm_34.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.w_0; sourceTree = "<group>"; };
C2E680832152809F0013F575 /* batch_norm_1.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.b_0; sourceTree = "<group>"; };
C2E680842152809F0013F575 /* batch_norm_23.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.w_1; sourceTree = "<group>"; };
C2E680852152809F0013F575 /* batch_norm_27.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.w_1; sourceTree = "<group>"; };
C2E680862152809F0013F575 /* batch_norm_33.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.w_1; sourceTree = "<group>"; };
C2E680872152809F0013F575 /* batch_norm_5.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.b_0; sourceTree = "<group>"; };
C2E680882152809F0013F575 /* batch_norm_18.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.w_0; sourceTree = "<group>"; };
C2E680892152809F0013F575 /* batch_norm_30.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.w_0; sourceTree = "<group>"; };
C2E6808A2152809F0013F575 /* batch_norm_24.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.w_0; sourceTree = "<group>"; };
C2E6808B2152809F0013F575 /* conv2d_28.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_28.b_0; sourceTree = "<group>"; };
C2E6808C2152809F0013F575 /* batch_norm_25.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.w_0; sourceTree = "<group>"; };
C2E6808D2152809F0013F575 /* conv2d_29.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_29.b_0; sourceTree = "<group>"; };
C2E6808E2152809F0013F575 /* batch_norm_31.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.w_0; sourceTree = "<group>"; };
C2E6808F2152809F0013F575 /* batch_norm_19.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.w_0; sourceTree = "<group>"; };
C2E680902152809F0013F575 /* batch_norm_4.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.b_0; sourceTree = "<group>"; };
C2E680912152809F0013F575 /* batch_norm_32.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.w_1; sourceTree = "<group>"; };
C2E680922152809F0013F575 /* batch_norm_26.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.w_1; sourceTree = "<group>"; };
C2E680932152809F0013F575 /* batch_norm_30.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.w_1; sourceTree = "<group>"; };
C2E680942152809F0013F575 /* batch_norm_24.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.w_1; sourceTree = "<group>"; };
C2E680952152809F0013F575 /* batch_norm_18.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.w_1; sourceTree = "<group>"; };
C2E680962152809F0013F575 /* batch_norm_6.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.b_0; sourceTree = "<group>"; };
C2E680972152809F0013F575 /* batch_norm_9.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.w_2; sourceTree = "<group>"; };
C2E680982152809F0013F575 /* conv2d_8.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_8.w_0; sourceTree = "<group>"; };
C2E680992152809F0013F575 /* batch_norm_27.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.w_0; sourceTree = "<group>"; };
C2E6809A2152809F0013F575 /* batch_norm_33.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.w_0; sourceTree = "<group>"; };
C2E6809B2152809F0013F575 /* batch_norm_32.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.w_0; sourceTree = "<group>"; };
C2E6809C2152809F0013F575 /* conv2d_9.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_9.w_0; sourceTree = "<group>"; };
C2E6809D2152809F0013F575 /* batch_norm_26.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.w_0; sourceTree = "<group>"; };
C2E6809E2152809F0013F575 /* batch_norm_8.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.w_2; sourceTree = "<group>"; };
C2E6809F2152809F0013F575 /* batch_norm_7.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.b_0; sourceTree = "<group>"; };
C2E680A02152809F0013F575 /* batch_norm_19.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.w_1; sourceTree = "<group>"; };
C2E680A12152809F0013F575 /* batch_norm_25.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.w_1; sourceTree = "<group>"; };
C2E680A22152809F0013F575 /* batch_norm_31.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.w_1; sourceTree = "<group>"; };
C2E680A32152809F0013F575 /* batch_norm_28.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.w_1; sourceTree = "<group>"; };
C2E680A42152809F0013F575 /* batch_norm_14.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.w_1; sourceTree = "<group>"; };
C2E680A52152809F0013F575 /* batch_norm_5.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.w_2; sourceTree = "<group>"; };
C2E680A62152809F0013F575 /* batch_norm_17.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.w_0; sourceTree = "<group>"; };
C2E680A72152809F0013F575 /* conv2d_33.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_33.b_0; sourceTree = "<group>"; };
C2E680A82152809F0013F575 /* conv2d_27.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_27.b_0; sourceTree = "<group>"; };
C2E680A92152809F0013F575 /* conv2d_4.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_4.w_0; sourceTree = "<group>"; };
C2E680AA2152809F0013F575 /* conv2d_5.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_5.w_0; sourceTree = "<group>"; };
C2E680AB2152809F0013F575 /* conv2d_26.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_26.b_0; sourceTree = "<group>"; };
C2E680AC2152809F0013F575 /* conv2d_32.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_32.b_0; sourceTree = "<group>"; };
C2E680AD2152809F0013F575 /* batch_norm_16.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.w_0; sourceTree = "<group>"; };
C2E680AE2152809F0013F575 /* batch_norm_4.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.w_2; sourceTree = "<group>"; };
C2E680AF2152809F0013F575 /* batch_norm_15.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.w_1; sourceTree = "<group>"; };
C2E680B02152809F0013F575 /* batch_norm_29.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.w_1; sourceTree = "<group>"; };
C2E680B12152809F0013F575 /* batch_norm_17.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.w_1; sourceTree = "<group>"; };
C2E680B22152809F0013F575 /* batch_norm_9.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.b_0; sourceTree = "<group>"; };
C2E680B32152809F0013F575 /* batch_norm_6.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.w_2; sourceTree = "<group>"; };
C2E680B42152809F0013F575 /* batch_norm_14.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.w_0; sourceTree = "<group>"; };
C2E680B52152809F0013F575 /* batch_norm_28.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.w_0; sourceTree = "<group>"; };
C2E680B62152809F0013F575 /* conv2d_24.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_24.b_0; sourceTree = "<group>"; };
C2E680B72152809F0013F575 /* conv2d_7.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_7.w_0; sourceTree = "<group>"; };
C2E680B82152809F0013F575 /* conv2d_30.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_30.b_0; sourceTree = "<group>"; };
C2E680B92152809F0013F575 /* conv2d_31.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_31.b_0; sourceTree = "<group>"; };
C2E680BA2152809F0013F575 /* batch_norm_29.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.w_0; sourceTree = "<group>"; };
C2E680BB2152809F0013F575 /* conv2d_6.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_6.w_0; sourceTree = "<group>"; };
C2E680BC2152809F0013F575 /* conv2d_25.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_25.b_0; sourceTree = "<group>"; };
C2E680BD2152809F0013F575 /* batch_norm_15.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.w_0; sourceTree = "<group>"; };
C2E680BE2152809F0013F575 /* batch_norm_7.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.w_2; sourceTree = "<group>"; };
C2E680BF2152809F0013F575 /* batch_norm_8.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.b_0; sourceTree = "<group>"; };
C2E680C02152809F0013F575 /* batch_norm_16.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.w_1; sourceTree = "<group>"; };
C2E680C12152809F0013F575 /* batch_norm_12.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.w_1; sourceTree = "<group>"; };
C2E680C22152809F0013F575 /* batch_norm_3.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.w_2; sourceTree = "<group>"; };
C2E680C32152809F0013F575 /* conv2d_2.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_2.w_0; sourceTree = "<group>"; };
C2E680C42152809F0013F575 /* batch_norm_11.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.w_0; sourceTree = "<group>"; };
C2E680C52152809F0013F575 /* batch_norm_10.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.w_0; sourceTree = "<group>"; };
C2E680C62152809F0013F575 /* conv2d_3.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_3.w_0; sourceTree = "<group>"; };
C2E680C72152809F0013F575 /* batch_norm_2.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.w_2; sourceTree = "<group>"; };
C2E680C82152809F0013F575 /* depthwise_conv2d_12.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_12.w_0; sourceTree = "<group>"; };
C2E680C92152809F0013F575 /* batch_norm_13.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.w_1; sourceTree = "<group>"; };
C2E680CA2152809F0013F575 /* batch_norm_11.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.w_1; sourceTree = "<group>"; };
C2E680CB2152809F0013F575 /* depthwise_conv2d_10.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_10.w_0; sourceTree = "<group>"; };
C2E680CC2152809F0013F575 /* batch_norm_0.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.w_2; sourceTree = "<group>"; };
C2E680CD2152809F0013F575 /* conv2d_22.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_22.b_0; sourceTree = "<group>"; };
C2E680CE2152809F0013F575 /* conv2d_1.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_1.w_0; sourceTree = "<group>"; };
C2E680CF2152809F0013F575 /* batch_norm_12.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.w_0; sourceTree = "<group>"; };
C2E680D02152809F0013F575 /* batch_norm_13.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.w_0; sourceTree = "<group>"; };
C2E680D12152809F0013F575 /* conv2d_0.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_0.w_0; sourceTree = "<group>"; };
C2E680D22152809F0013F575 /* conv2d_23.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_23.b_0; sourceTree = "<group>"; };
C2E680D32152809F0013F575 /* batch_norm_1.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.w_2; sourceTree = "<group>"; };
C2E680D42152809F0013F575 /* batch_norm_10.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.w_1; sourceTree = "<group>"; };
C2E680D52152809F0013F575 /* depthwise_conv2d_11.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_11.w_0; sourceTree = "<group>"; };
C2E680D62152809F0013F575 /* depthwise_conv2d_3.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_3.w_0; sourceTree = "<group>"; };
C2E680D72152809F0013F575 /* batch_norm_13.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.b_0; sourceTree = "<group>"; };
C2E680D82152809F0013F575 /* conv2d_23.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_23.w_0; sourceTree = "<group>"; };
C2E680D92152809F0013F575 /* batch_norm_20.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.w_2; sourceTree = "<group>"; };
C2E680DA2152809F0013F575 /* batch_norm_34.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.w_2; sourceTree = "<group>"; };
C2E680DB2152809F0013F575 /* batch_norm_21.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.w_2; sourceTree = "<group>"; };
C2E680DC2152809F0013F575 /* conv2d_22.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_22.w_0; sourceTree = "<group>"; };
C2E680DD2152809F0013F575 /* batch_norm_12.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.b_0; sourceTree = "<group>"; };
C2E680DE2152809F0013F575 /* depthwise_conv2d_2.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_2.w_0; sourceTree = "<group>"; };
C2E680DF2152809F0013F575 /* depthwise_conv2d_0.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_0.w_0; sourceTree = "<group>"; };
C2E680E02152809F0013F575 /* batch_norm_10.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.b_0; sourceTree = "<group>"; };
C2E680E12152809F0013F575 /* conv2d_20.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_20.w_0; sourceTree = "<group>"; };
C2E680E22152809F0013F575 /* batch_norm_23.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.w_2; sourceTree = "<group>"; };
C2E680E32152809F0013F575 /* batch_norm_22.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.w_2; sourceTree = "<group>"; };
C2E680E42152809F0013F575 /* conv2d_21.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_21.w_0; sourceTree = "<group>"; };
C2E680E52152809F0013F575 /* batch_norm_11.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.b_0; sourceTree = "<group>"; };
C2E680E62152809F0013F575 /* depthwise_conv2d_1.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_1.w_0; sourceTree = "<group>"; };
C2E680E72152809F0013F575 /* depthwise_conv2d_5.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_5.w_0; sourceTree = "<group>"; };
C2E680E82152809F0013F575 /* batch_norm_8.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.w_0; sourceTree = "<group>"; };
C2E680E92152809F0013F575 /* conv2d_25.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_25.w_0; sourceTree = "<group>"; };
C2E680EA2152809F0013F575 /* batch_norm_29.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.b_0; sourceTree = "<group>"; };
C2E680EB215280A00013F575 /* conv2d_31.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_31.w_0; sourceTree = "<group>"; };
C2E680EC215280A00013F575 /* conv2d_19.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_19.w_0; sourceTree = "<group>"; };
C2E680ED215280A00013F575 /* batch_norm_15.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.b_0; sourceTree = "<group>"; };
C2E680EE215280A00013F575 /* batch_norm_32.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.w_2; sourceTree = "<group>"; };
C2E680EF215280A00013F575 /* batch_norm_26.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.w_2; sourceTree = "<group>"; };
C2E680F0215280A00013F575 /* batch_norm_27.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.w_2; sourceTree = "<group>"; };
C2E680F1215280A00013F575 /* batch_norm_33.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.w_2; sourceTree = "<group>"; };
C2E680F2215280A00013F575 /* conv2d_18.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_18.w_0; sourceTree = "<group>"; };
C2E680F3215280A00013F575 /* batch_norm_14.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.b_0; sourceTree = "<group>"; };
C2E680F4215280A00013F575 /* conv2d_30.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_30.w_0; sourceTree = "<group>"; };
C2E680F5215280A00013F575 /* conv2d_24.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_24.w_0; sourceTree = "<group>"; };
C2E680F6215280A00013F575 /* batch_norm_28.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.b_0; sourceTree = "<group>"; };
C2E680F7215280A00013F575 /* batch_norm_9.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.w_0; sourceTree = "<group>"; };
C2E680F8215280A00013F575 /* depthwise_conv2d_4.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_4.w_0; sourceTree = "<group>"; };
C2E680F9215280A00013F575 /* depthwise_conv2d_6.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_6.w_0; sourceTree = "<group>"; };
C2E680FA215280A00013F575 /* conv2d_32.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_32.w_0; sourceTree = "<group>"; };
C2E680FB215280A00013F575 /* conv2d_26.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_26.w_0; sourceTree = "<group>"; };
C2E680FC215280A00013F575 /* batch_norm_16.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.b_0; sourceTree = "<group>"; };
C2E680FD215280A00013F575 /* batch_norm_19.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.w_2; sourceTree = "<group>"; };
C2E680FE215280A00013F575 /* batch_norm_25.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.w_2; sourceTree = "<group>"; };
C2E680FF215280A00013F575 /* batch_norm_31.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.w_2; sourceTree = "<group>"; };
C2E68100215280A00013F575 /* batch_norm_8.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.w_1; sourceTree = "<group>"; };
C2E68101215280A00013F575 /* batch_norm_9.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.w_1; sourceTree = "<group>"; };
C2E68102215280A00013F575 /* batch_norm_30.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.w_2; sourceTree = "<group>"; };
C2E68103215280A00013F575 /* batch_norm_24.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.w_2; sourceTree = "<group>"; };
C2E68104215280A00013F575 /* batch_norm_18.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.w_2; sourceTree = "<group>"; };
C2E68105215280A00013F575 /* batch_norm_17.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.b_0; sourceTree = "<group>"; };
C2E68106215280A00013F575 /* conv2d_27.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_27.w_0; sourceTree = "<group>"; };
C2E68107215280A00013F575 /* conv2d_33.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_33.w_0; sourceTree = "<group>"; };
C2E68108215280A00013F575 /* depthwise_conv2d_7.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_7.w_0; sourceTree = "<group>"; };
C2E6810A215280A00013F575 /* ar_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = ar_model; sourceTree = "<group>"; };
C2E6810B215280A00013F575 /* ar_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = ar_params; sourceTree = "<group>"; };
FC013927210204A3008100E3 /* PreProcessKernel.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = PreProcessKernel.metal; sourceTree = "<group>"; }; FC013927210204A3008100E3 /* PreProcessKernel.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = PreProcessKernel.metal; sourceTree = "<group>"; };
FC039B7E20E11C550081E9F8 /* paddle-mobile-demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "paddle-mobile-demo.app"; sourceTree = BUILT_PRODUCTS_DIR; }; FC039B7E20E11C550081E9F8 /* paddle-mobile-demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "paddle-mobile-demo.app"; sourceTree = BUILT_PRODUCTS_DIR; };
FC039B8120E11C550081E9F8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; FC039B8120E11C550081E9F8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
...@@ -65,21 +493,8 @@ ...@@ -65,21 +493,8 @@
FC4FD97B2140EE250073E130 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; FC4FD97B2140EE250073E130 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
FC803BCB214D27920094B8E5 /* FPSCounter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FPSCounter.swift; sourceTree = "<group>"; }; FC803BCB214D27920094B8E5 /* FPSCounter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FPSCounter.swift; sourceTree = "<group>"; };
FC803BCC214D27920094B8E5 /* VideoCapture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoCapture.swift; sourceTree = "<group>"; }; FC803BCC214D27920094B8E5 /* VideoCapture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoCapture.swift; sourceTree = "<group>"; };
FC8CFEE42135452B0094D569 /* genet_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = genet_params; sourceTree = "<group>"; };
FC8CFEE52135452B0094D569 /* genet_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = genet_model; sourceTree = "<group>"; };
FC8CFEF6213551D00094D569 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = "<group>"; };
FC8CFEF7213551D00094D569 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = "<group>"; };
FC918190211DBC3500B6F354 /* paddle-mobile.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle-mobile.png"; sourceTree = "<group>"; };
FC918192211DC70500B6F354 /* iphone.JPG */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = iphone.JPG; sourceTree = "<group>"; };
FC9A19E52148C38400CD9CBF /* ar_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = ar_model; sourceTree = "<group>"; };
FC9A19E62148C38400CD9CBF /* ar_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = ar_params; sourceTree = "<group>"; };
FCA3A16021313E1F00084FE5 /* hand.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = hand.jpg; sourceTree = "<group>"; };
FCBCCC502122EEDC00D94F7E /* ssd_hand_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = ssd_hand_params; sourceTree = "<group>"; };
FCBCCC512122EEDC00D94F7E /* ssd_hand_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = ssd_hand_model; sourceTree = "<group>"; };
FCBCCC542122EF5400D94F7E /* MetalHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetalHelper.swift; sourceTree = "<group>"; }; FCBCCC542122EF5400D94F7E /* MetalHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetalHelper.swift; sourceTree = "<group>"; };
FCDFD41A211D91C7005AB38B /* synset.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = synset.txt; sourceTree = "<group>"; };
FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = paddle_mobile.framework; sourceTree = BUILT_PRODUCTS_DIR; }; FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = paddle_mobile.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FCEEE7D3210627A000444BEC /* banana.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = banana.jpeg; sourceTree = "<group>"; };
FCF437E7214B6DDB00943429 /* MultiPredictViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiPredictViewController.swift; sourceTree = "<group>"; }; FCF437E7214B6DDB00943429 /* MultiPredictViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiPredictViewController.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
...@@ -114,121 +529,351 @@ ...@@ -114,121 +529,351 @@
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC039B7520E11C550081E9F8 = { C2E67C9D215248940013F575 /* images */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */, C2E67C9E215248940013F575 /* synset.txt */,
FC039B8020E11C550081E9F8 /* paddle-mobile-demo */, C2E67C9F215248940013F575 /* banana.jpeg */,
FC039B7F20E11C550081E9F8 /* Products */, C2E67CA0215248940013F575 /* hand.jpg */,
5722B50FEC38F55CA9B6A57B /* Pods */, C2E67CA1215248940013F575 /* iphone.JPG */,
7B7DED984E9EE7BFB45E24E8 /* Frameworks */, C2E67CA2215248940013F575 /* paddle-mobile.png */,
); );
path = images;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC039B7F20E11C550081E9F8 /* Products */ = { C2E6802E2152809F0013F575 /* models */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC039B7E20E11C550081E9F8 /* paddle-mobile-demo.app */, C2E6802F2152809F0013F575 /* mobilenet */,
C2E680322152809F0013F575 /* genet */,
C2E680352152809F0013F575 /* mobilenet_ssd_hand */,
C2E680382152809F0013F575 /* yolo */,
C2E6803D2152809F0013F575 /* mobilenet_combine */,
C2E680402152809F0013F575 /* mobilenetssd */,
C2E68109215280A00013F575 /* fluid_fssd_new_ar */,
); );
name = Products; path = models;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC039B8020E11C550081E9F8 /* paddle-mobile-demo */ = { C2E6802F2152809F0013F575 /* mobilenet */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC803BCA214D27920094B8E5 /* VideoCapture */, C2E680302152809F0013F575 /* params */,
FC8CFED2213519540094D569 /* Net */, C2E680312152809F0013F575 /* model */,
FC0E2C2020EDC03B009C1FAC /* models */,
FC0E2C1D20EDC030009C1FAC /* images */,
FC039B8120E11C550081E9F8 /* AppDelegate.swift */,
FC039B8320E11C550081E9F8 /* ViewController.swift */,
FC039B8520E11C550081E9F8 /* Main.storyboard */,
FC039B8820E11C560081E9F8 /* Assets.xcassets */,
FC039B8A20E11C560081E9F8 /* LaunchScreen.storyboard */,
FC039B8D20E11C560081E9F8 /* Info.plist */,
FC27991121343A39000B6BAD /* paddle-mobile-demo-Bridging-Header.h */,
FCF437E7214B6DDB00943429 /* MultiPredictViewController.swift */,
); );
path = "paddle-mobile-demo"; path = mobilenet;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC0E2C1D20EDC030009C1FAC /* images */ = { C2E680322152809F0013F575 /* genet */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FCA3A16021313E1F00084FE5 /* hand.jpg */, C2E680332152809F0013F575 /* genet_params */,
FC918192211DC70500B6F354 /* iphone.JPG */, C2E680342152809F0013F575 /* genet_model */,
FC918190211DBC3500B6F354 /* paddle-mobile.png */, );
FCDFD41A211D91C7005AB38B /* synset.txt */, path = genet;
FCEEE7D3210627A000444BEC /* banana.jpeg */,
);
name = images;
path = ../../images;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC0E2C2020EDC03B009C1FAC /* models */ = { C2E680352152809F0013F575 /* mobilenet_ssd_hand */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC9A19E42148C38400CD9CBF /* fluid_fssd_new_ar */, C2E680362152809F0013F575 /* ssd_hand_params */,
FC8CFEF5213551D00094D569 /* mobilenet */, C2E680372152809F0013F575 /* ssd_hand_model */,
FC8CFEE32135452B0094D569 /* genet */,
FCBCCC4F2122EEDC00D94F7E /* mobilenet_ssd_hand */,
); );
name = models; path = mobilenet_ssd_hand;
path = ../../models;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC803BCA214D27920094B8E5 /* VideoCapture */ = { C2E680382152809F0013F575 /* yolo */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC803BCB214D27920094B8E5 /* FPSCounter.swift */, C2E680392152809F0013F575 /* mobilenet */,
FC803BCC214D27920094B8E5 /* VideoCapture.swift */, C2E6803A2152809F0013F575 /* params */,
C2E6803B2152809F0013F575 /* model */,
C2E6803C2152809F0013F575 /* yolo */,
); );
path = VideoCapture; path = yolo;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC8CFED2213519540094D569 /* Net */ = { C2E6803D2152809F0013F575 /* mobilenet_combine */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC013927210204A3008100E3 /* PreProcessKernel.metal */, C2E6803E2152809F0013F575 /* params */,
FCBCCC542122EF5400D94F7E /* MetalHelper.swift */, C2E6803F2152809F0013F575 /* model */,
); );
path = Net; path = mobilenet_combine;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC8CFEE32135452B0094D569 /* genet */ = { C2E680402152809F0013F575 /* mobilenetssd */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC8CFEE42135452B0094D569 /* genet_params */, C2E680412152809F0013F575 /* batch_norm_7.w_0 */,
FC8CFEE52135452B0094D569 /* genet_model */, C2E680422152809F0013F575 /* batch_norm_26.b_0 */,
C2E680432152809F0013F575 /* batch_norm_32.b_0 */,
C2E680442152809F0013F575 /* conv2d_16.w_0 */,
C2E680452152809F0013F575 /* batch_norm_15.w_2 */,
C2E680462152809F0013F575 /* batch_norm_29.w_2 */,
C2E680472152809F0013F575 /* batch_norm_4.w_1 */,
C2E680482152809F0013F575 /* batch_norm_5.w_1 */,
C2E680492152809F0013F575 /* batch_norm_28.w_2 */,
C2E6804A2152809F0013F575 /* batch_norm_14.w_2 */,
C2E6804B2152809F0013F575 /* conv2d_17.w_0 */,
C2E6804C2152809F0013F575 /* batch_norm_33.b_0 */,
C2E6804D2152809F0013F575 /* batch_norm_27.b_0 */,
C2E6804E2152809F0013F575 /* batch_norm_6.w_0 */,
C2E6804F2152809F0013F575 /* batch_norm_4.w_0 */,
C2E680502152809F0013F575 /* depthwise_conv2d_9.w_0 */,
C2E680512152809F0013F575 /* batch_norm_31.b_0 */,
C2E680522152809F0013F575 /* conv2d_29.w_0 */,
C2E680532152809F0013F575 /* batch_norm_25.b_0 */,
C2E680542152809F0013F575 /* conv2d_15.w_0 */,
C2E680552152809F0013F575 /* batch_norm_19.b_0 */,
C2E680562152809F0013F575 /* batch_norm_16.w_2 */,
C2E680572152809F0013F575 /* __model__ */,
C2E680582152809F0013F575 /* batch_norm_7.w_1 */,
C2E680592152809F0013F575 /* batch_norm_6.w_1 */,
C2E6805A2152809F0013F575 /* batch_norm_17.w_2 */,
C2E6805B2152809F0013F575 /* conv2d_14.w_0 */,
C2E6805C2152809F0013F575 /* batch_norm_18.b_0 */,
C2E6805D2152809F0013F575 /* conv2d_28.w_0 */,
C2E6805E2152809F0013F575 /* batch_norm_24.b_0 */,
C2E6805F2152809F0013F575 /* batch_norm_30.b_0 */,
C2E680602152809F0013F575 /* depthwise_conv2d_8.w_0 */,
C2E680612152809F0013F575 /* batch_norm_5.w_0 */,
C2E680622152809F0013F575 /* batch_norm_1.w_0 */,
C2E680632152809F0013F575 /* conv2d_10.w_0 */,
C2E680642152809F0013F575 /* batch_norm_34.b_0 */,
C2E680652152809F0013F575 /* batch_norm_20.b_0 */,
C2E680662152809F0013F575 /* batch_norm_13.w_2 */,
C2E680672152809F0013F575 /* batch_norm_2.w_1 */,
C2E680682152809F0013F575 /* batch_norm_3.w_1 */,
C2E680692152809F0013F575 /* batch_norm_12.w_2 */,
C2E6806A2152809F0013F575 /* batch_norm_21.b_0 */,
C2E6806B2152809F0013F575 /* conv2d_11.w_0 */,
C2E6806C2152809F0013F575 /* batch_norm_0.w_0 */,
C2E6806D2152809F0013F575 /* batch_norm_2.w_0 */,
C2E6806E2152809F0013F575 /* conv2d_13.w_0 */,
C2E6806F2152809F0013F575 /* batch_norm_23.b_0 */,
C2E680702152809F0013F575 /* batch_norm_10.w_2 */,
C2E680712152809F0013F575 /* batch_norm_1.w_1 */,
C2E680722152809F0013F575 /* batch_norm_0.w_1 */,
C2E680732152809F0013F575 /* batch_norm_11.w_2 */,
C2E680742152809F0013F575 /* batch_norm_22.b_0 */,
C2E680752152809F0013F575 /* conv2d_12.w_0 */,
C2E680762152809F0013F575 /* batch_norm_3.w_0 */,
C2E680772152809F0013F575 /* batch_norm_21.w_1 */,
C2E680782152809F0013F575 /* batch_norm_3.b_0 */,
C2E680792152809F0013F575 /* batch_norm_22.w_0 */,
C2E6807A2152809F0013F575 /* batch_norm_23.w_0 */,
C2E6807B2152809F0013F575 /* batch_norm_2.b_0 */,
C2E6807C2152809F0013F575 /* batch_norm_20.w_1 */,
C2E6807D2152809F0013F575 /* batch_norm_34.w_1 */,
C2E6807E2152809F0013F575 /* batch_norm_22.w_1 */,
C2E6807F2152809F0013F575 /* batch_norm_0.b_0 */,
C2E680802152809F0013F575 /* batch_norm_21.w_0 */,
C2E680812152809F0013F575 /* batch_norm_20.w_0 */,
C2E680822152809F0013F575 /* batch_norm_34.w_0 */,
C2E680832152809F0013F575 /* batch_norm_1.b_0 */,
C2E680842152809F0013F575 /* batch_norm_23.w_1 */,
C2E680852152809F0013F575 /* batch_norm_27.w_1 */,
C2E680862152809F0013F575 /* batch_norm_33.w_1 */,
C2E680872152809F0013F575 /* batch_norm_5.b_0 */,
C2E680882152809F0013F575 /* batch_norm_18.w_0 */,
C2E680892152809F0013F575 /* batch_norm_30.w_0 */,
C2E6808A2152809F0013F575 /* batch_norm_24.w_0 */,
C2E6808B2152809F0013F575 /* conv2d_28.b_0 */,
C2E6808C2152809F0013F575 /* batch_norm_25.w_0 */,
C2E6808D2152809F0013F575 /* conv2d_29.b_0 */,
C2E6808E2152809F0013F575 /* batch_norm_31.w_0 */,
C2E6808F2152809F0013F575 /* batch_norm_19.w_0 */,
C2E680902152809F0013F575 /* batch_norm_4.b_0 */,
C2E680912152809F0013F575 /* batch_norm_32.w_1 */,
C2E680922152809F0013F575 /* batch_norm_26.w_1 */,
C2E680932152809F0013F575 /* batch_norm_30.w_1 */,
C2E680942152809F0013F575 /* batch_norm_24.w_1 */,
C2E680952152809F0013F575 /* batch_norm_18.w_1 */,
C2E680962152809F0013F575 /* batch_norm_6.b_0 */,
C2E680972152809F0013F575 /* batch_norm_9.w_2 */,
C2E680982152809F0013F575 /* conv2d_8.w_0 */,
C2E680992152809F0013F575 /* batch_norm_27.w_0 */,
C2E6809A2152809F0013F575 /* batch_norm_33.w_0 */,
C2E6809B2152809F0013F575 /* batch_norm_32.w_0 */,
C2E6809C2152809F0013F575 /* conv2d_9.w_0 */,
C2E6809D2152809F0013F575 /* batch_norm_26.w_0 */,
C2E6809E2152809F0013F575 /* batch_norm_8.w_2 */,
C2E6809F2152809F0013F575 /* batch_norm_7.b_0 */,
C2E680A02152809F0013F575 /* batch_norm_19.w_1 */,
C2E680A12152809F0013F575 /* batch_norm_25.w_1 */,
C2E680A22152809F0013F575 /* batch_norm_31.w_1 */,
C2E680A32152809F0013F575 /* batch_norm_28.w_1 */,
C2E680A42152809F0013F575 /* batch_norm_14.w_1 */,
C2E680A52152809F0013F575 /* batch_norm_5.w_2 */,
C2E680A62152809F0013F575 /* batch_norm_17.w_0 */,
C2E680A72152809F0013F575 /* conv2d_33.b_0 */,
C2E680A82152809F0013F575 /* conv2d_27.b_0 */,
C2E680A92152809F0013F575 /* conv2d_4.w_0 */,
C2E680AA2152809F0013F575 /* conv2d_5.w_0 */,
C2E680AB2152809F0013F575 /* conv2d_26.b_0 */,
C2E680AC2152809F0013F575 /* conv2d_32.b_0 */,
C2E680AD2152809F0013F575 /* batch_norm_16.w_0 */,
C2E680AE2152809F0013F575 /* batch_norm_4.w_2 */,
C2E680AF2152809F0013F575 /* batch_norm_15.w_1 */,
C2E680B02152809F0013F575 /* batch_norm_29.w_1 */,
C2E680B12152809F0013F575 /* batch_norm_17.w_1 */,
C2E680B22152809F0013F575 /* batch_norm_9.b_0 */,
C2E680B32152809F0013F575 /* batch_norm_6.w_2 */,
C2E680B42152809F0013F575 /* batch_norm_14.w_0 */,
C2E680B52152809F0013F575 /* batch_norm_28.w_0 */,
C2E680B62152809F0013F575 /* conv2d_24.b_0 */,
C2E680B72152809F0013F575 /* conv2d_7.w_0 */,
C2E680B82152809F0013F575 /* conv2d_30.b_0 */,
C2E680B92152809F0013F575 /* conv2d_31.b_0 */,
C2E680BA2152809F0013F575 /* batch_norm_29.w_0 */,
C2E680BB2152809F0013F575 /* conv2d_6.w_0 */,
C2E680BC2152809F0013F575 /* conv2d_25.b_0 */,
C2E680BD2152809F0013F575 /* batch_norm_15.w_0 */,
C2E680BE2152809F0013F575 /* batch_norm_7.w_2 */,
C2E680BF2152809F0013F575 /* batch_norm_8.b_0 */,
C2E680C02152809F0013F575 /* batch_norm_16.w_1 */,
C2E680C12152809F0013F575 /* batch_norm_12.w_1 */,
C2E680C22152809F0013F575 /* batch_norm_3.w_2 */,
C2E680C32152809F0013F575 /* conv2d_2.w_0 */,
C2E680C42152809F0013F575 /* batch_norm_11.w_0 */,
C2E680C52152809F0013F575 /* batch_norm_10.w_0 */,
C2E680C62152809F0013F575 /* conv2d_3.w_0 */,
C2E680C72152809F0013F575 /* batch_norm_2.w_2 */,
C2E680C82152809F0013F575 /* depthwise_conv2d_12.w_0 */,
C2E680C92152809F0013F575 /* batch_norm_13.w_1 */,
C2E680CA2152809F0013F575 /* batch_norm_11.w_1 */,
C2E680CB2152809F0013F575 /* depthwise_conv2d_10.w_0 */,
C2E680CC2152809F0013F575 /* batch_norm_0.w_2 */,
C2E680CD2152809F0013F575 /* conv2d_22.b_0 */,
C2E680CE2152809F0013F575 /* conv2d_1.w_0 */,
C2E680CF2152809F0013F575 /* batch_norm_12.w_0 */,
C2E680D02152809F0013F575 /* batch_norm_13.w_0 */,
C2E680D12152809F0013F575 /* conv2d_0.w_0 */,
C2E680D22152809F0013F575 /* conv2d_23.b_0 */,
C2E680D32152809F0013F575 /* batch_norm_1.w_2 */,
C2E680D42152809F0013F575 /* batch_norm_10.w_1 */,
C2E680D52152809F0013F575 /* depthwise_conv2d_11.w_0 */,
C2E680D62152809F0013F575 /* depthwise_conv2d_3.w_0 */,
C2E680D72152809F0013F575 /* batch_norm_13.b_0 */,
C2E680D82152809F0013F575 /* conv2d_23.w_0 */,
C2E680D92152809F0013F575 /* batch_norm_20.w_2 */,
C2E680DA2152809F0013F575 /* batch_norm_34.w_2 */,
C2E680DB2152809F0013F575 /* batch_norm_21.w_2 */,
C2E680DC2152809F0013F575 /* conv2d_22.w_0 */,
C2E680DD2152809F0013F575 /* batch_norm_12.b_0 */,
C2E680DE2152809F0013F575 /* depthwise_conv2d_2.w_0 */,
C2E680DF2152809F0013F575 /* depthwise_conv2d_0.w_0 */,
C2E680E02152809F0013F575 /* batch_norm_10.b_0 */,
C2E680E12152809F0013F575 /* conv2d_20.w_0 */,
C2E680E22152809F0013F575 /* batch_norm_23.w_2 */,
C2E680E32152809F0013F575 /* batch_norm_22.w_2 */,
C2E680E42152809F0013F575 /* conv2d_21.w_0 */,
C2E680E52152809F0013F575 /* batch_norm_11.b_0 */,
C2E680E62152809F0013F575 /* depthwise_conv2d_1.w_0 */,
C2E680E72152809F0013F575 /* depthwise_conv2d_5.w_0 */,
C2E680E82152809F0013F575 /* batch_norm_8.w_0 */,
C2E680E92152809F0013F575 /* conv2d_25.w_0 */,
C2E680EA2152809F0013F575 /* batch_norm_29.b_0 */,
C2E680EB215280A00013F575 /* conv2d_31.w_0 */,
C2E680EC215280A00013F575 /* conv2d_19.w_0 */,
C2E680ED215280A00013F575 /* batch_norm_15.b_0 */,
C2E680EE215280A00013F575 /* batch_norm_32.w_2 */,
C2E680EF215280A00013F575 /* batch_norm_26.w_2 */,
C2E680F0215280A00013F575 /* batch_norm_27.w_2 */,
C2E680F1215280A00013F575 /* batch_norm_33.w_2 */,
C2E680F2215280A00013F575 /* conv2d_18.w_0 */,
C2E680F3215280A00013F575 /* batch_norm_14.b_0 */,
C2E680F4215280A00013F575 /* conv2d_30.w_0 */,
C2E680F5215280A00013F575 /* conv2d_24.w_0 */,
C2E680F6215280A00013F575 /* batch_norm_28.b_0 */,
C2E680F7215280A00013F575 /* batch_norm_9.w_0 */,
C2E680F8215280A00013F575 /* depthwise_conv2d_4.w_0 */,
C2E680F9215280A00013F575 /* depthwise_conv2d_6.w_0 */,
C2E680FA215280A00013F575 /* conv2d_32.w_0 */,
C2E680FB215280A00013F575 /* conv2d_26.w_0 */,
C2E680FC215280A00013F575 /* batch_norm_16.b_0 */,
C2E680FD215280A00013F575 /* batch_norm_19.w_2 */,
C2E680FE215280A00013F575 /* batch_norm_25.w_2 */,
C2E680FF215280A00013F575 /* batch_norm_31.w_2 */,
C2E68100215280A00013F575 /* batch_norm_8.w_1 */,
C2E68101215280A00013F575 /* batch_norm_9.w_1 */,
C2E68102215280A00013F575 /* batch_norm_30.w_2 */,
C2E68103215280A00013F575 /* batch_norm_24.w_2 */,
C2E68104215280A00013F575 /* batch_norm_18.w_2 */,
C2E68105215280A00013F575 /* batch_norm_17.b_0 */,
C2E68106215280A00013F575 /* conv2d_27.w_0 */,
C2E68107215280A00013F575 /* conv2d_33.w_0 */,
C2E68108215280A00013F575 /* depthwise_conv2d_7.w_0 */,
); );
path = genet; path = mobilenetssd;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC8CFEF5213551D00094D569 /* mobilenet */ = { C2E68109215280A00013F575 /* fluid_fssd_new_ar */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC8CFEF6213551D00094D569 /* params */, C2E6810A215280A00013F575 /* ar_model */,
FC8CFEF7213551D00094D569 /* model */, C2E6810B215280A00013F575 /* ar_params */,
);
path = fluid_fssd_new_ar;
sourceTree = "<group>";
};
FC039B7520E11C550081E9F8 = {
isa = PBXGroup;
children = (
FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */,
FC039B8020E11C550081E9F8 /* paddle-mobile-demo */,
FC039B7F20E11C550081E9F8 /* Products */,
5722B50FEC38F55CA9B6A57B /* Pods */,
7B7DED984E9EE7BFB45E24E8 /* Frameworks */,
); );
path = mobilenet;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FC9A19E42148C38400CD9CBF /* fluid_fssd_new_ar */ = { FC039B7F20E11C550081E9F8 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FC9A19E52148C38400CD9CBF /* ar_model */, FC039B7E20E11C550081E9F8 /* paddle-mobile-demo.app */,
FC9A19E62148C38400CD9CBF /* ar_params */,
); );
path = fluid_fssd_new_ar; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
FCBCCC4F2122EEDC00D94F7E /* mobilenet_ssd_hand */ = { FC039B8020E11C550081E9F8 /* paddle-mobile-demo */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FCBCCC502122EEDC00D94F7E /* ssd_hand_params */, C2E6802E2152809F0013F575 /* models */,
FCBCCC512122EEDC00D94F7E /* ssd_hand_model */, C2E67C9D215248940013F575 /* images */,
FC803BCA214D27920094B8E5 /* VideoCapture */,
FC8CFED2213519540094D569 /* Net */,
FC039B8120E11C550081E9F8 /* AppDelegate.swift */,
FC039B8320E11C550081E9F8 /* ViewController.swift */,
FC039B8520E11C550081E9F8 /* Main.storyboard */,
FC039B8820E11C560081E9F8 /* Assets.xcassets */,
FC039B8A20E11C560081E9F8 /* LaunchScreen.storyboard */,
FC039B8D20E11C560081E9F8 /* Info.plist */,
FC27991121343A39000B6BAD /* paddle-mobile-demo-Bridging-Header.h */,
FCF437E7214B6DDB00943429 /* MultiPredictViewController.swift */,
C2E67E5C21524E460013F575 /* LoadPointerViewController.h */,
C2E67E5D21524E460013F575 /* LoadPointerViewController.m */,
); );
path = mobilenet_ssd_hand; path = "paddle-mobile-demo";
sourceTree = "<group>";
};
FC803BCA214D27920094B8E5 /* VideoCapture */ = {
isa = PBXGroup;
children = (
FC803BCB214D27920094B8E5 /* FPSCounter.swift */,
FC803BCC214D27920094B8E5 /* VideoCapture.swift */,
);
path = VideoCapture;
sourceTree = "<group>";
};
FC8CFED2213519540094D569 /* Net */ = {
isa = PBXGroup;
children = (
FC013927210204A3008100E3 /* PreProcessKernel.metal */,
FCBCCC542122EF5400D94F7E /* MetalHelper.swift */,
);
path = Net;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
/* End PBXGroup section */ /* End PBXGroup section */
...@@ -293,22 +938,228 @@ ...@@ -293,22 +938,228 @@
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FC8CFEF8213551D10094D569 /* params in Resources */,
FC039B8C20E11C560081E9F8 /* LaunchScreen.storyboard in Resources */, FC039B8C20E11C560081E9F8 /* LaunchScreen.storyboard in Resources */,
FC8CFEF9213551D10094D569 /* model in Resources */, C2E6813E215280A00013F575 /* batch_norm_2.w_1 in Resources */,
FC918191211DBC3500B6F354 /* paddle-mobile.png in Resources */, C2E6817E215280A00013F575 /* conv2d_33.b_0 in Resources */,
FC8CFEE72135452C0094D569 /* genet_model in Resources */, C2E6811E215280A00013F575 /* batch_norm_4.w_1 in Resources */,
C2E681A5215280A00013F575 /* conv2d_1.w_0 in Resources */,
C2E6812D215280A00013F575 /* batch_norm_16.w_2 in Resources */,
C2E68148215280A00013F575 /* batch_norm_1.w_1 in Resources */,
C2E681B2215280A00013F575 /* batch_norm_21.w_2 in Resources */,
C2E67D82215248950013F575 /* banana.jpeg in Resources */,
C2E68175215280A00013F575 /* batch_norm_8.w_2 in Resources */,
C2E68174215280A00013F575 /* batch_norm_26.w_0 in Resources */,
C2E681A8215280A00013F575 /* conv2d_0.w_0 in Resources */,
C2E6818A215280A00013F575 /* batch_norm_6.w_2 in Resources */,
C2E68116215280A00013F575 /* params in Resources */,
C2E681AF215280A00013F575 /* conv2d_23.w_0 in Resources */,
C2E681B1215280A00013F575 /* batch_norm_34.w_2 in Resources */,
C2E68133215280A00013F575 /* batch_norm_18.b_0 in Resources */,
C2E68163215280A00013F575 /* batch_norm_25.w_0 in Resources */,
C2E6810F215280A00013F575 /* genet_model in Resources */,
C2E681C8215280A00013F575 /* batch_norm_33.w_2 in Resources */,
C2E68193215280A00013F575 /* conv2d_25.b_0 in Resources */,
C2E68182215280A00013F575 /* conv2d_26.b_0 in Resources */,
C2E681D8215280A00013F575 /* batch_norm_9.w_1 in Resources */,
C2E6812A215280A00013F575 /* batch_norm_25.b_0 in Resources */,
C2E6814F215280A00013F575 /* batch_norm_3.b_0 in Resources */,
C2E681A0215280A00013F575 /* batch_norm_13.w_1 in Resources */,
C2E68190215280A00013F575 /* conv2d_31.b_0 in Resources */,
C2E68124215280A00013F575 /* batch_norm_27.b_0 in Resources */,
C2E68110215280A00013F575 /* ssd_hand_params in Resources */,
C2E68122215280A00013F575 /* conv2d_17.w_0 in Resources */,
C2E6815A215280A00013F575 /* batch_norm_1.b_0 in Resources */,
C2E681A1215280A00013F575 /* batch_norm_11.w_1 in Resources */,
C2E681D0215280A00013F575 /* depthwise_conv2d_6.w_0 in Resources */,
C2E68156215280A00013F575 /* batch_norm_0.b_0 in Resources */,
C2E6816A215280A00013F575 /* batch_norm_30.w_1 in Resources */,
C2E681C7215280A00013F575 /* batch_norm_27.w_2 in Resources */,
C2E68154215280A00013F575 /* batch_norm_34.w_1 in Resources */,
C2E68138215280A00013F575 /* batch_norm_5.w_0 in Resources */,
C2E6811F215280A00013F575 /* batch_norm_5.w_1 in Resources */,
C2E6817B215280A00013F575 /* batch_norm_14.w_1 in Resources */,
C2E681D4215280A00013F575 /* batch_norm_19.w_2 in Resources */,
C2E68169215280A00013F575 /* batch_norm_26.w_1 in Resources */,
C2E681B8215280A00013F575 /* conv2d_20.w_0 in Resources */,
C2E68158215280A00013F575 /* batch_norm_20.w_0 in Resources */,
C2E681BB215280A00013F575 /* conv2d_21.w_0 in Resources */,
C2E681AB215280A00013F575 /* batch_norm_10.w_1 in Resources */,
C2E68189215280A00013F575 /* batch_norm_9.b_0 in Resources */,
C2E68131215280A00013F575 /* batch_norm_17.w_2 in Resources */,
C2E6815C215280A00013F575 /* batch_norm_27.w_1 in Resources */,
C2E681DD215280A00013F575 /* conv2d_27.w_0 in Resources */,
C2E68176215280A00013F575 /* batch_norm_7.b_0 in Resources */,
C2E68118215280A00013F575 /* batch_norm_7.w_0 in Resources */,
C2E6810C215280A00013F575 /* params in Resources */,
C2E68132215280A00013F575 /* conv2d_14.w_0 in Resources */,
C2E68117215280A00013F575 /* model in Resources */,
C2E681CA215280A00013F575 /* batch_norm_14.b_0 in Resources */,
C2E68199215280A00013F575 /* batch_norm_3.w_2 in Resources */,
C2E68167215280A00013F575 /* batch_norm_4.b_0 in Resources */,
C2E68150215280A00013F575 /* batch_norm_22.w_0 in Resources */,
C2E6817F215280A00013F575 /* conv2d_27.b_0 in Resources */,
C2E6816F215280A00013F575 /* conv2d_8.w_0 in Resources */,
C2E68172215280A00013F575 /* batch_norm_32.w_0 in Resources */,
C2E68137215280A00013F575 /* depthwise_conv2d_8.w_0 in Resources */,
C2E6813B215280A00013F575 /* batch_norm_34.b_0 in Resources */,
C2E6819C215280A00013F575 /* batch_norm_10.w_0 in Resources */,
C2E681B4215280A00013F575 /* batch_norm_12.b_0 in Resources */,
C2E6812C215280A00013F575 /* batch_norm_19.b_0 in Resources */,
C2E68165215280A00013F575 /* batch_norm_31.w_0 in Resources */,
C2E6815F215280A00013F575 /* batch_norm_18.w_0 in Resources */,
C2E681AC215280A00013F575 /* depthwise_conv2d_11.w_0 in Resources */,
FC039B8920E11C560081E9F8 /* Assets.xcassets in Resources */, FC039B8920E11C560081E9F8 /* Assets.xcassets in Resources */,
FCBCCC522122EEDC00D94F7E /* ssd_hand_params in Resources */, C2E6811A215280A00013F575 /* batch_norm_32.b_0 in Resources */,
FCEEE7D4210627A000444BEC /* banana.jpeg in Resources */, C2E681B5215280A00013F575 /* depthwise_conv2d_2.w_0 in Resources */,
FC918193211DC70500B6F354 /* iphone.JPG in Resources */, C2E68195215280A00013F575 /* batch_norm_7.w_2 in Resources */,
FCDFD41B211D91C7005AB38B /* synset.txt in Resources */, C2E6815B215280A00013F575 /* batch_norm_23.w_1 in Resources */,
C2E67D85215248950013F575 /* paddle-mobile.png in Resources */,
C2E6816B215280A00013F575 /* batch_norm_24.w_1 in Resources */,
C2E6811B215280A00013F575 /* conv2d_16.w_0 in Resources */,
C2E68145215280A00013F575 /* conv2d_13.w_0 in Resources */,
C2E68186215280A00013F575 /* batch_norm_15.w_1 in Resources */,
C2E6819B215280A00013F575 /* batch_norm_11.w_0 in Resources */,
C2E681BC215280A00013F575 /* batch_norm_11.b_0 in Resources */,
C2E68157215280A00013F575 /* batch_norm_21.w_0 in Resources */,
C2E68140215280A00013F575 /* batch_norm_12.w_2 in Resources */,
C2E68115215280A00013F575 /* yolo in Resources */,
C2E67D84215248950013F575 /* iphone.JPG in Resources */,
C2E68142215280A00013F575 /* conv2d_11.w_0 in Resources */,
C2E681DC215280A00013F575 /* batch_norm_17.b_0 in Resources */,
C2E6814B215280A00013F575 /* batch_norm_22.b_0 in Resources */,
C2E6817D215280A00013F575 /* batch_norm_17.w_0 in Resources */,
C2E681BD215280A00013F575 /* depthwise_conv2d_1.w_0 in Resources */,
C2E68181215280A00013F575 /* conv2d_5.w_0 in Resources */,
C2E681BF215280A00013F575 /* batch_norm_8.w_0 in Resources */,
C2E68183215280A00013F575 /* conv2d_32.b_0 in Resources */,
C2E681C3215280A00013F575 /* conv2d_19.w_0 in Resources */,
C2E68144215280A00013F575 /* batch_norm_2.w_0 in Resources */,
C2E681C5215280A00013F575 /* batch_norm_32.w_2 in Resources */,
C2E68153215280A00013F575 /* batch_norm_20.w_1 in Resources */,
C2E68112215280A00013F575 /* mobilenet in Resources */,
C2E68187215280A00013F575 /* batch_norm_29.w_1 in Resources */,
C2E681B0215280A00013F575 /* batch_norm_20.w_2 in Resources */,
C2E681C9215280A00013F575 /* conv2d_18.w_0 in Resources */,
C2E68128215280A00013F575 /* batch_norm_31.b_0 in Resources */,
C2E681C4215280A00013F575 /* batch_norm_15.b_0 in Resources */,
C2E68164215280A00013F575 /* conv2d_29.b_0 in Resources */,
C2E681BA215280A00013F575 /* batch_norm_22.w_2 in Resources */,
C2E68151215280A00013F575 /* batch_norm_23.w_0 in Resources */,
C2E6816D215280A00013F575 /* batch_norm_6.b_0 in Resources */,
C2E68171215280A00013F575 /* batch_norm_33.w_0 in Resources */,
C2E68136215280A00013F575 /* batch_norm_30.b_0 in Resources */,
C2E68123215280A00013F575 /* batch_norm_33.b_0 in Resources */,
C2E68147215280A00013F575 /* batch_norm_10.w_2 in Resources */,
C2E6817A215280A00013F575 /* batch_norm_28.w_1 in Resources */,
C2E6816E215280A00013F575 /* batch_norm_9.w_2 in Resources */,
C2E681B6215280A00013F575 /* depthwise_conv2d_0.w_0 in Resources */,
C2E68184215280A00013F575 /* batch_norm_16.w_0 in Resources */,
C2E68129215280A00013F575 /* conv2d_29.w_0 in Resources */,
C2E68120215280A00013F575 /* batch_norm_28.w_2 in Resources */,
C2E681C2215280A00013F575 /* conv2d_31.w_0 in Resources */,
C2E68166215280A00013F575 /* batch_norm_19.w_0 in Resources */,
C2E681B7215280A00013F575 /* batch_norm_10.b_0 in Resources */,
C2E6818F215280A00013F575 /* conv2d_30.b_0 in Resources */,
C2E681B9215280A00013F575 /* batch_norm_23.w_2 in Resources */,
C2E68111215280A00013F575 /* ssd_hand_model in Resources */,
C2E681CE215280A00013F575 /* batch_norm_9.w_0 in Resources */,
C2E681AD215280A00013F575 /* depthwise_conv2d_3.w_0 in Resources */,
C2E6818E215280A00013F575 /* conv2d_7.w_0 in Resources */,
C2E6818D215280A00013F575 /* conv2d_24.b_0 in Resources */,
C2E68146215280A00013F575 /* batch_norm_23.b_0 in Resources */,
C2E68191215280A00013F575 /* batch_norm_29.w_0 in Resources */,
C2E6819D215280A00013F575 /* conv2d_3.w_0 in Resources */,
C2E68119215280A00013F575 /* batch_norm_26.b_0 in Resources */,
C2E681D7215280A00013F575 /* batch_norm_8.w_1 in Resources */,
C2E68192215280A00013F575 /* conv2d_6.w_0 in Resources */,
C2E681D6215280A00013F575 /* batch_norm_31.w_2 in Resources */,
C2E6813C215280A00013F575 /* batch_norm_20.b_0 in Resources */,
C2E6818B215280A00013F575 /* batch_norm_14.w_0 in Resources */,
C2E68114215280A00013F575 /* model in Resources */,
C2E68178215280A00013F575 /* batch_norm_25.w_1 in Resources */,
C2E68180215280A00013F575 /* conv2d_4.w_0 in Resources */,
C2E681CF215280A00013F575 /* depthwise_conv2d_4.w_0 in Resources */,
C2E6812E215280A00013F575 /* __model__ in Resources */,
C2E68113215280A00013F575 /* params in Resources */,
C2E6811C215280A00013F575 /* batch_norm_15.w_2 in Resources */,
C2E68197215280A00013F575 /* batch_norm_16.w_1 in Resources */,
C2E6812F215280A00013F575 /* batch_norm_7.w_1 in Resources */,
C2E68160215280A00013F575 /* batch_norm_30.w_0 in Resources */,
C2E68127215280A00013F575 /* depthwise_conv2d_9.w_0 in Resources */,
C2E68196215280A00013F575 /* batch_norm_8.b_0 in Resources */,
C2E681A7215280A00013F575 /* batch_norm_13.w_0 in Resources */,
C2E6810D215280A00013F575 /* model in Resources */,
C2E681E1215280A00013F575 /* ar_params in Resources */,
C2E681AE215280A00013F575 /* batch_norm_13.b_0 in Resources */,
C2E68161215280A00013F575 /* batch_norm_24.w_0 in Resources */,
C2E681D3215280A00013F575 /* batch_norm_16.b_0 in Resources */,
C2E681A3215280A00013F575 /* batch_norm_0.w_2 in Resources */,
C2E6814A215280A00013F575 /* batch_norm_11.w_2 in Resources */,
C2E68185215280A00013F575 /* batch_norm_4.w_2 in Resources */,
C2E681B3215280A00013F575 /* conv2d_22.w_0 in Resources */,
C2E6818C215280A00013F575 /* batch_norm_28.w_0 in Resources */,
C2E68194215280A00013F575 /* batch_norm_15.w_0 in Resources */,
C2E681CD215280A00013F575 /* batch_norm_28.b_0 in Resources */,
C2E68135215280A00013F575 /* batch_norm_24.b_0 in Resources */,
C2E67D81215248950013F575 /* synset.txt in Resources */,
C2E68155215280A00013F575 /* batch_norm_22.w_1 in Resources */,
C2E68143215280A00013F575 /* batch_norm_0.w_0 in Resources */,
C2E68173215280A00013F575 /* conv2d_9.w_0 in Resources */,
C2E68168215280A00013F575 /* batch_norm_32.w_1 in Resources */,
C2E6816C215280A00013F575 /* batch_norm_18.w_1 in Resources */,
C2E681DA215280A00013F575 /* batch_norm_24.w_2 in Resources */,
C2E681C0215280A00013F575 /* conv2d_25.w_0 in Resources */,
C2E68162215280A00013F575 /* conv2d_28.b_0 in Resources */,
C2E6819E215280A00013F575 /* batch_norm_2.w_2 in Resources */,
C2E681A2215280A00013F575 /* depthwise_conv2d_10.w_0 in Resources */,
C2E68188215280A00013F575 /* batch_norm_17.w_1 in Resources */,
C2E68152215280A00013F575 /* batch_norm_2.b_0 in Resources */,
C2E681BE215280A00013F575 /* depthwise_conv2d_5.w_0 in Resources */,
C2E6817C215280A00013F575 /* batch_norm_5.w_2 in Resources */,
C2E681E0215280A00013F575 /* ar_model in Resources */,
C2E6811D215280A00013F575 /* batch_norm_29.w_2 in Resources */,
C2E6813A215280A00013F575 /* conv2d_10.w_0 in Resources */,
C2E68159215280A00013F575 /* batch_norm_34.w_0 in Resources */,
C2E68130215280A00013F575 /* batch_norm_6.w_1 in Resources */,
C2E68177215280A00013F575 /* batch_norm_19.w_1 in Resources */,
C2E681CC215280A00013F575 /* conv2d_24.w_0 in Resources */,
C2E68179215280A00013F575 /* batch_norm_31.w_1 in Resources */,
C2E681C6215280A00013F575 /* batch_norm_26.w_2 in Resources */,
C2E681D9215280A00013F575 /* batch_norm_30.w_2 in Resources */,
C2E6815E215280A00013F575 /* batch_norm_5.b_0 in Resources */,
C2E6814E215280A00013F575 /* batch_norm_21.w_1 in Resources */,
C2E6819A215280A00013F575 /* conv2d_2.w_0 in Resources */,
C2E68149215280A00013F575 /* batch_norm_0.w_1 in Resources */,
C2E681DB215280A00013F575 /* batch_norm_18.w_2 in Resources */,
C2E68134215280A00013F575 /* conv2d_28.w_0 in Resources */,
C2E6814C215280A00013F575 /* conv2d_12.w_0 in Resources */,
C2E68141215280A00013F575 /* batch_norm_21.b_0 in Resources */,
C2E681A4215280A00013F575 /* conv2d_22.b_0 in Resources */,
C2E68121215280A00013F575 /* batch_norm_14.w_2 in Resources */,
C2E68139215280A00013F575 /* batch_norm_1.w_0 in Resources */,
C2E681C1215280A00013F575 /* batch_norm_29.b_0 in Resources */,
C2E6815D215280A00013F575 /* batch_norm_33.w_1 in Resources */,
C2E681D1215280A00013F575 /* conv2d_32.w_0 in Resources */,
C2E6813F215280A00013F575 /* batch_norm_3.w_1 in Resources */,
C2E6819F215280A00013F575 /* depthwise_conv2d_12.w_0 in Resources */,
C2E681D5215280A00013F575 /* batch_norm_25.w_2 in Resources */,
C2E6812B215280A00013F575 /* conv2d_15.w_0 in Resources */,
C2E68126215280A00013F575 /* batch_norm_4.w_0 in Resources */,
C2E681A9215280A00013F575 /* conv2d_23.b_0 in Resources */,
C2E6813D215280A00013F575 /* batch_norm_13.w_2 in Resources */,
C2E681AA215280A00013F575 /* batch_norm_1.w_2 in Resources */,
C2E681A6215280A00013F575 /* batch_norm_12.w_0 in Resources */,
C2E6814D215280A00013F575 /* batch_norm_3.w_0 in Resources */,
C2E68170215280A00013F575 /* batch_norm_27.w_0 in Resources */,
C2E68198215280A00013F575 /* batch_norm_12.w_1 in Resources */,
C2E68125215280A00013F575 /* batch_norm_6.w_0 in Resources */,
C2E67D83215248950013F575 /* hand.jpg in Resources */,
C2E6810E215280A00013F575 /* genet_params in Resources */,
C2E681DE215280A00013F575 /* conv2d_33.w_0 in Resources */,
C2E681DF215280A00013F575 /* depthwise_conv2d_7.w_0 in Resources */,
FC039B8720E11C550081E9F8 /* Main.storyboard in Resources */, FC039B8720E11C550081E9F8 /* Main.storyboard in Resources */,
FCA3A16121313E1F00084FE5 /* hand.jpg in Resources */, C2E681CB215280A00013F575 /* conv2d_30.w_0 in Resources */,
FC8CFEE62135452C0094D569 /* genet_params in Resources */, C2E681D2215280A00013F575 /* conv2d_26.w_0 in Resources */,
FCBCCC532122EEDC00D94F7E /* ssd_hand_model in Resources */,
FC9A19E72148C38400CD9CBF /* ar_model in Resources */,
FC9A19E82148C38400CD9CBF /* ar_params in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -364,6 +1215,7 @@ ...@@ -364,6 +1215,7 @@
FCF437E8214B6DDB00943429 /* MultiPredictViewController.swift in Sources */, FCF437E8214B6DDB00943429 /* MultiPredictViewController.swift in Sources */,
FCBCCC552122EF5500D94F7E /* MetalHelper.swift in Sources */, FCBCCC552122EF5500D94F7E /* MetalHelper.swift in Sources */,
FC803BCD214D27930094B8E5 /* FPSCounter.swift in Sources */, FC803BCD214D27930094B8E5 /* FPSCounter.swift in Sources */,
C2E67E5E21524E460013F575 /* LoadPointerViewController.m in Sources */,
FC039B8220E11C550081E9F8 /* AppDelegate.swift in Sources */, FC039B8220E11C550081E9F8 /* AppDelegate.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
...@@ -512,7 +1364,7 @@ ...@@ -512,7 +1364,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = A798K58VVL; DEVELOPMENT_TEAM = 6K8JTBT3MF;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = "paddle-mobile-demo/Info.plist"; INFOPLIST_FILE = "paddle-mobile-demo/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 10.0;
...@@ -539,7 +1391,7 @@ ...@@ -539,7 +1391,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = A798K58VVL; DEVELOPMENT_TEAM = 6K8JTBT3MF;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = "paddle-mobile-demo/Info.plist"; INFOPLIST_FILE = "paddle-mobile-demo/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 10.0;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>paddle-mobile-demo.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>6</integer>
</dict>
</dict>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="4MS-jc-i6A">
<device id="retina4_7" orientation="portrait"> <device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/> <adaptation id="fullscreen"/>
</device> </device>
...@@ -50,10 +50,9 @@ ...@@ -50,10 +50,9 @@
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZZh-fw-LwK"> <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZZh-fw-LwK">
<rect key="frame" x="0.0" y="20" width="225" height="247"/> <rect key="frame" x="0.0" y="20" width="225" height="247"/>
</imageView> </imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Platform:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2EB-m2-a3L"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="749" text="Platform:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2EB-m2-a3L">
<rect key="frame" x="10" y="538" width="68" height="24"/> <rect key="frame" x="10" y="538" width="35" height="24"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="68" id="Q5J-tq-JSX"/>
<constraint firstAttribute="height" constant="24" id="SYv-As-Si8"/> <constraint firstAttribute="height" constant="24" id="SYv-As-Si8"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="20"/> <fontDescription key="fontDescription" type="system" pointSize="20"/>
...@@ -61,12 +60,12 @@ ...@@ -61,12 +60,12 @@
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DlO-dk-RMr"> <pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DlO-dk-RMr">
<rect key="frame" x="88" y="510.5" width="287" height="80"/> <rect key="frame" x="55" y="510.5" width="320" height="80"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="80" id="Sbi-05-Mwd"/> <constraint firstAttribute="height" constant="80" id="Sbi-05-Mwd"/>
</constraints> </constraints>
</pickerView> </pickerView>
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6MG-gv-hD5"> <pickerView contentMode="scaleToFill" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="6MG-gv-hD5">
<rect key="frame" x="85" y="401" width="290" height="80"/> <rect key="frame" x="85" y="401" width="290" height="80"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="80" id="yAL-JY-G6b"/> <constraint firstAttribute="height" constant="80" id="yAL-JY-G6b"/>
...@@ -75,7 +74,6 @@ ...@@ -75,7 +74,6 @@
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Models" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="avL-VK-Kha"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Models" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="avL-VK-Kha">
<rect key="frame" x="10" y="429" width="65" height="24"/> <rect key="frame" x="10" y="429" width="65" height="24"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="65" id="6oA-g2-Xq4"/>
<constraint firstAttribute="height" constant="24" id="EwE-B3-z2R"/> <constraint firstAttribute="height" constant="24" id="EwE-B3-z2R"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="20"/> <fontDescription key="fontDescription" type="system" pointSize="20"/>
...@@ -236,7 +234,76 @@ ...@@ -236,7 +234,76 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-1127" y="-3"/> <point key="canvasLocation" x="-1449" y="-3"/>
</scene>
<!--Load Pointer View Controller-->
<scene sceneID="56v-9i-I4d">
<objects>
<viewController id="4MS-jc-i6A" customClass="LoadPointerViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="VbZ-nk-rJR">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2p5-S3-M4T">
<rect key="frame" x="16" y="63" width="240" height="128"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="37q-nm-0H7">
<rect key="frame" x="38" y="610" width="42" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="ofW-G3-KST"/>
<constraint firstAttribute="width" constant="42" id="pwd-tO-zcJ"/>
</constraints>
<state key="normal" title="Image"/>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fAg-ai-yaA">
<rect key="frame" x="119" y="610" width="34" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="IES-jf-Z1n"/>
<constraint firstAttribute="width" constant="34" id="jxK-Xn-WCE"/>
</constraints>
<state key="normal" title="Load"/>
<connections>
<action selector="loaderButtonPressed:" destination="4MS-jc-i6A" eventType="touchUpInside" id="3cy-PD-aiE"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pdS-6e-Pd1">
<rect key="frame" x="185" y="610" width="49" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="49" id="ddY-uM-fzA"/>
<constraint firstAttribute="height" constant="30" id="yKd-YL-UML"/>
</constraints>
<state key="normal" title="Predict"/>
<connections>
<action selector="predictButtonPressed:" destination="4MS-jc-i6A" eventType="touchUpInside" id="sOH-iT-s1w"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DZa-sd-lY7">
<rect key="frame" x="279" y="610" width="34" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="34" id="aSO-4q-PgA"/>
<constraint firstAttribute="height" constant="30" id="eAt-Uc-BxX"/>
</constraints>
<state key="normal" title="clear"/>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="vsb-FH-h7h" firstAttribute="bottom" secondItem="37q-nm-0H7" secondAttribute="bottom" constant="27" id="4Wf-Uh-gvr"/>
<constraint firstItem="DZa-sd-lY7" firstAttribute="leading" secondItem="pdS-6e-Pd1" secondAttribute="trailing" constant="45" id="8dB-uI-cs9"/>
<constraint firstItem="fAg-ai-yaA" firstAttribute="leading" secondItem="37q-nm-0H7" secondAttribute="trailing" constant="39" id="EAV-Oq-jeD"/>
<constraint firstItem="vsb-FH-h7h" firstAttribute="bottom" secondItem="fAg-ai-yaA" secondAttribute="bottom" constant="27" id="Px0-A9-Eql"/>
<constraint firstItem="pdS-6e-Pd1" firstAttribute="leading" secondItem="fAg-ai-yaA" secondAttribute="trailing" constant="32" id="ZUR-Nv-aNb"/>
<constraint firstItem="vsb-FH-h7h" firstAttribute="bottom" secondItem="pdS-6e-Pd1" secondAttribute="bottom" constant="27" id="kPx-mt-ab9"/>
<constraint firstItem="37q-nm-0H7" firstAttribute="leading" secondItem="vsb-FH-h7h" secondAttribute="leading" constant="38" id="trH-Fq-sSv"/>
<constraint firstItem="vsb-FH-h7h" firstAttribute="bottom" secondItem="DZa-sd-lY7" secondAttribute="bottom" constant="27" id="yNJ-hq-2Qg"/>
</constraints>
<viewLayoutGuide key="safeArea" id="vsb-FH-h7h"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="hGb-Pb-icS" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-514" y="-3"/>
</scene> </scene>
</scenes> </scenes>
<resources> <resources>
......
//
// LoadPointerViewController.h
// paddle-mobile-demo
//
// Created by Xiao,Haichun on 2018/9/19.
// Copyright © 2018年 orange. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface LoadPointerViewController : UIViewController
@end
//
// LoadPointerViewController.m
// paddle-mobile-demo
//
// Created by Xiao,Haichun on 2018/9/19.
// Copyright © 2018年 orange. All rights reserved.
//
#import "LoadPointerViewController.h"
#import <Metal/Metal.h>
#import "paddle-mobile-demo-Bridging-Header.h"
@interface LoadPointerViewController ()
@property (strong, nonatomic) id<MTLDevice> device;
@property (strong, nonatomic) id<MTLTexture> texture;
@property (strong, nonatomic) id<MTLCommandQueue> queue;
@property (strong, nonatomic) PaddleMobileGPU *runner;
@property (strong, nonatomic) ModelConfig *modelConfig;
@end
@implementation LoadPointerViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.device = MTLCreateSystemDefaultDevice();
self.queue = [self.device newCommandQueue];
// Do any additional setup after loading the view.
NSString *modelPath = [[NSBundle mainBundle] URLForResource:@"genet_model" withExtension:nil].path;
NSString *paramPath = [[NSBundle mainBundle] URLForResource:@"genet_params" withExtension:nil].path;
long fileSize;
FILE *fp;
fp = fopen([modelPath UTF8String], "rb");
fseek(fp, 0, SEEK_END);
fileSize = ftell(fp);
rewind(fp);
void *buffer = malloc(fileSize);
fread(buffer, 1, fileSize, fp);
fclose(fp);
long paramfileSize;
FILE *parmaFilePointer;
parmaFilePointer = fopen([paramPath UTF8String], "rb");
fseek(parmaFilePointer, 0, SEEK_END);
paramfileSize = ftell(parmaFilePointer);
rewind(parmaFilePointer);
void *parmaBuffer = malloc(paramfileSize);
fread(parmaBuffer, 1, paramfileSize, parmaFilePointer);
fclose(parmaFilePointer);
_modelConfig = [[ModelConfig alloc] init];
_modelConfig.means = @[[NSNumber numberWithFloat:128.0], [NSNumber numberWithFloat:128.0], [NSNumber numberWithFloat:128.0]];
_modelConfig.scale = 0.017;
_modelConfig.dims = @[[NSNumber numberWithFloat:1], [NSNumber numberWithFloat:128.], [NSNumber numberWithFloat:128.0],[NSNumber numberWithFloat:3.0]];
_modelConfig.modelPointer = buffer;
_modelConfig.modelSize = (int)fileSize;
_modelConfig.paramPointer = parmaBuffer;
_modelConfig.paramSize = (int)paramfileSize;
}
- (IBAction)loaderButtonPressed:(id)sender {
_runner = [[PaddleMobileGPU alloc] initWithCommandQueue:self.queue net:GenetType modelConfig:_modelConfig];
[_runner load];
}
- (IBAction)predictButtonPressed:(id)sender {
[self predict];
}
- (id<MTLTexture>) createTextureFromImage:(UIImage*) image device:(id<MTLDevice>) device
{
image =[UIImage imageWithCGImage:[image CGImage]
scale:[image scale]
orientation: UIImageOrientationLeft];
NSLog(@"orientation and size and stuff %ld %f %f", (long)image.imageOrientation, image.size.width, image.size.height);
CGImageRef imageRef = image.CGImage;
size_t width = self.view.frame.size.width;
size_t height = self.view.frame.size.height;
size_t bitsPerComponent = CGImageGetBitsPerComponent(imageRef);
size_t bitsPerPixel = CGImageGetBitsPerPixel(imageRef);
CGColorSpaceRef colorSpace = CGImageGetColorSpace(imageRef);
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);
// NSLog(@"%@ %u", colorSpace, alphaInfo);
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault | alphaInfo;
// NSLog(@"bitmap info %u", bitmapInfo);
CGContextRef context = CGBitmapContextCreate( NULL, width, height, bitsPerComponent, (bitsPerPixel / 8) * width, colorSpace, bitmapInfo);
if( !context )
{
NSLog(@"Failed to load image, probably an unsupported texture type");
return nil;
}
CGContextDrawImage( context, CGRectMake( 0, 0, width, height ), image.CGImage);
MTLPixelFormat format = MTLPixelFormatRGBA8Unorm;
MTLTextureDescriptor *texDesc = [MTLTextureDescriptor texture2DDescriptorWithPixelFormat:format
width:width
height:height
mipmapped:NO];
id<MTLTexture> texture = [device newTextureWithDescriptor:texDesc];
[texture replaceRegion:MTLRegionMake2D(0, 0, width, height)
mipmapLevel:0
withBytes:CGBitmapContextGetData(context)
bytesPerRow:4 * width];
return texture;
}
- (void)predict {
_texture = [self createTextureFromImage:[UIImage imageNamed:@"hand.jpg"] device:self.device];
[_runner predict:_texture withCompletion:^(BOOL success , NSArray<NSNumber *> *result) {
if (success) {
for (int i = 0; i < result.count; i ++) {
NSNumber *number = result[i];
NSLog(@"result %d = %f:",i, [number floatValue]);
}
}
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
...@@ -2,6 +2,4 @@ ...@@ -2,6 +2,4 @@
// Use this file to import your target's public headers that you would like to expose to Swift. // Use this file to import your target's public headers that you would like to expose to Swift.
// //
#import <paddle_mobile/paddle_mobile.h>
//#import <paddle_mobile/>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>paddle-mobile-unit-test.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
</dict>
</dict>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "FC039B6920E11C3C0081E9F8"
BuildableName = "paddle_mobile.framework"
BlueprintName = "paddle-mobile"
ReferencedContainer = "container:paddle-mobile.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "FC039B6920E11C3C0081E9F8"
BuildableName = "paddle_mobile.framework"
BlueprintName = "paddle-mobile"
ReferencedContainer = "container:paddle-mobile.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "FC039B6920E11C3C0081E9F8"
BuildableName = "paddle_mobile.framework"
BlueprintName = "paddle-mobile"
ReferencedContainer = "container:paddle-mobile.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>paddle-mobile.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>4</integer>
</dict>
</dict>
</dict>
</plist>
...@@ -27,6 +27,18 @@ public class Genet: Net { ...@@ -27,6 +27,18 @@ public class Genet: Net {
dim = (n: 1, h: 128, w: 128, c: 3) dim = (n: 1, h: 128, w: 128, c: 3)
} }
@objc override public init(device: MTLDevice,paramPointer: UnsafeMutableRawPointer, paramSize:Int, modePointer: UnsafeMutableRawPointer, modelSize: Int) {
super.init(device:device,paramPointer:paramPointer,paramSize:paramSize,modePointer:modePointer,modelSize:modelSize)
means = [128.0, 128.0, 128.0]
scale = 0.017
except = 0
modelPath = ""
paramPath = ""
modelDir = ""
preprocessKernel = GenetPreProccess.init(device: device)
dim = (n: 1, h: 128, w: 128, c: 3)
}
class GenetPreProccess: CusomKernel { class GenetPreProccess: CusomKernel {
init(device: MTLDevice) { init(device: MTLDevice) {
let s = CusomKernel.Shape.init(inWidth: 128, inHeight: 128, inChannel: 3) let s = CusomKernel.Shape.init(inWidth: 128, inHeight: 128, inChannel: 3)
......
...@@ -27,6 +27,18 @@ public class MobileNet_ssd_hand: Net{ ...@@ -27,6 +27,18 @@ public class MobileNet_ssd_hand: Net{
dim = (n: 1, h: 300, w: 300, c: 3) dim = (n: 1, h: 300, w: 300, c: 3)
} }
@objc override public init(device: MTLDevice,paramPointer: UnsafeMutableRawPointer, paramSize:Int, modePointer: UnsafeMutableRawPointer, modelSize: Int) {
super.init(device:device,paramPointer:paramPointer,paramSize:paramSize,modePointer:modePointer,modelSize:modelSize)
means = [123.68, 116.78, 103.94]
scale = 0.017
except = 2
modelPath = ""
paramPath = ""
modelDir = ""
preprocessKernel = MobilenetssdPreProccess.init(device: device)
dim = (n: 1, h: 300, w: 300, c: 3)
}
class MobilenetssdPreProccess: CusomKernel { class MobilenetssdPreProccess: CusomKernel {
init(device: MTLDevice) { init(device: MTLDevice) {
let s = CusomKernel.Shape.init(inWidth: 300, inHeight: 300, inChannel: 3) let s = CusomKernel.Shape.init(inWidth: 300, inHeight: 300, inChannel: 3)
......
...@@ -16,15 +16,15 @@ ...@@ -16,15 +16,15 @@
import Foundation import Foundation
public class ResultHolder: NSObject { public class ResultHolder: NSObject {
public let result: UnsafeMutablePointer<Float32>? @objc public let result: UnsafeMutablePointer<Float32>?
public let capacity: Int @objc public let capacity: Int
init(inResult: UnsafeMutablePointer<Float32>?, inCapacity: Int) { init(inResult: UnsafeMutablePointer<Float32>?, inCapacity: Int) {
result = inResult result = inResult
capacity = inCapacity capacity = inCapacity
} }
public func releasePointer() { @objc public func releasePointer() {
result?.deinitialize(count: capacity) result?.deinitialize(count: capacity)
result?.deallocate() result?.deallocate()
} }
...@@ -43,6 +43,14 @@ public class Net: NSObject { ...@@ -43,6 +43,14 @@ public class Net: NSObject {
var modelPath: String = "" var modelPath: String = ""
var paramPath: String = "" var paramPath: String = ""
var modelDir: String = "" var modelDir: String = ""
@objc public init(device: MTLDevice,paramPointer: UnsafeMutableRawPointer, paramSize:Int, modePointer: UnsafeMutableRawPointer, modelSize: Int) {
self.paramPointer = paramPointer
self.paramSize = paramSize
self.modelPointer = modePointer
self.modelSize = modelSize
super.init()
}
public func resultStr(res: ResultHolder) -> String { public func resultStr(res: ResultHolder) -> String {
fatalError() fatalError()
......
...@@ -24,6 +24,7 @@ class ScaleKernel: CusomKernel { ...@@ -24,6 +24,7 @@ class ScaleKernel: CusomKernel {
fatalError(" unsupport ") fatalError(" unsupport ")
} }
} }
} }
public class Runner: NSObject { public class Runner: NSObject {
...@@ -75,8 +76,10 @@ public class Runner: NSObject { ...@@ -75,8 +76,10 @@ public class Runner: NSObject {
} }
let loader = Loader<Float32>.init() let loader = Loader<Float32>.init()
do { do {
program = try loader.load(device: inDevice, modelPath: net.modelPath, paraPath: net.paramPath) program = try loader.load(device: inDevice, paramPointer: net.paramPointer!, paramSize: net.paramSize,modePointer:net.modelPointer!,modelSize:net.modelSize)
// program = try loader.load(device: inDevice, modelPath: net.modelPath, paraPath: net.paramPath)
net.updateProgram(program: program!) net.updateProgram(program: program!)
executor = try Executor<Float32>.init(inDevice: inDevice, inQueue: inQueue, inProgram: program!) executor = try Executor<Float32>.init(inDevice: inDevice, inQueue: inQueue, inProgram: program!)
} catch let error { } catch let error {
print(error) print(error)
......
...@@ -37,6 +37,7 @@ typedef enum : NSUInteger { ...@@ -37,6 +37,7 @@ typedef enum : NSUInteger {
*/ */
@property (strong, nonatomic) NSArray<NSNumber *> *dims; @property (strong, nonatomic) NSArray<NSNumber *> *dims;
/* /*
* 模型参数内存地址 * 模型参数内存地址
*/ */
...@@ -83,7 +84,7 @@ typedef enum : NSUInteger { ...@@ -83,7 +84,7 @@ typedef enum : NSUInteger {
/* /*
* 清理内存 * 清理内存
*/ */
-(void)clrear; -(void)clear;
@end @end
......
...@@ -7,22 +7,56 @@ ...@@ -7,22 +7,56 @@
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "PaddleMobileGPU.h" #import "PaddleMobileGPU.h"
#import "paddle_mobile/paddle_mobile-Swift.h" #import "paddle_mobile.h"
#import <paddle_mobile/paddle_mobile-Swift.h>
@implementation PaddleMobileGPU @implementation ModelConfig
@end
-(void)clrear { @interface PaddleMobileGPU ()
{
Runner *runner;
}
@end
// [[ResultHolder alloc] init]; @implementation PaddleMobileGPU
// [[TestClass alloc] init];
// [[TestClass alloc] initWithI:<#(NSInteger)#>]
// ResultHolder;
-(instancetype)initWithCommandQueue:(id<MTLCommandQueue>)queue net:(NetType)netType modelConfig:(ModelConfig *)config {
self = [super init];
if (self) {
Net *net = nil;
if (netType == GenetType) {
net = [[Genet alloc] initWithDevice:queue.device paramPointer:config.paramPointer paramSize:config.paramSize modePointer:config.modelPointer modelSize:config.modelSize];
} else if (netType == MobileNetSSDType) {
net = [[MobileNet_ssd_hand alloc] initWithDevice:queue.device paramPointer:config.paramPointer paramSize:config.paramSize modePointer:config.modelPointer modelSize:config.modelSize];
} else if (netType == MobileNetType) {
}
runner = [[Runner alloc] initInNet:net commandQueue:queue inPlatform:PlatformGPU];
}
return self;
} }
@end -(BOOL)load {
return [runner load];
}
-(void)predict:(id<MTLTexture>)texture withCompletion:(void (^)(BOOL, NSArray<NSNumber *> *))completion {
[runner predictWithTexture:texture completion:^(BOOL success, ResultHolder * _Nullable result) {
NSMutableArray<NSNumber *> *resultArray = [NSMutableArray arrayWithCapacity:result.capacity];
for (int i = 0; i < result.capacity; ++i) {
[resultArray addObject:[NSNumber numberWithFloat:result.result[i]]];
}
completion(success, resultArray);
[result releasePointer];
}];
// [runner predictWithTexture:texture completion:completion];
}
-(void)clear {
[runner clear];
}
@end
...@@ -23,4 +23,9 @@ public class Program { ...@@ -23,4 +23,9 @@ public class Program {
paramPath = inParamPath paramPath = inParamPath
scope = inScope scope = inScope
} }
init(inProgramDesc: ProgramDesc, inScope: Scope) {
programDesc = inProgramDesc
scope = inScope
paramPath = ""
}
} }
...@@ -93,13 +93,57 @@ public class Loader<P: PrecisionType> { ...@@ -93,13 +93,57 @@ public class Loader<P: PrecisionType> {
fclose(file) fclose(file)
} }
} }
public init(){} class ParaLoaderWithPointer {
public func load(device: MTLDevice, modelPath: String, paraPath: String) throws -> Program{ var paramPointer: UnsafeMutableRawPointer
let paramSize: Int
var nowIndex: Int
init(pPointer: UnsafeMutableRawPointer,pSize:Int) throws {
paramPointer = UnsafeMutableRawPointer.init(pPointer)
paramSize = pSize
nowIndex = 0
}
guard let modelData = try? Data.init(contentsOf: URL.init(fileURLWithPath: modelPath)) else { func read(tensor: Tensor<P>) throws {
throw PaddleMobileError.loaderError(message: "load " + modelPath + " failed !") guard nowIndex <= paramSize else {
throw PaddleMobileError.loaderError(message: "out of the file range")
} }
var readerIndex: Int = 0
func pointerReader<T>(type: T.Type) -> T {
let ptr = UnsafeMutablePointer<T>.allocate(capacity: MemoryLayout<T>.size)
memcpy(ptr, paramPointer.advanced(by: Int(readerIndex)), MemoryLayout<T>.size)
nowIndex += MemoryLayout<T>.size
readerIndex += MemoryLayout<T>.size
let pointee = ptr.pointee
ptr.deinitialize(count: MemoryLayout<UInt32>.size)
ptr.deallocate()
return pointee
}
let _ = pointerReader(type: UInt32.self)
let lodLevel = pointerReader(type: UInt64.self)
for _ in 0..<lodLevel {
let size = pointerReader(type: UInt64.self)
for _ in 0..<Int(size/UInt64(MemoryLayout<size_t>.size)){
_ = pointerReader(type: size_t.self)
}
}
let _ = pointerReader(type: UInt32.self)
let tensorDescSize = pointerReader(type: Int32.self)
paramPointer = paramPointer.advanced(by: Int(readerIndex))
paramPointer = paramPointer.advanced(by: Int(tensorDescSize))
nowIndex += Int(tensorDescSize)
let _ = memcpy(tensor.data.pointer, paramPointer, tensor.data.size)
paramPointer = paramPointer.advanced(by: Int(tensor.data.size))
nowIndex += tensor.data.size
}
deinit {
}
}
public init(){}
func loadModelandParam(_ device:MTLDevice,_ modelData:Data, _ paraLoaderPointer:ParaLoaderWithPointer?, _ paraLoader:ParaLoader?) throws -> Program {
do { do {
let protoProgram = try PaddleMobile_Framework_Proto_ProgramDesc.init( let protoProgram = try PaddleMobile_Framework_Proto_ProgramDesc.init(
serializedData: modelData) serializedData: modelData)
...@@ -108,10 +152,6 @@ public class Loader<P: PrecisionType> { ...@@ -108,10 +152,6 @@ public class Loader<P: PrecisionType> {
let programDesc = ProgramOptimize<P>.init().optimize(originProgramDesc: originProgramDesc) let programDesc = ProgramOptimize<P>.init().optimize(originProgramDesc: originProgramDesc)
print(programDesc) print(programDesc)
guard let paraLoader = try? ParaLoader.init(paramPath: paraPath) else {
throw PaddleMobileError.loaderError(message: "load para error")
}
guard programDesc.blocks.count > 0 else { guard programDesc.blocks.count > 0 else {
throw PaddleMobileError.loaderError(message: "count of blocks must greater than 0") throw PaddleMobileError.loaderError(message: "count of blocks must greater than 0")
} }
...@@ -155,11 +195,17 @@ public class Loader<P: PrecisionType> { ...@@ -155,11 +195,17 @@ public class Loader<P: PrecisionType> {
let dim = Dim.init(inDim: dimArr) let dim = Dim.init(inDim: dimArr)
let tensor = Tensor<P>.init(inDim: dim, inLayout: tensorDesc.dataLayout) let tensor = Tensor<P>.init(inDim: dim, inLayout: tensorDesc.dataLayout)
do { do {
try paraLoader.read(tensor: tensor) if paraLoaderPointer != nil {
try paraLoaderPointer!.read(tensor: tensor)
}
if paraLoader != nil {
try paraLoader!.read(tensor: tensor)
}
} catch let error { } catch let error {
throw error throw error
} }
// tensor.convert(to: DataLayout.NHWC()) // tensor.convert(to: DataLayout.NHWC())
// tensor.initBuffer(device: device) // tensor.initBuffer(device: device)
scope[varDesc.name] = tensor scope[varDesc.name] = tensor
} else { } else {
...@@ -175,11 +221,39 @@ public class Loader<P: PrecisionType> { ...@@ -175,11 +221,39 @@ public class Loader<P: PrecisionType> {
} }
} }
let program = Program.init(inProgramDesc: programDesc, inParamPath: paraPath, inScope: scope) let program = Program.init(inProgramDesc: programDesc, inScope: scope)
return program return program
} catch _ { } catch _ {
throw PaddleMobileError.loaderError(message: "protobuf decoder error") throw PaddleMobileError.loaderError(message: "protobuf decoder error")
} }
} }
public func load(device:MTLDevice, paramPointer: UnsafeMutableRawPointer, paramSize:Int, modePointer: UnsafeMutableRawPointer, modelSize: Int) throws -> Program {
let modelData = Data.init(bytes:modePointer, count:modelSize)
guard let paraLoader = try? ParaLoaderWithPointer.init(pPointer: paramPointer,pSize: paramSize) else {
throw PaddleMobileError.loaderError(message: "load para error")
}
do {
let program = try loadModelandParam(device,modelData,paraLoader,nil)
return program
} catch let error {
throw error
}
}
public func load(device: MTLDevice, modelPath: String, paraPath: String) throws -> Program{
guard let modelData = try? Data.init(contentsOf: URL.init(fileURLWithPath: modelPath)) else {
throw PaddleMobileError.loaderError(message: "load " + modelPath + " failed !")
}
guard let paraLoader = try? ParaLoader.init(paramPath: paraPath) else {
throw PaddleMobileError.loaderError(message: "load para error")
}
do {
let program = try loadModelandParam(device,modelData,nil,paraLoader)
return program
} catch let error {
throw error
}
}
} }
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#import "PaddleMobile.h" #import "PaddleMobile.h"
#import "CPUCompute.h" #import "CPUCompute.h"
#import "PaddleMobileGPU.h"
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
//! Project version number for paddle_mobile. //! Project version number for paddle_mobile.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册