diff --git a/metal/paddle-mobile-demo/paddle-mobile-demo.xcodeproj/project.pbxproj b/metal/paddle-mobile-demo/paddle-mobile-demo.xcodeproj/project.pbxproj index e5ee139c38efb6e2236ef05827cdb4ea3beb053e..7ef082fcde7c46e63b1fe35ed24e9fc76b83f0c0 100644 --- a/metal/paddle-mobile-demo/paddle-mobile-demo.xcodeproj/project.pbxproj +++ b/metal/paddle-mobile-demo/paddle-mobile-demo.xcodeproj/project.pbxproj @@ -8,232 +8,7 @@ /* Begin PBXBuildFile section */ 30D0ED21F392CFA3885B1002 /* Pods_paddle_mobile_demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18896810981724F8A0FED62A /* Pods_paddle_mobile_demo.framework */; }; - C2A7541F219EF62800DF4209 /* params in Resources */ = {isa = PBXBuildFile; fileRef = C2A75339219EF62700DF4209 /* params */; }; - C2A75420219EF62800DF4209 /* model in Resources */ = {isa = PBXBuildFile; fileRef = C2A7533A219EF62700DF4209 /* model */; }; - C2A75421219EF62800DF4209 /* combined_mobilenet_params in Resources */ = {isa = PBXBuildFile; fileRef = C2A7533D219EF62700DF4209 /* combined_mobilenet_params */; }; - C2A75422219EF62800DF4209 /* combined_mobilenet_model in Resources */ = {isa = PBXBuildFile; fileRef = C2A7533E219EF62700DF4209 /* combined_mobilenet_model */; }; - C2A75423219EF62800DF4209 /* yolo_params in Resources */ = {isa = PBXBuildFile; fileRef = C2A75340219EF62700DF4209 /* yolo_params */; }; - C2A75424219EF62800DF4209 /* yolo_model in Resources */ = {isa = PBXBuildFile; fileRef = C2A75341219EF62700DF4209 /* yolo_model */; }; - C2A75425219EF62800DF4209 /* genet_params in Resources */ = {isa = PBXBuildFile; fileRef = C2A75343219EF62700DF4209 /* genet_params */; }; - C2A75426219EF62800DF4209 /* genet_model in Resources */ = {isa = PBXBuildFile; fileRef = C2A75344219EF62700DF4209 /* genet_model */; }; - C2A75427219EF62800DF4209 /* superresoltion_params in Resources */ = {isa = PBXBuildFile; fileRef = C2A75346219EF62700DF4209 /* superresoltion_params */; }; - C2A75428219EF62800DF4209 /* superresoltion_model in Resources */ = {isa = PBXBuildFile; fileRef = C2A75347219EF62700DF4209 /* superresoltion_model */; }; - C2A75429219EF62800DF4209 /* ssd_hand_params in Resources */ = {isa = PBXBuildFile; fileRef = C2A75349219EF62700DF4209 /* ssd_hand_params */; }; - C2A7542A219EF62800DF4209 /* ssd_hand_model in Resources */ = {isa = PBXBuildFile; fileRef = C2A7534A219EF62700DF4209 /* ssd_hand_model */; }; - C2A7542B219EF62800DF4209 /* mobilenet in Resources */ = {isa = PBXBuildFile; fileRef = C2A7534C219EF62700DF4209 /* mobilenet */; }; - C2A7542C219EF62800DF4209 /* params in Resources */ = {isa = PBXBuildFile; fileRef = C2A7534D219EF62700DF4209 /* params */; }; - C2A7542D219EF62800DF4209 /* model in Resources */ = {isa = PBXBuildFile; fileRef = C2A7534E219EF62700DF4209 /* model */; }; - C2A7542E219EF62800DF4209 /* yolo in Resources */ = {isa = PBXBuildFile; fileRef = C2A7534F219EF62700DF4209 /* yolo */; }; - C2A7542F219EF62800DF4209 /* params in Resources */ = {isa = PBXBuildFile; fileRef = C2A75351219EF62700DF4209 /* params */; }; - C2A75430219EF62800DF4209 /* model in Resources */ = {isa = PBXBuildFile; fileRef = C2A75352219EF62700DF4209 /* model */; }; - C2A75431219EF62800DF4209 /* batch_norm_7.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75354219EF62700DF4209 /* batch_norm_7.w_0 */; }; - C2A75432219EF62800DF4209 /* batch_norm_26.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75355219EF62700DF4209 /* batch_norm_26.b_0 */; }; - C2A75433219EF62800DF4209 /* batch_norm_32.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75356219EF62700DF4209 /* batch_norm_32.b_0 */; }; - C2A75434219EF62800DF4209 /* conv2d_16.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75357219EF62700DF4209 /* conv2d_16.w_0 */; }; - C2A75435219EF62800DF4209 /* batch_norm_15.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75358219EF62700DF4209 /* batch_norm_15.w_2 */; }; - C2A75436219EF62800DF4209 /* batch_norm_29.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75359219EF62700DF4209 /* batch_norm_29.w_2 */; }; - C2A75437219EF62800DF4209 /* batch_norm_4.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7535A219EF62700DF4209 /* batch_norm_4.w_1 */; }; - C2A75438219EF62800DF4209 /* batch_norm_5.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7535B219EF62700DF4209 /* batch_norm_5.w_1 */; }; - C2A75439219EF62800DF4209 /* batch_norm_28.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7535C219EF62700DF4209 /* batch_norm_28.w_2 */; }; - C2A7543A219EF62800DF4209 /* batch_norm_14.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7535D219EF62700DF4209 /* batch_norm_14.w_2 */; }; - C2A7543B219EF62800DF4209 /* conv2d_17.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7535E219EF62700DF4209 /* conv2d_17.w_0 */; }; - C2A7543C219EF62800DF4209 /* batch_norm_33.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7535F219EF62700DF4209 /* batch_norm_33.b_0 */; }; - C2A7543D219EF62800DF4209 /* batch_norm_27.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75360219EF62700DF4209 /* batch_norm_27.b_0 */; }; - C2A7543E219EF62800DF4209 /* batch_norm_6.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75361219EF62700DF4209 /* batch_norm_6.w_0 */; }; - C2A7543F219EF62800DF4209 /* batch_norm_4.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75362219EF62700DF4209 /* batch_norm_4.w_0 */; }; - C2A75440219EF62800DF4209 /* depthwise_conv2d_9.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75363219EF62700DF4209 /* depthwise_conv2d_9.w_0 */; }; - C2A75441219EF62800DF4209 /* batch_norm_31.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75364219EF62700DF4209 /* batch_norm_31.b_0 */; }; - C2A75442219EF62800DF4209 /* conv2d_29.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75365219EF62700DF4209 /* conv2d_29.w_0 */; }; - C2A75443219EF62800DF4209 /* batch_norm_25.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75366219EF62700DF4209 /* batch_norm_25.b_0 */; }; - C2A75444219EF62800DF4209 /* conv2d_15.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75367219EF62700DF4209 /* conv2d_15.w_0 */; }; - C2A75445219EF62800DF4209 /* batch_norm_19.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75368219EF62700DF4209 /* batch_norm_19.b_0 */; }; - C2A75446219EF62800DF4209 /* batch_norm_16.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75369219EF62700DF4209 /* batch_norm_16.w_2 */; }; - C2A75447219EF62800DF4209 /* __model__ in Resources */ = {isa = PBXBuildFile; fileRef = C2A7536A219EF62700DF4209 /* __model__ */; }; - C2A75448219EF62800DF4209 /* batch_norm_7.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7536B219EF62700DF4209 /* batch_norm_7.w_1 */; }; - C2A75449219EF62800DF4209 /* batch_norm_6.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7536C219EF62700DF4209 /* batch_norm_6.w_1 */; }; - C2A7544A219EF62800DF4209 /* batch_norm_17.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7536D219EF62700DF4209 /* batch_norm_17.w_2 */; }; - C2A7544B219EF62800DF4209 /* conv2d_14.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7536E219EF62700DF4209 /* conv2d_14.w_0 */; }; - C2A7544C219EF62800DF4209 /* batch_norm_18.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7536F219EF62700DF4209 /* batch_norm_18.b_0 */; }; - C2A7544D219EF62800DF4209 /* conv2d_28.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75370219EF62700DF4209 /* conv2d_28.w_0 */; }; - C2A7544E219EF62800DF4209 /* batch_norm_24.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75371219EF62700DF4209 /* batch_norm_24.b_0 */; }; - C2A7544F219EF62800DF4209 /* batch_norm_30.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75372219EF62700DF4209 /* batch_norm_30.b_0 */; }; - C2A75450219EF62800DF4209 /* depthwise_conv2d_8.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75373219EF62700DF4209 /* depthwise_conv2d_8.w_0 */; }; - C2A75451219EF62800DF4209 /* batch_norm_5.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75374219EF62700DF4209 /* batch_norm_5.w_0 */; }; - C2A75452219EF62800DF4209 /* batch_norm_1.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75375219EF62700DF4209 /* batch_norm_1.w_0 */; }; - C2A75453219EF62800DF4209 /* conv2d_10.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75376219EF62700DF4209 /* conv2d_10.w_0 */; }; - C2A75454219EF62800DF4209 /* batch_norm_34.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75377219EF62700DF4209 /* batch_norm_34.b_0 */; }; - C2A75455219EF62800DF4209 /* batch_norm_20.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75378219EF62700DF4209 /* batch_norm_20.b_0 */; }; - C2A75456219EF62800DF4209 /* batch_norm_13.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75379219EF62700DF4209 /* batch_norm_13.w_2 */; }; - C2A75457219EF62800DF4209 /* batch_norm_2.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7537A219EF62700DF4209 /* batch_norm_2.w_1 */; }; - C2A75458219EF62800DF4209 /* batch_norm_3.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7537B219EF62700DF4209 /* batch_norm_3.w_1 */; }; - C2A75459219EF62800DF4209 /* batch_norm_12.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7537C219EF62700DF4209 /* batch_norm_12.w_2 */; }; - C2A7545A219EF62800DF4209 /* batch_norm_21.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7537D219EF62700DF4209 /* batch_norm_21.b_0 */; }; - C2A7545B219EF62800DF4209 /* conv2d_11.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7537E219EF62700DF4209 /* conv2d_11.w_0 */; }; - C2A7545C219EF62800DF4209 /* batch_norm_0.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7537F219EF62700DF4209 /* batch_norm_0.w_0 */; }; - C2A7545D219EF62800DF4209 /* batch_norm_2.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75380219EF62700DF4209 /* batch_norm_2.w_0 */; }; - C2A7545E219EF62800DF4209 /* conv2d_13.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75381219EF62700DF4209 /* conv2d_13.w_0 */; }; - C2A7545F219EF62800DF4209 /* batch_norm_23.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75382219EF62700DF4209 /* batch_norm_23.b_0 */; }; - C2A75460219EF62800DF4209 /* batch_norm_10.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75383219EF62700DF4209 /* batch_norm_10.w_2 */; }; - C2A75461219EF62800DF4209 /* batch_norm_1.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75384219EF62700DF4209 /* batch_norm_1.w_1 */; }; - C2A75462219EF62800DF4209 /* batch_norm_0.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75385219EF62700DF4209 /* batch_norm_0.w_1 */; }; - C2A75463219EF62800DF4209 /* batch_norm_11.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75386219EF62700DF4209 /* batch_norm_11.w_2 */; }; - C2A75464219EF62800DF4209 /* batch_norm_22.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75387219EF62700DF4209 /* batch_norm_22.b_0 */; }; - C2A75465219EF62800DF4209 /* conv2d_12.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75388219EF62700DF4209 /* conv2d_12.w_0 */; }; - C2A75466219EF62800DF4209 /* batch_norm_3.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75389219EF62700DF4209 /* batch_norm_3.w_0 */; }; - C2A75467219EF62800DF4209 /* batch_norm_21.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7538A219EF62700DF4209 /* batch_norm_21.w_1 */; }; - C2A75468219EF62800DF4209 /* batch_norm_3.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7538B219EF62700DF4209 /* batch_norm_3.b_0 */; }; - C2A75469219EF62800DF4209 /* batch_norm_22.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7538C219EF62700DF4209 /* batch_norm_22.w_0 */; }; - C2A7546A219EF62800DF4209 /* batch_norm_23.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7538D219EF62700DF4209 /* batch_norm_23.w_0 */; }; - C2A7546B219EF62800DF4209 /* batch_norm_2.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7538E219EF62700DF4209 /* batch_norm_2.b_0 */; }; - C2A7546C219EF62800DF4209 /* batch_norm_20.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7538F219EF62700DF4209 /* batch_norm_20.w_1 */; }; - C2A7546D219EF62800DF4209 /* batch_norm_34.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75390219EF62700DF4209 /* batch_norm_34.w_1 */; }; - C2A7546E219EF62800DF4209 /* batch_norm_22.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75391219EF62700DF4209 /* batch_norm_22.w_1 */; }; - C2A7546F219EF62800DF4209 /* batch_norm_0.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75392219EF62700DF4209 /* batch_norm_0.b_0 */; }; - C2A75470219EF62800DF4209 /* batch_norm_21.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75393219EF62700DF4209 /* batch_norm_21.w_0 */; }; - C2A75471219EF62800DF4209 /* batch_norm_20.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75394219EF62700DF4209 /* batch_norm_20.w_0 */; }; - C2A75472219EF62800DF4209 /* batch_norm_34.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75395219EF62700DF4209 /* batch_norm_34.w_0 */; }; - C2A75473219EF62800DF4209 /* batch_norm_1.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75396219EF62700DF4209 /* batch_norm_1.b_0 */; }; - C2A75474219EF62800DF4209 /* batch_norm_23.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75397219EF62700DF4209 /* batch_norm_23.w_1 */; }; - C2A75475219EF62800DF4209 /* batch_norm_27.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75398219EF62700DF4209 /* batch_norm_27.w_1 */; }; - C2A75476219EF62800DF4209 /* batch_norm_33.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75399219EF62700DF4209 /* batch_norm_33.w_1 */; }; - C2A75477219EF62800DF4209 /* batch_norm_5.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7539A219EF62700DF4209 /* batch_norm_5.b_0 */; }; - C2A75478219EF62800DF4209 /* batch_norm_18.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7539B219EF62700DF4209 /* batch_norm_18.w_0 */; }; - C2A75479219EF62800DF4209 /* batch_norm_30.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7539C219EF62700DF4209 /* batch_norm_30.w_0 */; }; - C2A7547A219EF62800DF4209 /* batch_norm_24.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7539D219EF62700DF4209 /* batch_norm_24.w_0 */; }; - C2A7547B219EF62800DF4209 /* conv2d_28.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7539E219EF62700DF4209 /* conv2d_28.b_0 */; }; - C2A7547C219EF62800DF4209 /* batch_norm_25.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7539F219EF62700DF4209 /* batch_norm_25.w_0 */; }; - C2A7547D219EF62800DF4209 /* conv2d_29.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A0219EF62700DF4209 /* conv2d_29.b_0 */; }; - C2A7547E219EF62800DF4209 /* batch_norm_31.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A1219EF62700DF4209 /* batch_norm_31.w_0 */; }; - C2A7547F219EF62800DF4209 /* batch_norm_19.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A2219EF62700DF4209 /* batch_norm_19.w_0 */; }; - C2A75480219EF62800DF4209 /* batch_norm_4.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A3219EF62700DF4209 /* batch_norm_4.b_0 */; }; - C2A75481219EF62800DF4209 /* batch_norm_32.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A4219EF62700DF4209 /* batch_norm_32.w_1 */; }; - C2A75482219EF62800DF4209 /* batch_norm_26.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A5219EF62700DF4209 /* batch_norm_26.w_1 */; }; - C2A75483219EF62800DF4209 /* batch_norm_30.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A6219EF62700DF4209 /* batch_norm_30.w_1 */; }; - C2A75484219EF62800DF4209 /* batch_norm_24.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A7219EF62700DF4209 /* batch_norm_24.w_1 */; }; - C2A75485219EF62800DF4209 /* batch_norm_18.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A8219EF62700DF4209 /* batch_norm_18.w_1 */; }; - C2A75486219EF62800DF4209 /* batch_norm_6.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753A9219EF62700DF4209 /* batch_norm_6.b_0 */; }; - C2A75487219EF62800DF4209 /* batch_norm_9.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753AA219EF62700DF4209 /* batch_norm_9.w_2 */; }; - C2A75488219EF62800DF4209 /* conv2d_8.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753AB219EF62700DF4209 /* conv2d_8.w_0 */; }; - C2A75489219EF62800DF4209 /* batch_norm_27.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753AC219EF62700DF4209 /* batch_norm_27.w_0 */; }; - C2A7548A219EF62800DF4209 /* batch_norm_33.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753AD219EF62700DF4209 /* batch_norm_33.w_0 */; }; - C2A7548B219EF62800DF4209 /* batch_norm_32.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753AE219EF62700DF4209 /* batch_norm_32.w_0 */; }; - C2A7548C219EF62800DF4209 /* conv2d_9.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753AF219EF62700DF4209 /* conv2d_9.w_0 */; }; - C2A7548D219EF62800DF4209 /* batch_norm_26.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B0219EF62700DF4209 /* batch_norm_26.w_0 */; }; - C2A7548E219EF62800DF4209 /* batch_norm_8.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B1219EF62700DF4209 /* batch_norm_8.w_2 */; }; - C2A7548F219EF62800DF4209 /* batch_norm_7.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B2219EF62700DF4209 /* batch_norm_7.b_0 */; }; - C2A75490219EF62800DF4209 /* batch_norm_19.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B3219EF62700DF4209 /* batch_norm_19.w_1 */; }; - C2A75491219EF62800DF4209 /* batch_norm_25.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B4219EF62700DF4209 /* batch_norm_25.w_1 */; }; - C2A75492219EF62800DF4209 /* batch_norm_31.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B5219EF62700DF4209 /* batch_norm_31.w_1 */; }; - C2A75493219EF62800DF4209 /* batch_norm_28.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B6219EF62700DF4209 /* batch_norm_28.w_1 */; }; - C2A75494219EF62800DF4209 /* batch_norm_14.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B7219EF62700DF4209 /* batch_norm_14.w_1 */; }; - C2A75495219EF62800DF4209 /* batch_norm_5.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B8219EF62700DF4209 /* batch_norm_5.w_2 */; }; - C2A75496219EF62800DF4209 /* batch_norm_17.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753B9219EF62700DF4209 /* batch_norm_17.w_0 */; }; - C2A75497219EF62800DF4209 /* conv2d_33.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753BA219EF62700DF4209 /* conv2d_33.b_0 */; }; - C2A75498219EF62800DF4209 /* conv2d_27.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753BB219EF62700DF4209 /* conv2d_27.b_0 */; }; - C2A75499219EF62800DF4209 /* conv2d_4.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753BC219EF62700DF4209 /* conv2d_4.w_0 */; }; - C2A7549A219EF62800DF4209 /* conv2d_5.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753BD219EF62700DF4209 /* conv2d_5.w_0 */; }; - C2A7549B219EF62800DF4209 /* conv2d_26.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753BE219EF62700DF4209 /* conv2d_26.b_0 */; }; - C2A7549C219EF62800DF4209 /* conv2d_32.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753BF219EF62700DF4209 /* conv2d_32.b_0 */; }; - C2A7549D219EF62800DF4209 /* batch_norm_16.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C0219EF62700DF4209 /* batch_norm_16.w_0 */; }; - C2A7549E219EF62800DF4209 /* batch_norm_4.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C1219EF62700DF4209 /* batch_norm_4.w_2 */; }; - C2A7549F219EF62800DF4209 /* batch_norm_15.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C2219EF62700DF4209 /* batch_norm_15.w_1 */; }; - C2A754A0219EF62800DF4209 /* batch_norm_29.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C3219EF62700DF4209 /* batch_norm_29.w_1 */; }; - C2A754A1219EF62800DF4209 /* batch_norm_17.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C4219EF62700DF4209 /* batch_norm_17.w_1 */; }; - C2A754A2219EF62800DF4209 /* batch_norm_9.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C5219EF62700DF4209 /* batch_norm_9.b_0 */; }; - C2A754A3219EF62800DF4209 /* batch_norm_6.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C6219EF62700DF4209 /* batch_norm_6.w_2 */; }; - C2A754A4219EF62800DF4209 /* batch_norm_14.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C7219EF62700DF4209 /* batch_norm_14.w_0 */; }; - C2A754A5219EF62800DF4209 /* batch_norm_28.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C8219EF62700DF4209 /* batch_norm_28.w_0 */; }; - C2A754A6219EF62800DF4209 /* conv2d_24.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753C9219EF62700DF4209 /* conv2d_24.b_0 */; }; - C2A754A7219EF62800DF4209 /* conv2d_7.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753CA219EF62700DF4209 /* conv2d_7.w_0 */; }; - C2A754A8219EF62800DF4209 /* conv2d_30.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753CB219EF62700DF4209 /* conv2d_30.b_0 */; }; - C2A754A9219EF62800DF4209 /* conv2d_31.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753CC219EF62700DF4209 /* conv2d_31.b_0 */; }; - C2A754AA219EF62800DF4209 /* batch_norm_29.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753CD219EF62700DF4209 /* batch_norm_29.w_0 */; }; - C2A754AB219EF62800DF4209 /* conv2d_6.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753CE219EF62700DF4209 /* conv2d_6.w_0 */; }; - C2A754AC219EF62800DF4209 /* conv2d_25.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753CF219EF62700DF4209 /* conv2d_25.b_0 */; }; - C2A754AD219EF62800DF4209 /* batch_norm_15.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D0219EF62700DF4209 /* batch_norm_15.w_0 */; }; - C2A754AE219EF62800DF4209 /* batch_norm_7.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D1219EF62700DF4209 /* batch_norm_7.w_2 */; }; - C2A754AF219EF62800DF4209 /* batch_norm_8.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D2219EF62700DF4209 /* batch_norm_8.b_0 */; }; - C2A754B0219EF62800DF4209 /* batch_norm_16.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D3219EF62700DF4209 /* batch_norm_16.w_1 */; }; - C2A754B1219EF62800DF4209 /* batch_norm_12.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D4219EF62700DF4209 /* batch_norm_12.w_1 */; }; - C2A754B2219EF62800DF4209 /* batch_norm_3.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D5219EF62700DF4209 /* batch_norm_3.w_2 */; }; - C2A754B3219EF62800DF4209 /* conv2d_2.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D6219EF62700DF4209 /* conv2d_2.w_0 */; }; - C2A754B4219EF62800DF4209 /* batch_norm_11.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D7219EF62700DF4209 /* batch_norm_11.w_0 */; }; - C2A754B5219EF62800DF4209 /* batch_norm_10.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D8219EF62700DF4209 /* batch_norm_10.w_0 */; }; - C2A754B6219EF62800DF4209 /* conv2d_3.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753D9219EF62700DF4209 /* conv2d_3.w_0 */; }; - C2A754B7219EF62800DF4209 /* batch_norm_2.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753DA219EF62700DF4209 /* batch_norm_2.w_2 */; }; - C2A754B8219EF62800DF4209 /* depthwise_conv2d_12.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753DB219EF62700DF4209 /* depthwise_conv2d_12.w_0 */; }; - C2A754B9219EF62800DF4209 /* batch_norm_13.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753DC219EF62700DF4209 /* batch_norm_13.w_1 */; }; - C2A754BA219EF62800DF4209 /* batch_norm_11.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753DD219EF62700DF4209 /* batch_norm_11.w_1 */; }; - C2A754BB219EF62800DF4209 /* depthwise_conv2d_10.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753DE219EF62700DF4209 /* depthwise_conv2d_10.w_0 */; }; - C2A754BC219EF62800DF4209 /* batch_norm_0.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753DF219EF62700DF4209 /* batch_norm_0.w_2 */; }; - C2A754BD219EF62800DF4209 /* conv2d_22.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E0219EF62700DF4209 /* conv2d_22.b_0 */; }; - C2A754BE219EF62800DF4209 /* conv2d_1.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E1219EF62700DF4209 /* conv2d_1.w_0 */; }; - C2A754BF219EF62800DF4209 /* batch_norm_12.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E2219EF62700DF4209 /* batch_norm_12.w_0 */; }; - C2A754C0219EF62800DF4209 /* batch_norm_13.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E3219EF62700DF4209 /* batch_norm_13.w_0 */; }; - C2A754C1219EF62800DF4209 /* conv2d_0.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E4219EF62700DF4209 /* conv2d_0.w_0 */; }; - C2A754C2219EF62800DF4209 /* conv2d_23.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E5219EF62700DF4209 /* conv2d_23.b_0 */; }; - C2A754C3219EF62800DF4209 /* batch_norm_1.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E6219EF62700DF4209 /* batch_norm_1.w_2 */; }; - C2A754C4219EF62800DF4209 /* batch_norm_10.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E7219EF62700DF4209 /* batch_norm_10.w_1 */; }; - C2A754C5219EF62800DF4209 /* depthwise_conv2d_11.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E8219EF62700DF4209 /* depthwise_conv2d_11.w_0 */; }; - C2A754C6219EF62800DF4209 /* depthwise_conv2d_3.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753E9219EF62700DF4209 /* depthwise_conv2d_3.w_0 */; }; - C2A754C7219EF62800DF4209 /* batch_norm_13.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753EA219EF62700DF4209 /* batch_norm_13.b_0 */; }; - C2A754C8219EF62800DF4209 /* conv2d_23.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753EB219EF62700DF4209 /* conv2d_23.w_0 */; }; - C2A754C9219EF62800DF4209 /* batch_norm_20.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753EC219EF62700DF4209 /* batch_norm_20.w_2 */; }; - C2A754CA219EF62800DF4209 /* batch_norm_34.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753ED219EF62700DF4209 /* batch_norm_34.w_2 */; }; - C2A754CB219EF62800DF4209 /* batch_norm_21.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753EE219EF62700DF4209 /* batch_norm_21.w_2 */; }; - C2A754CC219EF62800DF4209 /* conv2d_22.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753EF219EF62700DF4209 /* conv2d_22.w_0 */; }; - C2A754CD219EF62800DF4209 /* batch_norm_12.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F0219EF62700DF4209 /* batch_norm_12.b_0 */; }; - C2A754CE219EF62800DF4209 /* depthwise_conv2d_2.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F1219EF62700DF4209 /* depthwise_conv2d_2.w_0 */; }; - C2A754CF219EF62800DF4209 /* depthwise_conv2d_0.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F2219EF62700DF4209 /* depthwise_conv2d_0.w_0 */; }; - C2A754D0219EF62800DF4209 /* batch_norm_10.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F3219EF62700DF4209 /* batch_norm_10.b_0 */; }; - C2A754D1219EF62800DF4209 /* conv2d_20.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F4219EF62700DF4209 /* conv2d_20.w_0 */; }; - C2A754D2219EF62800DF4209 /* batch_norm_23.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F5219EF62700DF4209 /* batch_norm_23.w_2 */; }; - C2A754D3219EF62800DF4209 /* batch_norm_22.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F6219EF62700DF4209 /* batch_norm_22.w_2 */; }; - C2A754D4219EF62800DF4209 /* conv2d_21.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F7219EF62700DF4209 /* conv2d_21.w_0 */; }; - C2A754D5219EF62800DF4209 /* batch_norm_11.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F8219EF62700DF4209 /* batch_norm_11.b_0 */; }; - C2A754D6219EF62800DF4209 /* depthwise_conv2d_1.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753F9219EF62700DF4209 /* depthwise_conv2d_1.w_0 */; }; - C2A754D7219EF62800DF4209 /* depthwise_conv2d_5.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753FA219EF62700DF4209 /* depthwise_conv2d_5.w_0 */; }; - C2A754D8219EF62800DF4209 /* batch_norm_8.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753FB219EF62700DF4209 /* batch_norm_8.w_0 */; }; - C2A754D9219EF62800DF4209 /* conv2d_25.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753FC219EF62700DF4209 /* conv2d_25.w_0 */; }; - C2A754DA219EF62800DF4209 /* batch_norm_29.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753FD219EF62700DF4209 /* batch_norm_29.b_0 */; }; - C2A754DB219EF62800DF4209 /* conv2d_31.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753FE219EF62700DF4209 /* conv2d_31.w_0 */; }; - C2A754DC219EF62800DF4209 /* conv2d_19.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A753FF219EF62700DF4209 /* conv2d_19.w_0 */; }; - C2A754DD219EF62800DF4209 /* batch_norm_15.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75400219EF62700DF4209 /* batch_norm_15.b_0 */; }; - C2A754DE219EF62800DF4209 /* batch_norm_32.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75401219EF62700DF4209 /* batch_norm_32.w_2 */; }; - C2A754DF219EF62800DF4209 /* batch_norm_26.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75402219EF62700DF4209 /* batch_norm_26.w_2 */; }; - C2A754E0219EF62800DF4209 /* batch_norm_27.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75403219EF62700DF4209 /* batch_norm_27.w_2 */; }; - C2A754E1219EF62800DF4209 /* batch_norm_33.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75404219EF62700DF4209 /* batch_norm_33.w_2 */; }; - C2A754E2219EF62800DF4209 /* conv2d_18.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75405219EF62700DF4209 /* conv2d_18.w_0 */; }; - C2A754E3219EF62800DF4209 /* batch_norm_14.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75406219EF62700DF4209 /* batch_norm_14.b_0 */; }; - C2A754E4219EF62800DF4209 /* conv2d_30.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75407219EF62700DF4209 /* conv2d_30.w_0 */; }; - C2A754E5219EF62800DF4209 /* conv2d_24.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75408219EF62700DF4209 /* conv2d_24.w_0 */; }; - C2A754E6219EF62800DF4209 /* batch_norm_28.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75409219EF62700DF4209 /* batch_norm_28.b_0 */; }; - C2A754E7219EF62800DF4209 /* batch_norm_9.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7540A219EF62700DF4209 /* batch_norm_9.w_0 */; }; - C2A754E8219EF62800DF4209 /* depthwise_conv2d_4.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7540B219EF62700DF4209 /* depthwise_conv2d_4.w_0 */; }; - C2A754E9219EF62800DF4209 /* depthwise_conv2d_6.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7540C219EF62700DF4209 /* depthwise_conv2d_6.w_0 */; }; - C2A754EA219EF62800DF4209 /* conv2d_32.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7540D219EF62700DF4209 /* conv2d_32.w_0 */; }; - C2A754EB219EF62800DF4209 /* conv2d_26.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7540E219EF62700DF4209 /* conv2d_26.w_0 */; }; - C2A754EC219EF62800DF4209 /* batch_norm_16.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7540F219EF62700DF4209 /* batch_norm_16.b_0 */; }; - C2A754ED219EF62800DF4209 /* batch_norm_19.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75410219EF62700DF4209 /* batch_norm_19.w_2 */; }; - C2A754EE219EF62800DF4209 /* batch_norm_25.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75411219EF62700DF4209 /* batch_norm_25.w_2 */; }; - C2A754EF219EF62800DF4209 /* batch_norm_31.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75412219EF62700DF4209 /* batch_norm_31.w_2 */; }; - C2A754F0219EF62800DF4209 /* batch_norm_8.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75413219EF62700DF4209 /* batch_norm_8.w_1 */; }; - C2A754F1219EF62800DF4209 /* batch_norm_9.w_1 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75414219EF62700DF4209 /* batch_norm_9.w_1 */; }; - C2A754F2219EF62800DF4209 /* batch_norm_30.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75415219EF62700DF4209 /* batch_norm_30.w_2 */; }; - C2A754F3219EF62800DF4209 /* batch_norm_24.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75416219EF62700DF4209 /* batch_norm_24.w_2 */; }; - C2A754F4219EF62800DF4209 /* batch_norm_18.w_2 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75417219EF62700DF4209 /* batch_norm_18.w_2 */; }; - C2A754F5219EF62800DF4209 /* batch_norm_17.b_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75418219EF62700DF4209 /* batch_norm_17.b_0 */; }; - C2A754F6219EF62800DF4209 /* conv2d_27.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A75419219EF62700DF4209 /* conv2d_27.w_0 */; }; - C2A754F7219EF62800DF4209 /* conv2d_33.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7541A219EF62700DF4209 /* conv2d_33.w_0 */; }; - C2A754F8219EF62800DF4209 /* depthwise_conv2d_7.w_0 in Resources */ = {isa = PBXBuildFile; fileRef = C2A7541B219EF62700DF4209 /* depthwise_conv2d_7.w_0 */; }; - C2A754F9219EF62800DF4209 /* ar_model in Resources */ = {isa = PBXBuildFile; fileRef = C2A7541D219EF62700DF4209 /* ar_model */; }; - C2A754FA219EF62800DF4209 /* ar_params in Resources */ = {isa = PBXBuildFile; fileRef = C2A7541E219EF62700DF4209 /* ar_params */; }; C2CBB49021B778EA0020DC6C /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = FC4FD97B2140EE250073E130 /* libc++.tbd */; }; - C2E33ADE217EB80E0097FDD6 /* synset.txt in Resources */ = {isa = PBXBuildFile; fileRef = C2E339FB217EB80E0097FDD6 /* synset.txt */; }; - C2E33ADF217EB80E0097FDD6 /* banana.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = C2E339FC217EB80E0097FDD6 /* banana.jpeg */; }; - C2E33AE0217EB80E0097FDD6 /* hand.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C2E339FD217EB80E0097FDD6 /* hand.jpg */; }; - C2E33AE1217EB80E0097FDD6 /* iphone.JPG in Resources */ = {isa = PBXBuildFile; fileRef = C2E339FE217EB80E0097FDD6 /* iphone.JPG */; }; - C2E33AE2217EB80E0097FDD6 /* paddle-mobile.png in Resources */ = {isa = PBXBuildFile; fileRef = C2E339FF217EB80E0097FDD6 /* paddle-mobile.png */; }; C2E67E5E21524E460013F575 /* LoadPointerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C2E67E5D21524E460013F575 /* LoadPointerViewController.m */; }; FC013928210204A3008100E3 /* PreProcessKernel.metal in Sources */ = {isa = PBXBuildFile; fileRef = FC013927210204A3008100E3 /* PreProcessKernel.metal */; }; FC039B8220E11C550081E9F8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC039B8120E11C550081E9F8 /* AppDelegate.swift */; }; @@ -241,6 +16,11 @@ FC039B8720E11C550081E9F8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC039B8520E11C550081E9F8 /* Main.storyboard */; }; FC039B8920E11C560081E9F8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FC039B8820E11C560081E9F8 /* Assets.xcassets */; }; FC039B8C20E11C560081E9F8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FC039B8A20E11C560081E9F8 /* LaunchScreen.storyboard */; }; + FC203FB221CBFDBA00B37166 /* test.jpg in Resources */ = {isa = PBXBuildFile; fileRef = FC203FA921CBFDBA00B37166 /* test.jpg */; }; + FC203FB321CBFDBA00B37166 /* combined_mobilenet_params in Resources */ = {isa = PBXBuildFile; fileRef = FC203FAD21CBFDBA00B37166 /* combined_mobilenet_params */; }; + FC203FB421CBFDBA00B37166 /* combined_mobilenet_model in Resources */ = {isa = PBXBuildFile; fileRef = FC203FAE21CBFDBA00B37166 /* combined_mobilenet_model */; }; + FC203FB521CBFDBA00B37166 /* yolo_params in Resources */ = {isa = PBXBuildFile; fileRef = FC203FB021CBFDBA00B37166 /* yolo_params */; }; + FC203FB621CBFDBA00B37166 /* yolo_model in Resources */ = {isa = PBXBuildFile; fileRef = FC203FB121CBFDBA00B37166 /* yolo_model */; }; FC803BCD214D27930094B8E5 /* FPSCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC803BCB214D27920094B8E5 /* FPSCounter.swift */; }; FC803BCE214D27930094B8E5 /* VideoCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC803BCC214D27920094B8E5 /* VideoCapture.swift */; }; FCBCCC552122EF5500D94F7E /* MetalHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCBCCC542122EF5400D94F7E /* MetalHelper.swift */; }; @@ -267,231 +47,6 @@ 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 = ""; }; 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 = ""; }; - C2A75339219EF62700DF4209 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = ""; }; - C2A7533A219EF62700DF4209 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = ""; }; - C2A7533D219EF62700DF4209 /* combined_mobilenet_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = combined_mobilenet_params; sourceTree = ""; }; - C2A7533E219EF62700DF4209 /* combined_mobilenet_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = combined_mobilenet_model; sourceTree = ""; }; - C2A75340219EF62700DF4209 /* yolo_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = yolo_params; sourceTree = ""; }; - C2A75341219EF62700DF4209 /* yolo_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = yolo_model; sourceTree = ""; }; - C2A75343219EF62700DF4209 /* genet_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = genet_params; sourceTree = ""; }; - C2A75344219EF62700DF4209 /* genet_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = genet_model; sourceTree = ""; }; - C2A75346219EF62700DF4209 /* superresoltion_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = superresoltion_params; sourceTree = ""; }; - C2A75347219EF62700DF4209 /* superresoltion_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = superresoltion_model; sourceTree = ""; }; - C2A75349219EF62700DF4209 /* ssd_hand_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = ssd_hand_params; sourceTree = ""; }; - C2A7534A219EF62700DF4209 /* ssd_hand_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = ssd_hand_model; sourceTree = ""; }; - C2A7534C219EF62700DF4209 /* mobilenet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mobilenet; sourceTree = ""; }; - C2A7534D219EF62700DF4209 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = ""; }; - C2A7534E219EF62700DF4209 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = ""; }; - C2A7534F219EF62700DF4209 /* yolo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = yolo; sourceTree = ""; }; - C2A75351219EF62700DF4209 /* params */ = {isa = PBXFileReference; lastKnownFileType = file; path = params; sourceTree = ""; }; - C2A75352219EF62700DF4209 /* model */ = {isa = PBXFileReference; lastKnownFileType = file; path = model; sourceTree = ""; }; - C2A75354219EF62700DF4209 /* batch_norm_7.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.w_0; sourceTree = ""; }; - C2A75355219EF62700DF4209 /* batch_norm_26.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.b_0; sourceTree = ""; }; - C2A75356219EF62700DF4209 /* batch_norm_32.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.b_0; sourceTree = ""; }; - C2A75357219EF62700DF4209 /* conv2d_16.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_16.w_0; sourceTree = ""; }; - C2A75358219EF62700DF4209 /* batch_norm_15.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.w_2; sourceTree = ""; }; - C2A75359219EF62700DF4209 /* batch_norm_29.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.w_2; sourceTree = ""; }; - C2A7535A219EF62700DF4209 /* batch_norm_4.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.w_1; sourceTree = ""; }; - C2A7535B219EF62700DF4209 /* batch_norm_5.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.w_1; sourceTree = ""; }; - C2A7535C219EF62700DF4209 /* batch_norm_28.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.w_2; sourceTree = ""; }; - C2A7535D219EF62700DF4209 /* batch_norm_14.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.w_2; sourceTree = ""; }; - C2A7535E219EF62700DF4209 /* conv2d_17.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_17.w_0; sourceTree = ""; }; - C2A7535F219EF62700DF4209 /* batch_norm_33.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.b_0; sourceTree = ""; }; - C2A75360219EF62700DF4209 /* batch_norm_27.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.b_0; sourceTree = ""; }; - C2A75361219EF62700DF4209 /* batch_norm_6.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.w_0; sourceTree = ""; }; - C2A75362219EF62700DF4209 /* batch_norm_4.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.w_0; sourceTree = ""; }; - C2A75363219EF62700DF4209 /* depthwise_conv2d_9.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_9.w_0; sourceTree = ""; }; - C2A75364219EF62700DF4209 /* batch_norm_31.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.b_0; sourceTree = ""; }; - C2A75365219EF62700DF4209 /* conv2d_29.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_29.w_0; sourceTree = ""; }; - C2A75366219EF62700DF4209 /* batch_norm_25.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.b_0; sourceTree = ""; }; - C2A75367219EF62700DF4209 /* conv2d_15.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_15.w_0; sourceTree = ""; }; - C2A75368219EF62700DF4209 /* batch_norm_19.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.b_0; sourceTree = ""; }; - C2A75369219EF62700DF4209 /* batch_norm_16.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.w_2; sourceTree = ""; }; - C2A7536A219EF62700DF4209 /* __model__ */ = {isa = PBXFileReference; lastKnownFileType = file; path = __model__; sourceTree = ""; }; - C2A7536B219EF62700DF4209 /* batch_norm_7.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.w_1; sourceTree = ""; }; - C2A7536C219EF62700DF4209 /* batch_norm_6.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.w_1; sourceTree = ""; }; - C2A7536D219EF62700DF4209 /* batch_norm_17.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.w_2; sourceTree = ""; }; - C2A7536E219EF62700DF4209 /* conv2d_14.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_14.w_0; sourceTree = ""; }; - C2A7536F219EF62700DF4209 /* batch_norm_18.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.b_0; sourceTree = ""; }; - C2A75370219EF62700DF4209 /* conv2d_28.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_28.w_0; sourceTree = ""; }; - C2A75371219EF62700DF4209 /* batch_norm_24.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.b_0; sourceTree = ""; }; - C2A75372219EF62700DF4209 /* batch_norm_30.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.b_0; sourceTree = ""; }; - C2A75373219EF62700DF4209 /* depthwise_conv2d_8.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_8.w_0; sourceTree = ""; }; - C2A75374219EF62700DF4209 /* batch_norm_5.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.w_0; sourceTree = ""; }; - C2A75375219EF62700DF4209 /* batch_norm_1.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.w_0; sourceTree = ""; }; - C2A75376219EF62700DF4209 /* conv2d_10.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_10.w_0; sourceTree = ""; }; - C2A75377219EF62700DF4209 /* batch_norm_34.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.b_0; sourceTree = ""; }; - C2A75378219EF62700DF4209 /* batch_norm_20.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.b_0; sourceTree = ""; }; - C2A75379219EF62700DF4209 /* batch_norm_13.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.w_2; sourceTree = ""; }; - C2A7537A219EF62700DF4209 /* batch_norm_2.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.w_1; sourceTree = ""; }; - C2A7537B219EF62700DF4209 /* batch_norm_3.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.w_1; sourceTree = ""; }; - C2A7537C219EF62700DF4209 /* batch_norm_12.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.w_2; sourceTree = ""; }; - C2A7537D219EF62700DF4209 /* batch_norm_21.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.b_0; sourceTree = ""; }; - C2A7537E219EF62700DF4209 /* conv2d_11.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_11.w_0; sourceTree = ""; }; - C2A7537F219EF62700DF4209 /* batch_norm_0.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.w_0; sourceTree = ""; }; - C2A75380219EF62700DF4209 /* batch_norm_2.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.w_0; sourceTree = ""; }; - C2A75381219EF62700DF4209 /* conv2d_13.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_13.w_0; sourceTree = ""; }; - C2A75382219EF62700DF4209 /* batch_norm_23.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.b_0; sourceTree = ""; }; - C2A75383219EF62700DF4209 /* batch_norm_10.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.w_2; sourceTree = ""; }; - C2A75384219EF62700DF4209 /* batch_norm_1.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.w_1; sourceTree = ""; }; - C2A75385219EF62700DF4209 /* batch_norm_0.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.w_1; sourceTree = ""; }; - C2A75386219EF62700DF4209 /* batch_norm_11.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.w_2; sourceTree = ""; }; - C2A75387219EF62700DF4209 /* batch_norm_22.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.b_0; sourceTree = ""; }; - C2A75388219EF62700DF4209 /* conv2d_12.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_12.w_0; sourceTree = ""; }; - C2A75389219EF62700DF4209 /* batch_norm_3.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.w_0; sourceTree = ""; }; - C2A7538A219EF62700DF4209 /* batch_norm_21.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.w_1; sourceTree = ""; }; - C2A7538B219EF62700DF4209 /* batch_norm_3.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.b_0; sourceTree = ""; }; - C2A7538C219EF62700DF4209 /* batch_norm_22.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.w_0; sourceTree = ""; }; - C2A7538D219EF62700DF4209 /* batch_norm_23.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.w_0; sourceTree = ""; }; - C2A7538E219EF62700DF4209 /* batch_norm_2.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.b_0; sourceTree = ""; }; - C2A7538F219EF62700DF4209 /* batch_norm_20.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.w_1; sourceTree = ""; }; - C2A75390219EF62700DF4209 /* batch_norm_34.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.w_1; sourceTree = ""; }; - C2A75391219EF62700DF4209 /* batch_norm_22.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.w_1; sourceTree = ""; }; - C2A75392219EF62700DF4209 /* batch_norm_0.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.b_0; sourceTree = ""; }; - C2A75393219EF62700DF4209 /* batch_norm_21.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.w_0; sourceTree = ""; }; - C2A75394219EF62700DF4209 /* batch_norm_20.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.w_0; sourceTree = ""; }; - C2A75395219EF62700DF4209 /* batch_norm_34.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.w_0; sourceTree = ""; }; - C2A75396219EF62700DF4209 /* batch_norm_1.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.b_0; sourceTree = ""; }; - C2A75397219EF62700DF4209 /* batch_norm_23.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.w_1; sourceTree = ""; }; - C2A75398219EF62700DF4209 /* batch_norm_27.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.w_1; sourceTree = ""; }; - C2A75399219EF62700DF4209 /* batch_norm_33.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.w_1; sourceTree = ""; }; - C2A7539A219EF62700DF4209 /* batch_norm_5.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.b_0; sourceTree = ""; }; - C2A7539B219EF62700DF4209 /* batch_norm_18.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.w_0; sourceTree = ""; }; - C2A7539C219EF62700DF4209 /* batch_norm_30.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.w_0; sourceTree = ""; }; - C2A7539D219EF62700DF4209 /* batch_norm_24.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.w_0; sourceTree = ""; }; - C2A7539E219EF62700DF4209 /* conv2d_28.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_28.b_0; sourceTree = ""; }; - C2A7539F219EF62700DF4209 /* batch_norm_25.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.w_0; sourceTree = ""; }; - C2A753A0219EF62700DF4209 /* conv2d_29.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_29.b_0; sourceTree = ""; }; - C2A753A1219EF62700DF4209 /* batch_norm_31.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.w_0; sourceTree = ""; }; - C2A753A2219EF62700DF4209 /* batch_norm_19.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.w_0; sourceTree = ""; }; - C2A753A3219EF62700DF4209 /* batch_norm_4.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.b_0; sourceTree = ""; }; - C2A753A4219EF62700DF4209 /* batch_norm_32.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.w_1; sourceTree = ""; }; - C2A753A5219EF62700DF4209 /* batch_norm_26.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.w_1; sourceTree = ""; }; - C2A753A6219EF62700DF4209 /* batch_norm_30.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.w_1; sourceTree = ""; }; - C2A753A7219EF62700DF4209 /* batch_norm_24.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.w_1; sourceTree = ""; }; - C2A753A8219EF62700DF4209 /* batch_norm_18.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.w_1; sourceTree = ""; }; - C2A753A9219EF62700DF4209 /* batch_norm_6.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.b_0; sourceTree = ""; }; - C2A753AA219EF62700DF4209 /* batch_norm_9.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.w_2; sourceTree = ""; }; - C2A753AB219EF62700DF4209 /* conv2d_8.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_8.w_0; sourceTree = ""; }; - C2A753AC219EF62700DF4209 /* batch_norm_27.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.w_0; sourceTree = ""; }; - C2A753AD219EF62700DF4209 /* batch_norm_33.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.w_0; sourceTree = ""; }; - C2A753AE219EF62700DF4209 /* batch_norm_32.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.w_0; sourceTree = ""; }; - C2A753AF219EF62700DF4209 /* conv2d_9.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_9.w_0; sourceTree = ""; }; - C2A753B0219EF62700DF4209 /* batch_norm_26.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.w_0; sourceTree = ""; }; - C2A753B1219EF62700DF4209 /* batch_norm_8.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.w_2; sourceTree = ""; }; - C2A753B2219EF62700DF4209 /* batch_norm_7.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.b_0; sourceTree = ""; }; - C2A753B3219EF62700DF4209 /* batch_norm_19.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.w_1; sourceTree = ""; }; - C2A753B4219EF62700DF4209 /* batch_norm_25.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.w_1; sourceTree = ""; }; - C2A753B5219EF62700DF4209 /* batch_norm_31.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.w_1; sourceTree = ""; }; - C2A753B6219EF62700DF4209 /* batch_norm_28.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.w_1; sourceTree = ""; }; - C2A753B7219EF62700DF4209 /* batch_norm_14.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.w_1; sourceTree = ""; }; - C2A753B8219EF62700DF4209 /* batch_norm_5.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_5.w_2; sourceTree = ""; }; - C2A753B9219EF62700DF4209 /* batch_norm_17.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.w_0; sourceTree = ""; }; - C2A753BA219EF62700DF4209 /* conv2d_33.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_33.b_0; sourceTree = ""; }; - C2A753BB219EF62700DF4209 /* conv2d_27.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_27.b_0; sourceTree = ""; }; - C2A753BC219EF62700DF4209 /* conv2d_4.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_4.w_0; sourceTree = ""; }; - C2A753BD219EF62700DF4209 /* conv2d_5.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_5.w_0; sourceTree = ""; }; - C2A753BE219EF62700DF4209 /* conv2d_26.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_26.b_0; sourceTree = ""; }; - C2A753BF219EF62700DF4209 /* conv2d_32.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_32.b_0; sourceTree = ""; }; - C2A753C0219EF62700DF4209 /* batch_norm_16.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.w_0; sourceTree = ""; }; - C2A753C1219EF62700DF4209 /* batch_norm_4.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_4.w_2; sourceTree = ""; }; - C2A753C2219EF62700DF4209 /* batch_norm_15.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.w_1; sourceTree = ""; }; - C2A753C3219EF62700DF4209 /* batch_norm_29.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.w_1; sourceTree = ""; }; - C2A753C4219EF62700DF4209 /* batch_norm_17.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.w_1; sourceTree = ""; }; - C2A753C5219EF62700DF4209 /* batch_norm_9.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.b_0; sourceTree = ""; }; - C2A753C6219EF62700DF4209 /* batch_norm_6.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_6.w_2; sourceTree = ""; }; - C2A753C7219EF62700DF4209 /* batch_norm_14.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.w_0; sourceTree = ""; }; - C2A753C8219EF62700DF4209 /* batch_norm_28.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.w_0; sourceTree = ""; }; - C2A753C9219EF62700DF4209 /* conv2d_24.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_24.b_0; sourceTree = ""; }; - C2A753CA219EF62700DF4209 /* conv2d_7.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_7.w_0; sourceTree = ""; }; - C2A753CB219EF62700DF4209 /* conv2d_30.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_30.b_0; sourceTree = ""; }; - C2A753CC219EF62700DF4209 /* conv2d_31.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_31.b_0; sourceTree = ""; }; - C2A753CD219EF62700DF4209 /* batch_norm_29.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.w_0; sourceTree = ""; }; - C2A753CE219EF62700DF4209 /* conv2d_6.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_6.w_0; sourceTree = ""; }; - C2A753CF219EF62700DF4209 /* conv2d_25.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_25.b_0; sourceTree = ""; }; - C2A753D0219EF62700DF4209 /* batch_norm_15.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.w_0; sourceTree = ""; }; - C2A753D1219EF62700DF4209 /* batch_norm_7.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_7.w_2; sourceTree = ""; }; - C2A753D2219EF62700DF4209 /* batch_norm_8.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.b_0; sourceTree = ""; }; - C2A753D3219EF62700DF4209 /* batch_norm_16.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.w_1; sourceTree = ""; }; - C2A753D4219EF62700DF4209 /* batch_norm_12.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.w_1; sourceTree = ""; }; - C2A753D5219EF62700DF4209 /* batch_norm_3.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_3.w_2; sourceTree = ""; }; - C2A753D6219EF62700DF4209 /* conv2d_2.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_2.w_0; sourceTree = ""; }; - C2A753D7219EF62700DF4209 /* batch_norm_11.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.w_0; sourceTree = ""; }; - C2A753D8219EF62700DF4209 /* batch_norm_10.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.w_0; sourceTree = ""; }; - C2A753D9219EF62700DF4209 /* conv2d_3.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_3.w_0; sourceTree = ""; }; - C2A753DA219EF62700DF4209 /* batch_norm_2.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_2.w_2; sourceTree = ""; }; - C2A753DB219EF62700DF4209 /* depthwise_conv2d_12.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_12.w_0; sourceTree = ""; }; - C2A753DC219EF62700DF4209 /* batch_norm_13.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.w_1; sourceTree = ""; }; - C2A753DD219EF62700DF4209 /* batch_norm_11.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.w_1; sourceTree = ""; }; - C2A753DE219EF62700DF4209 /* depthwise_conv2d_10.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_10.w_0; sourceTree = ""; }; - C2A753DF219EF62700DF4209 /* batch_norm_0.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_0.w_2; sourceTree = ""; }; - C2A753E0219EF62700DF4209 /* conv2d_22.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_22.b_0; sourceTree = ""; }; - C2A753E1219EF62700DF4209 /* conv2d_1.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_1.w_0; sourceTree = ""; }; - C2A753E2219EF62700DF4209 /* batch_norm_12.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.w_0; sourceTree = ""; }; - C2A753E3219EF62700DF4209 /* batch_norm_13.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.w_0; sourceTree = ""; }; - C2A753E4219EF62700DF4209 /* conv2d_0.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_0.w_0; sourceTree = ""; }; - C2A753E5219EF62700DF4209 /* conv2d_23.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_23.b_0; sourceTree = ""; }; - C2A753E6219EF62700DF4209 /* batch_norm_1.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_1.w_2; sourceTree = ""; }; - C2A753E7219EF62700DF4209 /* batch_norm_10.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.w_1; sourceTree = ""; }; - C2A753E8219EF62700DF4209 /* depthwise_conv2d_11.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_11.w_0; sourceTree = ""; }; - C2A753E9219EF62700DF4209 /* depthwise_conv2d_3.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_3.w_0; sourceTree = ""; }; - C2A753EA219EF62700DF4209 /* batch_norm_13.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_13.b_0; sourceTree = ""; }; - C2A753EB219EF62700DF4209 /* conv2d_23.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_23.w_0; sourceTree = ""; }; - C2A753EC219EF62700DF4209 /* batch_norm_20.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_20.w_2; sourceTree = ""; }; - C2A753ED219EF62700DF4209 /* batch_norm_34.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_34.w_2; sourceTree = ""; }; - C2A753EE219EF62700DF4209 /* batch_norm_21.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_21.w_2; sourceTree = ""; }; - C2A753EF219EF62700DF4209 /* conv2d_22.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_22.w_0; sourceTree = ""; }; - C2A753F0219EF62700DF4209 /* batch_norm_12.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_12.b_0; sourceTree = ""; }; - C2A753F1219EF62700DF4209 /* depthwise_conv2d_2.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_2.w_0; sourceTree = ""; }; - C2A753F2219EF62700DF4209 /* depthwise_conv2d_0.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_0.w_0; sourceTree = ""; }; - C2A753F3219EF62700DF4209 /* batch_norm_10.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_10.b_0; sourceTree = ""; }; - C2A753F4219EF62700DF4209 /* conv2d_20.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_20.w_0; sourceTree = ""; }; - C2A753F5219EF62700DF4209 /* batch_norm_23.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_23.w_2; sourceTree = ""; }; - C2A753F6219EF62700DF4209 /* batch_norm_22.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_22.w_2; sourceTree = ""; }; - C2A753F7219EF62700DF4209 /* conv2d_21.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_21.w_0; sourceTree = ""; }; - C2A753F8219EF62700DF4209 /* batch_norm_11.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_11.b_0; sourceTree = ""; }; - C2A753F9219EF62700DF4209 /* depthwise_conv2d_1.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_1.w_0; sourceTree = ""; }; - C2A753FA219EF62700DF4209 /* depthwise_conv2d_5.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_5.w_0; sourceTree = ""; }; - C2A753FB219EF62700DF4209 /* batch_norm_8.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.w_0; sourceTree = ""; }; - C2A753FC219EF62700DF4209 /* conv2d_25.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_25.w_0; sourceTree = ""; }; - C2A753FD219EF62700DF4209 /* batch_norm_29.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_29.b_0; sourceTree = ""; }; - C2A753FE219EF62700DF4209 /* conv2d_31.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_31.w_0; sourceTree = ""; }; - C2A753FF219EF62700DF4209 /* conv2d_19.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_19.w_0; sourceTree = ""; }; - C2A75400219EF62700DF4209 /* batch_norm_15.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_15.b_0; sourceTree = ""; }; - C2A75401219EF62700DF4209 /* batch_norm_32.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_32.w_2; sourceTree = ""; }; - C2A75402219EF62700DF4209 /* batch_norm_26.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_26.w_2; sourceTree = ""; }; - C2A75403219EF62700DF4209 /* batch_norm_27.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_27.w_2; sourceTree = ""; }; - C2A75404219EF62700DF4209 /* batch_norm_33.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_33.w_2; sourceTree = ""; }; - C2A75405219EF62700DF4209 /* conv2d_18.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_18.w_0; sourceTree = ""; }; - C2A75406219EF62700DF4209 /* batch_norm_14.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_14.b_0; sourceTree = ""; }; - C2A75407219EF62700DF4209 /* conv2d_30.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_30.w_0; sourceTree = ""; }; - C2A75408219EF62700DF4209 /* conv2d_24.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_24.w_0; sourceTree = ""; }; - C2A75409219EF62700DF4209 /* batch_norm_28.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_28.b_0; sourceTree = ""; }; - C2A7540A219EF62700DF4209 /* batch_norm_9.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.w_0; sourceTree = ""; }; - C2A7540B219EF62700DF4209 /* depthwise_conv2d_4.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_4.w_0; sourceTree = ""; }; - C2A7540C219EF62700DF4209 /* depthwise_conv2d_6.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_6.w_0; sourceTree = ""; }; - C2A7540D219EF62700DF4209 /* conv2d_32.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_32.w_0; sourceTree = ""; }; - C2A7540E219EF62700DF4209 /* conv2d_26.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_26.w_0; sourceTree = ""; }; - C2A7540F219EF62700DF4209 /* batch_norm_16.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_16.b_0; sourceTree = ""; }; - C2A75410219EF62700DF4209 /* batch_norm_19.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_19.w_2; sourceTree = ""; }; - C2A75411219EF62700DF4209 /* batch_norm_25.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_25.w_2; sourceTree = ""; }; - C2A75412219EF62700DF4209 /* batch_norm_31.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_31.w_2; sourceTree = ""; }; - C2A75413219EF62700DF4209 /* batch_norm_8.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_8.w_1; sourceTree = ""; }; - C2A75414219EF62700DF4209 /* batch_norm_9.w_1 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_9.w_1; sourceTree = ""; }; - C2A75415219EF62700DF4209 /* batch_norm_30.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_30.w_2; sourceTree = ""; }; - C2A75416219EF62700DF4209 /* batch_norm_24.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_24.w_2; sourceTree = ""; }; - C2A75417219EF62700DF4209 /* batch_norm_18.w_2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_18.w_2; sourceTree = ""; }; - C2A75418219EF62700DF4209 /* batch_norm_17.b_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = batch_norm_17.b_0; sourceTree = ""; }; - C2A75419219EF62700DF4209 /* conv2d_27.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_27.w_0; sourceTree = ""; }; - C2A7541A219EF62700DF4209 /* conv2d_33.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = conv2d_33.w_0; sourceTree = ""; }; - C2A7541B219EF62700DF4209 /* depthwise_conv2d_7.w_0 */ = {isa = PBXFileReference; lastKnownFileType = file; path = depthwise_conv2d_7.w_0; sourceTree = ""; }; - C2A7541D219EF62700DF4209 /* ar_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = ar_model; sourceTree = ""; }; - C2A7541E219EF62700DF4209 /* ar_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = ar_params; sourceTree = ""; }; - C2E339FB217EB80E0097FDD6 /* synset.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = synset.txt; sourceTree = ""; }; - C2E339FC217EB80E0097FDD6 /* banana.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = banana.jpeg; sourceTree = ""; }; - C2E339FD217EB80E0097FDD6 /* hand.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = hand.jpg; sourceTree = ""; }; - C2E339FE217EB80E0097FDD6 /* iphone.JPG */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = iphone.JPG; sourceTree = ""; }; - C2E339FF217EB80E0097FDD6 /* paddle-mobile.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "paddle-mobile.png"; sourceTree = ""; }; C2E67E5C21524E460013F575 /* LoadPointerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoadPointerViewController.h; sourceTree = ""; }; C2E67E5D21524E460013F575 /* LoadPointerViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoadPointerViewController.m; sourceTree = ""; }; FC013927210204A3008100E3 /* PreProcessKernel.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = PreProcessKernel.metal; sourceTree = ""; }; @@ -502,6 +57,11 @@ FC039B8820E11C560081E9F8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; FC039B8B20E11C560081E9F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; FC039B8D20E11C560081E9F8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + FC203FA921CBFDBA00B37166 /* test.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = test.jpg; sourceTree = ""; }; + FC203FAD21CBFDBA00B37166 /* combined_mobilenet_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = combined_mobilenet_params; sourceTree = ""; }; + FC203FAE21CBFDBA00B37166 /* combined_mobilenet_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = combined_mobilenet_model; sourceTree = ""; }; + FC203FB021CBFDBA00B37166 /* yolo_params */ = {isa = PBXFileReference; lastKnownFileType = file; path = yolo_params; sourceTree = ""; }; + FC203FB121CBFDBA00B37166 /* yolo_model */ = {isa = PBXFileReference; lastKnownFileType = file; path = yolo_model; sourceTree = ""; }; FC27991121343A39000B6BAD /* paddle-mobile-demo-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "paddle-mobile-demo-Bridging-Header.h"; sourceTree = ""; }; 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 = ""; }; @@ -543,373 +103,91 @@ name = Frameworks; sourceTree = ""; }; - C2A75337219EF62700DF4209 /* models */ = { - isa = PBXGroup; - children = ( - C2A75338219EF62700DF4209 /* mobilenet */, - C2A7533B219EF62700DF4209 /* yolo_combined */, - C2A75342219EF62700DF4209 /* genet */, - C2A75345219EF62700DF4209 /* superresoltion */, - C2A75348219EF62700DF4209 /* mobilenet_ssd_hand */, - C2A7534B219EF62700DF4209 /* yolo */, - C2A75350219EF62700DF4209 /* mobilenet_combine */, - C2A75353219EF62700DF4209 /* mobilenetssd */, - C2A7541C219EF62700DF4209 /* fluid_fssd_new_ar */, - ); - path = models; - sourceTree = ""; - }; - C2A75338219EF62700DF4209 /* mobilenet */ = { + FC039B7520E11C550081E9F8 = { isa = PBXGroup; children = ( - C2A75339219EF62700DF4209 /* params */, - C2A7533A219EF62700DF4209 /* model */, + FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */, + FC039B8020E11C550081E9F8 /* paddle-mobile-demo */, + FC039B7F20E11C550081E9F8 /* Products */, + 5722B50FEC38F55CA9B6A57B /* Pods */, + 7B7DED984E9EE7BFB45E24E8 /* Frameworks */, ); - path = mobilenet; sourceTree = ""; }; - C2A7533B219EF62700DF4209 /* yolo_combined */ = { + FC039B7F20E11C550081E9F8 /* Products */ = { isa = PBXGroup; children = ( - C2A7533C219EF62700DF4209 /* mobilenet */, - C2A7533F219EF62700DF4209 /* yolo */, + FC039B7E20E11C550081E9F8 /* paddle-mobile-demo.app */, ); - path = yolo_combined; + name = Products; sourceTree = ""; }; - C2A7533C219EF62700DF4209 /* mobilenet */ = { + FC039B8020E11C550081E9F8 /* paddle-mobile-demo */ = { isa = PBXGroup; children = ( - C2A7533D219EF62700DF4209 /* combined_mobilenet_params */, - C2A7533E219EF62700DF4209 /* combined_mobilenet_model */, + FC203FA821CBFDBA00B37166 /* images */, + FC203FAA21CBFDBA00B37166 /* models */, + 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; + path = "paddle-mobile-demo"; sourceTree = ""; }; - C2A7533F219EF62700DF4209 /* yolo */ = { + FC203FA821CBFDBA00B37166 /* images */ = { isa = PBXGroup; children = ( - C2A75340219EF62700DF4209 /* yolo_params */, - C2A75341219EF62700DF4209 /* yolo_model */, + FC203FA921CBFDBA00B37166 /* test.jpg */, ); - path = yolo; + name = images; + path = ../../images; sourceTree = ""; }; - C2A75342219EF62700DF4209 /* genet */ = { + FC203FAA21CBFDBA00B37166 /* models */ = { isa = PBXGroup; children = ( - C2A75343219EF62700DF4209 /* genet_params */, - C2A75344219EF62700DF4209 /* genet_model */, + FC203FAB21CBFDBA00B37166 /* vision_model */, ); - path = genet; + name = models; + path = ../../models; sourceTree = ""; }; - C2A75345219EF62700DF4209 /* superresoltion */ = { + FC203FAB21CBFDBA00B37166 /* vision_model */ = { isa = PBXGroup; children = ( - C2A75346219EF62700DF4209 /* superresoltion_params */, - C2A75347219EF62700DF4209 /* superresoltion_model */, + FC203FAC21CBFDBA00B37166 /* mobilenet */, + FC203FAF21CBFDBA00B37166 /* yolo */, ); - path = superresoltion; + path = vision_model; sourceTree = ""; }; - C2A75348219EF62700DF4209 /* mobilenet_ssd_hand */ = { + FC203FAC21CBFDBA00B37166 /* mobilenet */ = { isa = PBXGroup; children = ( - C2A75349219EF62700DF4209 /* ssd_hand_params */, - C2A7534A219EF62700DF4209 /* ssd_hand_model */, + FC203FAD21CBFDBA00B37166 /* combined_mobilenet_params */, + FC203FAE21CBFDBA00B37166 /* combined_mobilenet_model */, ); - path = mobilenet_ssd_hand; + path = mobilenet; sourceTree = ""; }; - C2A7534B219EF62700DF4209 /* yolo */ = { + FC203FAF21CBFDBA00B37166 /* yolo */ = { isa = PBXGroup; children = ( - C2A7534C219EF62700DF4209 /* mobilenet */, - C2A7534D219EF62700DF4209 /* params */, - C2A7534E219EF62700DF4209 /* model */, - C2A7534F219EF62700DF4209 /* yolo */, + FC203FB021CBFDBA00B37166 /* yolo_params */, + FC203FB121CBFDBA00B37166 /* yolo_model */, ); path = yolo; sourceTree = ""; }; - C2A75350219EF62700DF4209 /* mobilenet_combine */ = { - isa = PBXGroup; - children = ( - C2A75351219EF62700DF4209 /* params */, - C2A75352219EF62700DF4209 /* model */, - ); - path = mobilenet_combine; - sourceTree = ""; - }; - C2A75353219EF62700DF4209 /* mobilenetssd */ = { - isa = PBXGroup; - children = ( - C2A75354219EF62700DF4209 /* batch_norm_7.w_0 */, - C2A75355219EF62700DF4209 /* batch_norm_26.b_0 */, - C2A75356219EF62700DF4209 /* batch_norm_32.b_0 */, - C2A75357219EF62700DF4209 /* conv2d_16.w_0 */, - C2A75358219EF62700DF4209 /* batch_norm_15.w_2 */, - C2A75359219EF62700DF4209 /* batch_norm_29.w_2 */, - C2A7535A219EF62700DF4209 /* batch_norm_4.w_1 */, - C2A7535B219EF62700DF4209 /* batch_norm_5.w_1 */, - C2A7535C219EF62700DF4209 /* batch_norm_28.w_2 */, - C2A7535D219EF62700DF4209 /* batch_norm_14.w_2 */, - C2A7535E219EF62700DF4209 /* conv2d_17.w_0 */, - C2A7535F219EF62700DF4209 /* batch_norm_33.b_0 */, - C2A75360219EF62700DF4209 /* batch_norm_27.b_0 */, - C2A75361219EF62700DF4209 /* batch_norm_6.w_0 */, - C2A75362219EF62700DF4209 /* batch_norm_4.w_0 */, - C2A75363219EF62700DF4209 /* depthwise_conv2d_9.w_0 */, - C2A75364219EF62700DF4209 /* batch_norm_31.b_0 */, - C2A75365219EF62700DF4209 /* conv2d_29.w_0 */, - C2A75366219EF62700DF4209 /* batch_norm_25.b_0 */, - C2A75367219EF62700DF4209 /* conv2d_15.w_0 */, - C2A75368219EF62700DF4209 /* batch_norm_19.b_0 */, - C2A75369219EF62700DF4209 /* batch_norm_16.w_2 */, - C2A7536A219EF62700DF4209 /* __model__ */, - C2A7536B219EF62700DF4209 /* batch_norm_7.w_1 */, - C2A7536C219EF62700DF4209 /* batch_norm_6.w_1 */, - C2A7536D219EF62700DF4209 /* batch_norm_17.w_2 */, - C2A7536E219EF62700DF4209 /* conv2d_14.w_0 */, - C2A7536F219EF62700DF4209 /* batch_norm_18.b_0 */, - C2A75370219EF62700DF4209 /* conv2d_28.w_0 */, - C2A75371219EF62700DF4209 /* batch_norm_24.b_0 */, - C2A75372219EF62700DF4209 /* batch_norm_30.b_0 */, - C2A75373219EF62700DF4209 /* depthwise_conv2d_8.w_0 */, - C2A75374219EF62700DF4209 /* batch_norm_5.w_0 */, - C2A75375219EF62700DF4209 /* batch_norm_1.w_0 */, - C2A75376219EF62700DF4209 /* conv2d_10.w_0 */, - C2A75377219EF62700DF4209 /* batch_norm_34.b_0 */, - C2A75378219EF62700DF4209 /* batch_norm_20.b_0 */, - C2A75379219EF62700DF4209 /* batch_norm_13.w_2 */, - C2A7537A219EF62700DF4209 /* batch_norm_2.w_1 */, - C2A7537B219EF62700DF4209 /* batch_norm_3.w_1 */, - C2A7537C219EF62700DF4209 /* batch_norm_12.w_2 */, - C2A7537D219EF62700DF4209 /* batch_norm_21.b_0 */, - C2A7537E219EF62700DF4209 /* conv2d_11.w_0 */, - C2A7537F219EF62700DF4209 /* batch_norm_0.w_0 */, - C2A75380219EF62700DF4209 /* batch_norm_2.w_0 */, - C2A75381219EF62700DF4209 /* conv2d_13.w_0 */, - C2A75382219EF62700DF4209 /* batch_norm_23.b_0 */, - C2A75383219EF62700DF4209 /* batch_norm_10.w_2 */, - C2A75384219EF62700DF4209 /* batch_norm_1.w_1 */, - C2A75385219EF62700DF4209 /* batch_norm_0.w_1 */, - C2A75386219EF62700DF4209 /* batch_norm_11.w_2 */, - C2A75387219EF62700DF4209 /* batch_norm_22.b_0 */, - C2A75388219EF62700DF4209 /* conv2d_12.w_0 */, - C2A75389219EF62700DF4209 /* batch_norm_3.w_0 */, - C2A7538A219EF62700DF4209 /* batch_norm_21.w_1 */, - C2A7538B219EF62700DF4209 /* batch_norm_3.b_0 */, - C2A7538C219EF62700DF4209 /* batch_norm_22.w_0 */, - C2A7538D219EF62700DF4209 /* batch_norm_23.w_0 */, - C2A7538E219EF62700DF4209 /* batch_norm_2.b_0 */, - C2A7538F219EF62700DF4209 /* batch_norm_20.w_1 */, - C2A75390219EF62700DF4209 /* batch_norm_34.w_1 */, - C2A75391219EF62700DF4209 /* batch_norm_22.w_1 */, - C2A75392219EF62700DF4209 /* batch_norm_0.b_0 */, - C2A75393219EF62700DF4209 /* batch_norm_21.w_0 */, - C2A75394219EF62700DF4209 /* batch_norm_20.w_0 */, - C2A75395219EF62700DF4209 /* batch_norm_34.w_0 */, - C2A75396219EF62700DF4209 /* batch_norm_1.b_0 */, - C2A75397219EF62700DF4209 /* batch_norm_23.w_1 */, - C2A75398219EF62700DF4209 /* batch_norm_27.w_1 */, - C2A75399219EF62700DF4209 /* batch_norm_33.w_1 */, - C2A7539A219EF62700DF4209 /* batch_norm_5.b_0 */, - C2A7539B219EF62700DF4209 /* batch_norm_18.w_0 */, - C2A7539C219EF62700DF4209 /* batch_norm_30.w_0 */, - C2A7539D219EF62700DF4209 /* batch_norm_24.w_0 */, - C2A7539E219EF62700DF4209 /* conv2d_28.b_0 */, - C2A7539F219EF62700DF4209 /* batch_norm_25.w_0 */, - C2A753A0219EF62700DF4209 /* conv2d_29.b_0 */, - C2A753A1219EF62700DF4209 /* batch_norm_31.w_0 */, - C2A753A2219EF62700DF4209 /* batch_norm_19.w_0 */, - C2A753A3219EF62700DF4209 /* batch_norm_4.b_0 */, - C2A753A4219EF62700DF4209 /* batch_norm_32.w_1 */, - C2A753A5219EF62700DF4209 /* batch_norm_26.w_1 */, - C2A753A6219EF62700DF4209 /* batch_norm_30.w_1 */, - C2A753A7219EF62700DF4209 /* batch_norm_24.w_1 */, - C2A753A8219EF62700DF4209 /* batch_norm_18.w_1 */, - C2A753A9219EF62700DF4209 /* batch_norm_6.b_0 */, - C2A753AA219EF62700DF4209 /* batch_norm_9.w_2 */, - C2A753AB219EF62700DF4209 /* conv2d_8.w_0 */, - C2A753AC219EF62700DF4209 /* batch_norm_27.w_0 */, - C2A753AD219EF62700DF4209 /* batch_norm_33.w_0 */, - C2A753AE219EF62700DF4209 /* batch_norm_32.w_0 */, - C2A753AF219EF62700DF4209 /* conv2d_9.w_0 */, - C2A753B0219EF62700DF4209 /* batch_norm_26.w_0 */, - C2A753B1219EF62700DF4209 /* batch_norm_8.w_2 */, - C2A753B2219EF62700DF4209 /* batch_norm_7.b_0 */, - C2A753B3219EF62700DF4209 /* batch_norm_19.w_1 */, - C2A753B4219EF62700DF4209 /* batch_norm_25.w_1 */, - C2A753B5219EF62700DF4209 /* batch_norm_31.w_1 */, - C2A753B6219EF62700DF4209 /* batch_norm_28.w_1 */, - C2A753B7219EF62700DF4209 /* batch_norm_14.w_1 */, - C2A753B8219EF62700DF4209 /* batch_norm_5.w_2 */, - C2A753B9219EF62700DF4209 /* batch_norm_17.w_0 */, - C2A753BA219EF62700DF4209 /* conv2d_33.b_0 */, - C2A753BB219EF62700DF4209 /* conv2d_27.b_0 */, - C2A753BC219EF62700DF4209 /* conv2d_4.w_0 */, - C2A753BD219EF62700DF4209 /* conv2d_5.w_0 */, - C2A753BE219EF62700DF4209 /* conv2d_26.b_0 */, - C2A753BF219EF62700DF4209 /* conv2d_32.b_0 */, - C2A753C0219EF62700DF4209 /* batch_norm_16.w_0 */, - C2A753C1219EF62700DF4209 /* batch_norm_4.w_2 */, - C2A753C2219EF62700DF4209 /* batch_norm_15.w_1 */, - C2A753C3219EF62700DF4209 /* batch_norm_29.w_1 */, - C2A753C4219EF62700DF4209 /* batch_norm_17.w_1 */, - C2A753C5219EF62700DF4209 /* batch_norm_9.b_0 */, - C2A753C6219EF62700DF4209 /* batch_norm_6.w_2 */, - C2A753C7219EF62700DF4209 /* batch_norm_14.w_0 */, - C2A753C8219EF62700DF4209 /* batch_norm_28.w_0 */, - C2A753C9219EF62700DF4209 /* conv2d_24.b_0 */, - C2A753CA219EF62700DF4209 /* conv2d_7.w_0 */, - C2A753CB219EF62700DF4209 /* conv2d_30.b_0 */, - C2A753CC219EF62700DF4209 /* conv2d_31.b_0 */, - C2A753CD219EF62700DF4209 /* batch_norm_29.w_0 */, - C2A753CE219EF62700DF4209 /* conv2d_6.w_0 */, - C2A753CF219EF62700DF4209 /* conv2d_25.b_0 */, - C2A753D0219EF62700DF4209 /* batch_norm_15.w_0 */, - C2A753D1219EF62700DF4209 /* batch_norm_7.w_2 */, - C2A753D2219EF62700DF4209 /* batch_norm_8.b_0 */, - C2A753D3219EF62700DF4209 /* batch_norm_16.w_1 */, - C2A753D4219EF62700DF4209 /* batch_norm_12.w_1 */, - C2A753D5219EF62700DF4209 /* batch_norm_3.w_2 */, - C2A753D6219EF62700DF4209 /* conv2d_2.w_0 */, - C2A753D7219EF62700DF4209 /* batch_norm_11.w_0 */, - C2A753D8219EF62700DF4209 /* batch_norm_10.w_0 */, - C2A753D9219EF62700DF4209 /* conv2d_3.w_0 */, - C2A753DA219EF62700DF4209 /* batch_norm_2.w_2 */, - C2A753DB219EF62700DF4209 /* depthwise_conv2d_12.w_0 */, - C2A753DC219EF62700DF4209 /* batch_norm_13.w_1 */, - C2A753DD219EF62700DF4209 /* batch_norm_11.w_1 */, - C2A753DE219EF62700DF4209 /* depthwise_conv2d_10.w_0 */, - C2A753DF219EF62700DF4209 /* batch_norm_0.w_2 */, - C2A753E0219EF62700DF4209 /* conv2d_22.b_0 */, - C2A753E1219EF62700DF4209 /* conv2d_1.w_0 */, - C2A753E2219EF62700DF4209 /* batch_norm_12.w_0 */, - C2A753E3219EF62700DF4209 /* batch_norm_13.w_0 */, - C2A753E4219EF62700DF4209 /* conv2d_0.w_0 */, - C2A753E5219EF62700DF4209 /* conv2d_23.b_0 */, - C2A753E6219EF62700DF4209 /* batch_norm_1.w_2 */, - C2A753E7219EF62700DF4209 /* batch_norm_10.w_1 */, - C2A753E8219EF62700DF4209 /* depthwise_conv2d_11.w_0 */, - C2A753E9219EF62700DF4209 /* depthwise_conv2d_3.w_0 */, - C2A753EA219EF62700DF4209 /* batch_norm_13.b_0 */, - C2A753EB219EF62700DF4209 /* conv2d_23.w_0 */, - C2A753EC219EF62700DF4209 /* batch_norm_20.w_2 */, - C2A753ED219EF62700DF4209 /* batch_norm_34.w_2 */, - C2A753EE219EF62700DF4209 /* batch_norm_21.w_2 */, - C2A753EF219EF62700DF4209 /* conv2d_22.w_0 */, - C2A753F0219EF62700DF4209 /* batch_norm_12.b_0 */, - C2A753F1219EF62700DF4209 /* depthwise_conv2d_2.w_0 */, - C2A753F2219EF62700DF4209 /* depthwise_conv2d_0.w_0 */, - C2A753F3219EF62700DF4209 /* batch_norm_10.b_0 */, - C2A753F4219EF62700DF4209 /* conv2d_20.w_0 */, - C2A753F5219EF62700DF4209 /* batch_norm_23.w_2 */, - C2A753F6219EF62700DF4209 /* batch_norm_22.w_2 */, - C2A753F7219EF62700DF4209 /* conv2d_21.w_0 */, - C2A753F8219EF62700DF4209 /* batch_norm_11.b_0 */, - C2A753F9219EF62700DF4209 /* depthwise_conv2d_1.w_0 */, - C2A753FA219EF62700DF4209 /* depthwise_conv2d_5.w_0 */, - C2A753FB219EF62700DF4209 /* batch_norm_8.w_0 */, - C2A753FC219EF62700DF4209 /* conv2d_25.w_0 */, - C2A753FD219EF62700DF4209 /* batch_norm_29.b_0 */, - C2A753FE219EF62700DF4209 /* conv2d_31.w_0 */, - C2A753FF219EF62700DF4209 /* conv2d_19.w_0 */, - C2A75400219EF62700DF4209 /* batch_norm_15.b_0 */, - C2A75401219EF62700DF4209 /* batch_norm_32.w_2 */, - C2A75402219EF62700DF4209 /* batch_norm_26.w_2 */, - C2A75403219EF62700DF4209 /* batch_norm_27.w_2 */, - C2A75404219EF62700DF4209 /* batch_norm_33.w_2 */, - C2A75405219EF62700DF4209 /* conv2d_18.w_0 */, - C2A75406219EF62700DF4209 /* batch_norm_14.b_0 */, - C2A75407219EF62700DF4209 /* conv2d_30.w_0 */, - C2A75408219EF62700DF4209 /* conv2d_24.w_0 */, - C2A75409219EF62700DF4209 /* batch_norm_28.b_0 */, - C2A7540A219EF62700DF4209 /* batch_norm_9.w_0 */, - C2A7540B219EF62700DF4209 /* depthwise_conv2d_4.w_0 */, - C2A7540C219EF62700DF4209 /* depthwise_conv2d_6.w_0 */, - C2A7540D219EF62700DF4209 /* conv2d_32.w_0 */, - C2A7540E219EF62700DF4209 /* conv2d_26.w_0 */, - C2A7540F219EF62700DF4209 /* batch_norm_16.b_0 */, - C2A75410219EF62700DF4209 /* batch_norm_19.w_2 */, - C2A75411219EF62700DF4209 /* batch_norm_25.w_2 */, - C2A75412219EF62700DF4209 /* batch_norm_31.w_2 */, - C2A75413219EF62700DF4209 /* batch_norm_8.w_1 */, - C2A75414219EF62700DF4209 /* batch_norm_9.w_1 */, - C2A75415219EF62700DF4209 /* batch_norm_30.w_2 */, - C2A75416219EF62700DF4209 /* batch_norm_24.w_2 */, - C2A75417219EF62700DF4209 /* batch_norm_18.w_2 */, - C2A75418219EF62700DF4209 /* batch_norm_17.b_0 */, - C2A75419219EF62700DF4209 /* conv2d_27.w_0 */, - C2A7541A219EF62700DF4209 /* conv2d_33.w_0 */, - C2A7541B219EF62700DF4209 /* depthwise_conv2d_7.w_0 */, - ); - path = mobilenetssd; - sourceTree = ""; - }; - C2A7541C219EF62700DF4209 /* fluid_fssd_new_ar */ = { - isa = PBXGroup; - children = ( - C2A7541D219EF62700DF4209 /* ar_model */, - C2A7541E219EF62700DF4209 /* ar_params */, - ); - path = fluid_fssd_new_ar; - sourceTree = ""; - }; - C2E339FA217EB80E0097FDD6 /* images */ = { - isa = PBXGroup; - children = ( - C2E339FB217EB80E0097FDD6 /* synset.txt */, - C2E339FC217EB80E0097FDD6 /* banana.jpeg */, - C2E339FD217EB80E0097FDD6 /* hand.jpg */, - C2E339FE217EB80E0097FDD6 /* iphone.JPG */, - C2E339FF217EB80E0097FDD6 /* paddle-mobile.png */, - ); - path = images; - sourceTree = ""; - }; - FC039B7520E11C550081E9F8 = { - isa = PBXGroup; - children = ( - FCEBEC2B20E1391F00C0B14D /* paddle_mobile.framework */, - FC039B8020E11C550081E9F8 /* paddle-mobile-demo */, - FC039B7F20E11C550081E9F8 /* Products */, - 5722B50FEC38F55CA9B6A57B /* Pods */, - 7B7DED984E9EE7BFB45E24E8 /* Frameworks */, - ); - sourceTree = ""; - }; - FC039B7F20E11C550081E9F8 /* Products */ = { - isa = PBXGroup; - children = ( - FC039B7E20E11C550081E9F8 /* paddle-mobile-demo.app */, - ); - name = Products; - sourceTree = ""; - }; - FC039B8020E11C550081E9F8 /* paddle-mobile-demo */ = { - isa = PBXGroup; - children = ( - C2A75337219EF62700DF4209 /* models */, - C2E339FA217EB80E0097FDD6 /* 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 = "paddle-mobile-demo"; - sourceTree = ""; - }; FC803BCA214D27920094B8E5 /* VideoCapture */ = { isa = PBXGroup; children = ( @@ -990,234 +268,14 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - C2A754A5219EF62800DF4209 /* batch_norm_28.w_0 in Resources */, - C2A75435219EF62800DF4209 /* batch_norm_15.w_2 in Resources */, - C2A754B9219EF62800DF4209 /* batch_norm_13.w_1 in Resources */, - C2A75471219EF62800DF4209 /* batch_norm_20.w_0 in Resources */, - C2A754C1219EF62800DF4209 /* conv2d_0.w_0 in Resources */, - C2A754F0219EF62800DF4209 /* batch_norm_8.w_1 in Resources */, - C2A754BE219EF62800DF4209 /* conv2d_1.w_0 in Resources */, - C2A75463219EF62800DF4209 /* batch_norm_11.w_2 in Resources */, - C2A754F5219EF62800DF4209 /* batch_norm_17.b_0 in Resources */, - C2A75465219EF62800DF4209 /* conv2d_12.w_0 in Resources */, FC039B8C20E11C560081E9F8 /* LaunchScreen.storyboard in Resources */, - C2A75494219EF62800DF4209 /* batch_norm_14.w_1 in Resources */, - C2A7547E219EF62800DF4209 /* batch_norm_31.w_0 in Resources */, - C2A75440219EF62800DF4209 /* depthwise_conv2d_9.w_0 in Resources */, - C2A754CC219EF62800DF4209 /* conv2d_22.w_0 in Resources */, - C2A754E7219EF62800DF4209 /* batch_norm_9.w_0 in Resources */, - C2A75438219EF62800DF4209 /* batch_norm_5.w_1 in Resources */, - C2A75481219EF62800DF4209 /* batch_norm_32.w_1 in Resources */, - C2A75424219EF62800DF4209 /* yolo_model in Resources */, - C2A7549D219EF62800DF4209 /* batch_norm_16.w_0 in Resources */, - C2A754D3219EF62800DF4209 /* batch_norm_22.w_2 in Resources */, - C2A754F6219EF62800DF4209 /* conv2d_27.w_0 in Resources */, - C2A75476219EF62800DF4209 /* batch_norm_33.w_1 in Resources */, - C2A754AB219EF62800DF4209 /* conv2d_6.w_0 in Resources */, - C2A75452219EF62800DF4209 /* batch_norm_1.w_0 in Resources */, - C2A7544C219EF62800DF4209 /* batch_norm_18.b_0 in Resources */, - C2A75461219EF62800DF4209 /* batch_norm_1.w_1 in Resources */, - C2A75428219EF62800DF4209 /* superresoltion_model in Resources */, - C2A7545E219EF62800DF4209 /* conv2d_13.w_0 in Resources */, - C2E33ADF217EB80E0097FDD6 /* banana.jpeg in Resources */, - C2A7541F219EF62800DF4209 /* params in Resources */, - C2A75468219EF62800DF4209 /* batch_norm_3.b_0 in Resources */, - C2A75469219EF62800DF4209 /* batch_norm_22.w_0 in Resources */, - C2A75425219EF62800DF4209 /* genet_params in Resources */, - C2A754B0219EF62800DF4209 /* batch_norm_16.w_1 in Resources */, - C2A754AE219EF62800DF4209 /* batch_norm_7.w_2 in Resources */, - C2A754F2219EF62800DF4209 /* batch_norm_30.w_2 in Resources */, - C2A7543D219EF62800DF4209 /* batch_norm_27.b_0 in Resources */, - C2A7547C219EF62800DF4209 /* batch_norm_25.w_0 in Resources */, - C2A754D5219EF62800DF4209 /* batch_norm_11.b_0 in Resources */, - C2A75483219EF62800DF4209 /* batch_norm_30.w_1 in Resources */, - C2A754B6219EF62800DF4209 /* conv2d_3.w_0 in Resources */, - C2A75437219EF62800DF4209 /* batch_norm_4.w_1 in Resources */, - C2A754E5219EF62800DF4209 /* conv2d_24.w_0 in Resources */, - C2A75473219EF62800DF4209 /* batch_norm_1.b_0 in Resources */, - C2A754A6219EF62800DF4209 /* conv2d_24.b_0 in Resources */, - C2A7545F219EF62800DF4209 /* batch_norm_23.b_0 in Resources */, - C2A75482219EF62800DF4209 /* batch_norm_26.w_1 in Resources */, - C2A75427219EF62800DF4209 /* superresoltion_params in Resources */, - C2A7542E219EF62800DF4209 /* yolo in Resources */, - C2A75445219EF62800DF4209 /* batch_norm_19.b_0 in Resources */, - C2A75464219EF62800DF4209 /* batch_norm_22.b_0 in Resources */, - C2A754EF219EF62800DF4209 /* batch_norm_31.w_2 in Resources */, - C2A754F7219EF62800DF4209 /* conv2d_33.w_0 in Resources */, - C2A75421219EF62800DF4209 /* combined_mobilenet_params in Resources */, - C2A754C7219EF62800DF4209 /* batch_norm_13.b_0 in Resources */, - C2A75487219EF62800DF4209 /* batch_norm_9.w_2 in Resources */, - C2A75454219EF62800DF4209 /* batch_norm_34.b_0 in Resources */, - C2A754AF219EF62800DF4209 /* batch_norm_8.b_0 in Resources */, - C2A75480219EF62800DF4209 /* batch_norm_4.b_0 in Resources */, - C2A75479219EF62800DF4209 /* batch_norm_30.w_0 in Resources */, - C2A75470219EF62800DF4209 /* batch_norm_21.w_0 in Resources */, + FC203FB421CBFDBA00B37166 /* combined_mobilenet_model in Resources */, + FC203FB321CBFDBA00B37166 /* combined_mobilenet_params in Resources */, FC039B8920E11C560081E9F8 /* Assets.xcassets in Resources */, - C2A7549A219EF62800DF4209 /* conv2d_5.w_0 in Resources */, - C2A7542F219EF62800DF4209 /* params in Resources */, - C2A754F4219EF62800DF4209 /* batch_norm_18.w_2 in Resources */, - C2A75496219EF62800DF4209 /* batch_norm_17.w_0 in Resources */, - C2A754D4219EF62800DF4209 /* conv2d_21.w_0 in Resources */, - C2E33AE2217EB80E0097FDD6 /* paddle-mobile.png in Resources */, - C2A754D8219EF62800DF4209 /* batch_norm_8.w_0 in Resources */, - C2A75447219EF62800DF4209 /* __model__ in Resources */, - C2A75432219EF62800DF4209 /* batch_norm_26.b_0 in Resources */, - C2A7547D219EF62800DF4209 /* conv2d_29.b_0 in Resources */, - C2A75436219EF62800DF4209 /* batch_norm_29.w_2 in Resources */, - C2A75497219EF62800DF4209 /* conv2d_33.b_0 in Resources */, - C2A754B5219EF62800DF4209 /* batch_norm_10.w_0 in Resources */, - C2A75493219EF62800DF4209 /* batch_norm_28.w_1 in Resources */, - C2A754A3219EF62800DF4209 /* batch_norm_6.w_2 in Resources */, - C2A754CB219EF62800DF4209 /* batch_norm_21.w_2 in Resources */, - C2E33AE1217EB80E0097FDD6 /* iphone.JPG in Resources */, - C2A754A7219EF62800DF4209 /* conv2d_7.w_0 in Resources */, - C2A754B7219EF62800DF4209 /* batch_norm_2.w_2 in Resources */, - C2A75450219EF62800DF4209 /* depthwise_conv2d_8.w_0 in Resources */, - C2A754ED219EF62800DF4209 /* batch_norm_19.w_2 in Resources */, - C2A75477219EF62800DF4209 /* batch_norm_5.b_0 in Resources */, - C2A754C6219EF62800DF4209 /* depthwise_conv2d_3.w_0 in Resources */, - C2A7542B219EF62800DF4209 /* mobilenet in Resources */, - C2A754C5219EF62800DF4209 /* depthwise_conv2d_11.w_0 in Resources */, - C2A7544A219EF62800DF4209 /* batch_norm_17.w_2 in Resources */, - C2A754E4219EF62800DF4209 /* conv2d_30.w_0 in Resources */, - C2A754AA219EF62800DF4209 /* batch_norm_29.w_0 in Resources */, - C2A754C4219EF62800DF4209 /* batch_norm_10.w_1 in Resources */, - C2A754AC219EF62800DF4209 /* conv2d_25.b_0 in Resources */, - C2A75490219EF62800DF4209 /* batch_norm_19.w_1 in Resources */, - C2A754F8219EF62800DF4209 /* depthwise_conv2d_7.w_0 in Resources */, - C2A754D6219EF62800DF4209 /* depthwise_conv2d_1.w_0 in Resources */, - C2A754B1219EF62800DF4209 /* batch_norm_12.w_1 in Resources */, - C2A75495219EF62800DF4209 /* batch_norm_5.w_2 in Resources */, - C2A75458219EF62800DF4209 /* batch_norm_3.w_1 in Resources */, - C2A7549C219EF62800DF4209 /* conv2d_32.b_0 in Resources */, - C2A754E8219EF62800DF4209 /* depthwise_conv2d_4.w_0 in Resources */, - C2A7548A219EF62800DF4209 /* batch_norm_33.w_0 in Resources */, - C2A75491219EF62800DF4209 /* batch_norm_25.w_1 in Resources */, - C2A75466219EF62800DF4209 /* batch_norm_3.w_0 in Resources */, - C2A75474219EF62800DF4209 /* batch_norm_23.w_1 in Resources */, - C2A7546A219EF62800DF4209 /* batch_norm_23.w_0 in Resources */, - C2A754E3219EF62800DF4209 /* batch_norm_14.b_0 in Resources */, - C2A75429219EF62800DF4209 /* ssd_hand_params in Resources */, - C2A754D7219EF62800DF4209 /* depthwise_conv2d_5.w_0 in Resources */, - C2A754B3219EF62800DF4209 /* conv2d_2.w_0 in Resources */, - C2A7547F219EF62800DF4209 /* batch_norm_19.w_0 in Resources */, - C2A75455219EF62800DF4209 /* batch_norm_20.b_0 in Resources */, - C2A754BC219EF62800DF4209 /* batch_norm_0.w_2 in Resources */, - C2A754BF219EF62800DF4209 /* batch_norm_12.w_0 in Resources */, - C2A7547B219EF62800DF4209 /* conv2d_28.b_0 in Resources */, - C2A7545D219EF62800DF4209 /* batch_norm_2.w_0 in Resources */, - C2A754D1219EF62800DF4209 /* conv2d_20.w_0 in Resources */, - C2A75472219EF62800DF4209 /* batch_norm_34.w_0 in Resources */, - C2A754DF219EF62800DF4209 /* batch_norm_26.w_2 in Resources */, - C2A754D9219EF62800DF4209 /* conv2d_25.w_0 in Resources */, - C2A7543A219EF62800DF4209 /* batch_norm_14.w_2 in Resources */, - C2A75488219EF62800DF4209 /* conv2d_8.w_0 in Resources */, - C2A75422219EF62800DF4209 /* combined_mobilenet_model in Resources */, - C2A75441219EF62800DF4209 /* batch_norm_31.b_0 in Resources */, - C2A75446219EF62800DF4209 /* batch_norm_16.w_2 in Resources */, - C2A754E9219EF62800DF4209 /* depthwise_conv2d_6.w_0 in Resources */, - C2A7545B219EF62800DF4209 /* conv2d_11.w_0 in Resources */, - C2A754F9219EF62800DF4209 /* ar_model in Resources */, - C2A7547A219EF62800DF4209 /* batch_norm_24.w_0 in Resources */, - C2A7548D219EF62800DF4209 /* batch_norm_26.w_0 in Resources */, - C2A754B4219EF62800DF4209 /* batch_norm_11.w_0 in Resources */, - C2A7545A219EF62800DF4209 /* batch_norm_21.b_0 in Resources */, - C2A75434219EF62800DF4209 /* conv2d_16.w_0 in Resources */, - C2A75444219EF62800DF4209 /* conv2d_15.w_0 in Resources */, - C2A754E0219EF62800DF4209 /* batch_norm_27.w_2 in Resources */, - C2A75492219EF62800DF4209 /* batch_norm_31.w_1 in Resources */, - C2A754BA219EF62800DF4209 /* batch_norm_11.w_1 in Resources */, - C2A754DA219EF62800DF4209 /* batch_norm_29.b_0 in Resources */, - C2A7546D219EF62800DF4209 /* batch_norm_34.w_1 in Resources */, - C2A7549F219EF62800DF4209 /* batch_norm_15.w_1 in Resources */, - C2A754E1219EF62800DF4209 /* batch_norm_33.w_2 in Resources */, - C2A7543F219EF62800DF4209 /* batch_norm_4.w_0 in Resources */, - C2A7545C219EF62800DF4209 /* batch_norm_0.w_0 in Resources */, - C2A75499219EF62800DF4209 /* conv2d_4.w_0 in Resources */, - C2A75459219EF62800DF4209 /* batch_norm_12.w_2 in Resources */, - C2A754A0219EF62800DF4209 /* batch_norm_29.w_1 in Resources */, - C2A7543B219EF62800DF4209 /* conv2d_17.w_0 in Resources */, - C2A754A4219EF62800DF4209 /* batch_norm_14.w_0 in Resources */, - C2A7544E219EF62800DF4209 /* batch_norm_24.b_0 in Resources */, - C2A7546F219EF62800DF4209 /* batch_norm_0.b_0 in Resources */, - C2A754B2219EF62800DF4209 /* batch_norm_3.w_2 in Resources */, - C2A754AD219EF62800DF4209 /* batch_norm_15.w_0 in Resources */, - C2A754A8219EF62800DF4209 /* conv2d_30.b_0 in Resources */, - C2A75456219EF62800DF4209 /* batch_norm_13.w_2 in Resources */, - C2A75498219EF62800DF4209 /* conv2d_27.b_0 in Resources */, - C2A7544F219EF62800DF4209 /* batch_norm_30.b_0 in Resources */, - C2A7543C219EF62800DF4209 /* batch_norm_33.b_0 in Resources */, - C2A75420219EF62800DF4209 /* model in Resources */, - C2A7548F219EF62800DF4209 /* batch_norm_7.b_0 in Resources */, - C2A754CE219EF62800DF4209 /* depthwise_conv2d_2.w_0 in Resources */, - C2A754C8219EF62800DF4209 /* conv2d_23.w_0 in Resources */, - C2A7542A219EF62800DF4209 /* ssd_hand_model in Resources */, - C2A75485219EF62800DF4209 /* batch_norm_18.w_1 in Resources */, - C2A75486219EF62800DF4209 /* batch_norm_6.b_0 in Resources */, - C2A754A1219EF62800DF4209 /* batch_norm_17.w_1 in Resources */, - C2A75475219EF62800DF4209 /* batch_norm_27.w_1 in Resources */, - C2A7549B219EF62800DF4209 /* conv2d_26.b_0 in Resources */, - C2A75442219EF62800DF4209 /* conv2d_29.w_0 in Resources */, - C2A754C2219EF62800DF4209 /* conv2d_23.b_0 in Resources */, - C2A7546E219EF62800DF4209 /* batch_norm_22.w_1 in Resources */, - C2A7548C219EF62800DF4209 /* conv2d_9.w_0 in Resources */, - C2A754BB219EF62800DF4209 /* depthwise_conv2d_10.w_0 in Resources */, - C2A75433219EF62800DF4209 /* batch_norm_32.b_0 in Resources */, - C2A75453219EF62800DF4209 /* conv2d_10.w_0 in Resources */, - C2A754A9219EF62800DF4209 /* conv2d_31.b_0 in Resources */, - C2A754EA219EF62800DF4209 /* conv2d_32.w_0 in Resources */, - C2A754C3219EF62800DF4209 /* batch_norm_1.w_2 in Resources */, - C2A75457219EF62800DF4209 /* batch_norm_2.w_1 in Resources */, - C2A754CA219EF62800DF4209 /* batch_norm_34.w_2 in Resources */, - C2A754EE219EF62800DF4209 /* batch_norm_25.w_2 in Resources */, - C2A75462219EF62800DF4209 /* batch_norm_0.w_1 in Resources */, - C2A754DE219EF62800DF4209 /* batch_norm_32.w_2 in Resources */, - C2A754BD219EF62800DF4209 /* conv2d_22.b_0 in Resources */, - C2A754A2219EF62800DF4209 /* batch_norm_9.b_0 in Resources */, - C2A75430219EF62800DF4209 /* model in Resources */, - C2A7549E219EF62800DF4209 /* batch_norm_4.w_2 in Resources */, - C2A754C9219EF62800DF4209 /* batch_norm_20.w_2 in Resources */, - C2A754FA219EF62800DF4209 /* ar_params in Resources */, - C2A754EB219EF62800DF4209 /* conv2d_26.w_0 in Resources */, - C2A754CF219EF62800DF4209 /* depthwise_conv2d_0.w_0 in Resources */, - C2A75484219EF62800DF4209 /* batch_norm_24.w_1 in Resources */, - C2A7543E219EF62800DF4209 /* batch_norm_6.w_0 in Resources */, - C2A75489219EF62800DF4209 /* batch_norm_27.w_0 in Resources */, - C2A754EC219EF62800DF4209 /* batch_norm_16.b_0 in Resources */, - C2A754B8219EF62800DF4209 /* depthwise_conv2d_12.w_0 in Resources */, - C2A754D0219EF62800DF4209 /* batch_norm_10.b_0 in Resources */, - C2E33ADE217EB80E0097FDD6 /* synset.txt in Resources */, - C2A75431219EF62800DF4209 /* batch_norm_7.w_0 in Resources */, - C2A754F1219EF62800DF4209 /* batch_norm_9.w_1 in Resources */, - C2A75439219EF62800DF4209 /* batch_norm_28.w_2 in Resources */, - C2A75448219EF62800DF4209 /* batch_norm_7.w_1 in Resources */, - C2A75478219EF62800DF4209 /* batch_norm_18.w_0 in Resources */, - C2A75423219EF62800DF4209 /* yolo_params in Resources */, - C2A7542C219EF62800DF4209 /* params in Resources */, - C2E33AE0217EB80E0097FDD6 /* hand.jpg in Resources */, - C2A754DD219EF62800DF4209 /* batch_norm_15.b_0 in Resources */, - C2A7548B219EF62800DF4209 /* batch_norm_32.w_0 in Resources */, - C2A754E2219EF62800DF4209 /* conv2d_18.w_0 in Resources */, - C2A754D2219EF62800DF4209 /* batch_norm_23.w_2 in Resources */, - C2A7544D219EF62800DF4209 /* conv2d_28.w_0 in Resources */, - C2A754C0219EF62800DF4209 /* batch_norm_13.w_0 in Resources */, - C2A75443219EF62800DF4209 /* batch_norm_25.b_0 in Resources */, - C2A7542D219EF62800DF4209 /* model in Resources */, - C2A75426219EF62800DF4209 /* genet_model in Resources */, - C2A754CD219EF62800DF4209 /* batch_norm_12.b_0 in Resources */, - C2A7546C219EF62800DF4209 /* batch_norm_20.w_1 in Resources */, - C2A754DC219EF62800DF4209 /* conv2d_19.w_0 in Resources */, - C2A754E6219EF62800DF4209 /* batch_norm_28.b_0 in Resources */, - C2A75449219EF62800DF4209 /* batch_norm_6.w_1 in Resources */, + FC203FB521CBFDBA00B37166 /* yolo_params in Resources */, + FC203FB621CBFDBA00B37166 /* yolo_model in Resources */, FC039B8720E11C550081E9F8 /* Main.storyboard in Resources */, - C2A7548E219EF62800DF4209 /* batch_norm_8.w_2 in Resources */, - C2A75467219EF62800DF4209 /* batch_norm_21.w_1 in Resources */, - C2A754DB219EF62800DF4209 /* conv2d_31.w_0 in Resources */, - C2A754F3219EF62800DF4209 /* batch_norm_24.w_2 in Resources */, - C2A75451219EF62800DF4209 /* batch_norm_5.w_0 in Resources */, - C2A7546B219EF62800DF4209 /* batch_norm_2.b_0 in Resources */, - C2A75460219EF62800DF4209 /* batch_norm_10.w_2 in Resources */, - C2A7544B219EF62800DF4209 /* conv2d_14.w_0 in Resources */, + FC203FB221CBFDBA00B37166 /* test.jpg in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1422,7 +480,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 6K8JTBT3MF; + DEVELOPMENT_TEAM = A798K58VVL; ENABLE_BITCODE = NO; INFOPLIST_FILE = "paddle-mobile-demo/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; @@ -1449,7 +507,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 6K8JTBT3MF; + DEVELOPMENT_TEAM = A798K58VVL; ENABLE_BITCODE = NO; INFOPLIST_FILE = "paddle-mobile-demo/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; diff --git a/metal/paddle-mobile-demo/paddle-mobile-demo/ViewController.swift b/metal/paddle-mobile-demo/paddle-mobile-demo/ViewController.swift index 64a553f98ff15c47933bcbb79b867daeef9b43f8..1ffe5064c5f4e45ace51dc7b97c740575884cc41 100644 --- a/metal/paddle-mobile-demo/paddle-mobile-demo/ViewController.swift +++ b/metal/paddle-mobile-demo/paddle-mobile-demo/ViewController.swift @@ -175,19 +175,17 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() -// if runner.load() { -// print(" load success ! ") -// } else { -// print(" load error ! ") -// } -// modelPickerView.delegate = self modelPickerView.dataSource = self threadPickerView.delegate = self threadPickerView.dataSource = self + if let image = UIImage.init(named: "test.jpg") { + selectImage = image + selectImageView.image = image + } else { + print("请添加测试图片") + } - selectImage = UIImage.init(named: "hand.jpg") - selectImageView.image = selectImage // if platform == .CPU { // inputPointer = runner.preproccess(image: selectImage!.cgImage!) diff --git a/metal/paddle-mobile/paddle-mobile.xcodeproj/project.pbxproj b/metal/paddle-mobile/paddle-mobile.xcodeproj/project.pbxproj index 7cb488c448f997ccd8d06f75f36116f377fd05e6..98098d0b75a6c0715551855ddfe9e8925dc49184 100644 --- a/metal/paddle-mobile/paddle-mobile.xcodeproj/project.pbxproj +++ b/metal/paddle-mobile/paddle-mobile.xcodeproj/project.pbxproj @@ -902,8 +902,8 @@ baseConfigurationReference = CDF58151D902A1CBAE56A0C2 /* Pods-paddle-mobile.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; @@ -922,7 +922,7 @@ "$(inherited)", "$(PROJECT_DIR)/paddle-mobile/CPU", ); - MACH_O_TYPE = staticlib; + MACH_O_TYPE = mh_dylib; MTL_LANGUAGE_REVISION = UseDeploymentTarget; PRODUCT_BUNDLE_IDENTIFIER = "orange.paddle-mobile"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -939,8 +939,8 @@ baseConfigurationReference = E2A7957C92EDA5C3BEC0FFC2 /* Pods-paddle-mobile.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; @@ -959,7 +959,7 @@ "$(inherited)", "$(PROJECT_DIR)/paddle-mobile/CPU", ); - MACH_O_TYPE = staticlib; + MACH_O_TYPE = mh_dylib; MTL_LANGUAGE_REVISION = UseDeploymentTarget; PRODUCT_BUNDLE_IDENTIFIER = "orange.paddle-mobile"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; diff --git a/metal/paddle-mobile/paddle-mobile/Operators/Kernels/metal/FetchKernel.metal b/metal/paddle-mobile/paddle-mobile/Operators/Kernels/metal/FetchKernel.metal index b7d7028d46356e0dae21b352161de31b0820ff1a..c9d0624817d8508a3dae174e19a705b953d06101 100644 --- a/metal/paddle-mobile/paddle-mobile/Operators/Kernels/metal/FetchKernel.metal +++ b/metal/paddle-mobile/paddle-mobile/Operators/Kernels/metal/FetchKernel.metal @@ -31,8 +31,8 @@ kernel void fetch(texture2d_array inTexture [[texture(0)]], int output_to = 4 * input_width * input_height; output[gid.z * output_to + 0 * input_width * input_height + gid.y * input_width + gid.x] = input.x; output[gid.z * output_to + 1 * input_width * input_height + gid.y * input_width + gid.x] = input.y; -// output[gid.z * output_to + 2 * input_width * input_height + gid.y * input_width + gid.x] = input.z; -// output[gid.z * output_to + 3 * input_width * input_height + gid.y * input_width + gid.x] = input.w; + output[gid.z * output_to + 2 * input_width * input_height + gid.y * input_width + gid.x] = input.z; + output[gid.z * output_to + 3 * input_width * input_height + gid.y * input_width + gid.x] = input.w; } @@ -52,8 +52,8 @@ kernel void fetch_half(texture2d_array inTexture [[texture(0 int output_to = 4 * input_width * input_height; output[gid.z * output_to + 0 * input_width * input_height + gid.y * input_width + gid.x] = input.x; output[gid.z * output_to + 1 * input_width * input_height + gid.y * input_width + gid.x] = input.y; -// output[gid.z * output_to + 2 * input_width * input_height + gid.y * input_width + gid.x] = input.z; -// output[gid.z * output_to + 3 * input_width * input_height + gid.y * input_width + gid.x] = input.w; + output[gid.z * output_to + 2 * input_width * input_height + gid.y * input_width + gid.x] = input.z; + output[gid.z * output_to + 3 * input_width * input_height + gid.y * input_width + gid.x] = input.w; } diff --git a/src/io/ios_io/PaddleMobileCPU.h b/src/io/ios_io/PaddleMobileCPU.h index c68d81f328f4ce9a9bf16624f677b2996644c35c..d38da70247beb0e91b6c69d3c7a1c8bb407c128e 100644 --- a/src/io/ios_io/PaddleMobileCPU.h +++ b/src/io/ios_io/PaddleMobileCPU.h @@ -27,59 +27,119 @@ @end +@interface PaddleMobileCPUConfig: NSObject + +/** + @b 默认为 1, 多线程时, 建议设置为 2 + */ +@property (assign, nonatomic) int threadNum; + +/** + @b 是否开启运行时 infershape + */ +@property (assign, nonatomic) BOOL loddable; + +/** + @b 是否开启模型 op 融合优化 + */ +@property (assign, nonatomic) BOOL optimize; + +@end + @interface PaddleMobileCPU : NSObject -/* - 创建对象 -*/ -- (instancetype)init; +/** + @b 创建对象 -/* - load 模型, 开辟内存 -*/ -- (BOOL)load:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath; + @param config 配置 + @return paddlemobile CPU 对象 + */ +- (instancetype)initWithConfig:(PaddleMobileCPUConfig *)config; -/* - 加载散开形式的模型, 需传入模型的目录 -*/ +/** + @b 加载模型 + + @param modelPath 模型路径 + @param weighsPath 权重路径 + @return 是否加载成功 + */ +- (BOOL)loadModel:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath; + +/** + @b 加载散开形式的模型, 需传入模型的目录 + + @param modelAndWeightPath 模型和权重的路径 + @return 是否加载成功 + */ - (BOOL)load:(NSString *)modelAndWeightPath; -/* - * 从内存中加载模型 - * */ +/** + @b 从内存中加载模型 + + @param modelLen 模型大小(字节数) + @param modelBuf 模型在内存中的位置 + @param combinedParamsLen 权重大小(字节数) + @param combinedParamsBuf 权重在内存中的位置 + @return 是否加载成功 + */ - (BOOL)LoadCombinedMemory:(size_t)modelLen andModelBuf:(const uint8_t *)modelBuf andModelParamsLen:(size_t)combinedParamsLen andCombinedParamsBuf:(const uint8_t *)combinedParamsBuf; /* - * 对图像进行预处理, 需要外部开辟 output 内存, 外部释放 output 内存 + * * */ + + +/** + @b 对图像进行预处理, 需要外部开辟 output 内存, 外部释放 output 内存, 每一个像素经过这样的预处理 (x + means) * scale, 其中 x 为像素值 + + @param image 输入的图像 + @param output 预处理后的输出 + @param means 预处理中 means + @param scale 预处理中的 scale + @param dim 预处理后的维度 + */ -(void)preprocess:(CGImageRef)image output:(float *)output means:(NSArray *)means scale:(float)scale dim:(NSArray *)dim; -/* - * 预测预处理后的数据, 返回结果使用结束需要调用其 realseOutput 函数进行释放 - * */ +/** + 进行预测 + + @param input 输入 + @param dim 输入维度 + @return 输出结果 + */ - (PaddleMobileCPUResult *)predictInput:(float *)input dim:(NSArray *)dim; -/* - 进行预测, means 和 scale 为训练模型时的预处理参数, 如训练时没有做这些预处理则直接使用 predict -*/ -- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale; - -/* - 进行预测, 默认 means 为 0, scale 为 1.0 -*/ -- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim; - -/* - 清理内存 -*/ +/** + @b 进行预测, means 和 scale 为训练模型时的预处理参数, 如训练时没有做这些预处理则直接使用 predict, 每一个像素经过这样的预处理 (x + means) * scale, 其中 x 为像素值 + + @param image 输入图像 + @param dim 输入维度 + @param means 预处理中 means + @param scale 预处理中 scale + @return 预测结果 + */ +- (PaddleMobileCPUResult *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale; + +/** + 进行预测, 预处理 means 值为 0, scale 值为 1 + + @param image 输入图像 + @param dim 输入维度 + @return 预测结果 + */ +- (PaddleMobileCPUResult *)predict:(CGImageRef)image dim:(NSArray *)dim; + +/** + @b 清理内存 + */ - (void)clear; @end diff --git a/src/io/ios_io/PaddleMobileCPU.mm b/src/io/ios_io/PaddleMobileCPU.mm index 00b31423b81a98a753f587c09708291e75a2de08..de801292e225da4f1d21886bdc919c2a2fdcdd7c 100644 --- a/src/io/ios_io/PaddleMobileCPU.mm +++ b/src/io/ios_io/PaddleMobileCPU.mm @@ -45,21 +45,44 @@ @end +@implementation PaddleMobileCPUConfig + +-(instancetype)init { + if (self = [super init]) { + self.threadNum = 1; + self.optimize = YES; + } + return self; +} + +@end @interface PaddleMobileCPU() { paddle_mobile::PaddleMobile *pam_; BOOL loaded_; } + +@property (strong, nonatomic) PaddleMobileCPUConfig *config; + @end @implementation PaddleMobileCPU static std::mutex shared_mutex; -- (instancetype)init { +- (instancetype)initWithConfig:(PaddleMobileCPUConfig *)config { if (self = [super init]) { pam_ = new paddle_mobile::PaddleMobile(); + _config = config; + } + return self; +} + +-(instancetype)init { + if (self = [super init]) { + _config = [[PaddleMobileCPUConfig alloc] init]; + pam_ = new paddle_mobile::PaddleMobile(); } return self; } @@ -79,11 +102,11 @@ static std::mutex shared_mutex; return sharedManager; } -- (BOOL)load:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath{ +- (BOOL)loadModel:(NSString *)modelPath andWeightsPath:(NSString *)weighsPath { std::string model_path_str = std::string([modelPath UTF8String]); std::string weights_path_str = std::string([weighsPath UTF8String]); - pam_->SetThreadNum(2); - if (loaded_ = pam_->Load(model_path_str, weights_path_str, true)) { + pam_->SetThreadNum(self.config.threadNum); + if (loaded_ = pam_->Load(model_path_str, weights_path_str, self.config.optimize, false, 1, self.config.loddable)) { return YES; } else { return NO; @@ -94,14 +117,14 @@ static std::mutex shared_mutex; andModelBuf:(const uint8_t *)modelBuf andModelParamsLen:(size_t)combinedParamsLen andCombinedParamsBuf:(const uint8_t *)combinedParamsBuf { - pam_->SetThreadNum(2); + pam_->SetThreadNum(self.config.threadNum); return loaded_ = pam_->LoadCombinedMemory(modelLen, modelBuf, combinedParamsLen, - const_cast(combinedParamsBuf)); + const_cast(combinedParamsBuf), self.config.optimize, false, 1, self.config.loddable); } - (BOOL)load:(NSString *)modelAndWeightPath{ std::string model_path_str = std::string([modelAndWeightPath UTF8String]); - if (loaded_ = pam_->Load(model_path_str)) { + if (loaded_ = pam_->Load(model_path_str, self.config.optimize, false, 1, self.config.loddable)) { return YES; } else { return NO; @@ -116,6 +139,10 @@ static std::mutex shared_mutex; dim:(NSArray *)dim { std::lock_guard lock(shared_mutex); + if (means == nil) { + means = @[@0, @0, @0]; + } + // dim to c++ vector, get numel std::vector dim_vec; int numel = 1; @@ -235,7 +262,7 @@ static std::mutex shared_mutex; return cpuResult; } -- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale{ +- (PaddleMobileCPUResult *)predict:(CGImageRef)image dim:(NSArray *)dim means:(NSArray *)means scale:(float)scale{ // printf(" predict one "); std::lock_guard lock(shared_mutex); if (!loaded_) { @@ -284,28 +311,22 @@ static std::mutex shared_mutex; // predict std::vector cpp_result = pam_->Predict(predict_input, dim_vec); - // result - long count = 0; - count = cpp_result.size(); - NSMutableArray *result = [[NSMutableArray alloc] init]; - for (int i = 0; i < count; i++) { - [result addObject:[NSNumber numberWithFloat:cpp_result[i]]]; - } - + float *output_pointer = new float[cpp_result.size()]; + memcpy(output_pointer, cpp_result.data(), + cpp_result.size() * sizeof(float)); + PaddleMobileCPUResult *cpuResult = [[PaddleMobileCPUResult alloc] init]; + [cpuResult toSetOutput: output_pointer]; + [cpuResult toSetOutputSize: cpp_result.size()]; free(output); - - // 待验证 - // if ([UIDevice currentDevice].systemVersion.doubleValue < 11.0) { CFRelease(cfData); cfData = NULL; - // } - return result; + return cpuResult; } -- (NSArray *)predict:(CGImageRef)image dim:(NSArray *)dim { - [self predict:image dim:dim means:nil scale:1]; +- (PaddleMobileCPUResult *)predict:(CGImageRef)image dim:(NSArray *)dim { + return [self predict:image dim:dim means:nil scale:1]; } - (void)clear{ diff --git a/src/io/paddle_mobile.cpp b/src/io/paddle_mobile.cpp index bd27c219eab39c2218ed660899d327c7bbb56427..addaefad1466e7157a553bedbc869377723a9213 100644 --- a/src/io/paddle_mobile.cpp +++ b/src/io/paddle_mobile.cpp @@ -74,13 +74,10 @@ PMStatus PaddleMobile::Load(const std::string &model_path, } template -bool PaddleMobile::LoadCombinedMemory(size_t model_len, - const uint8_t *model_buf, - size_t combined_params_len, - uint8_t *combined_params_buf) { - int batch_size = 1; - bool optimise = true; - bool quantification = false; +bool PaddleMobile::LoadCombinedMemory( + size_t model_len, const uint8_t *model_buf, size_t combined_params_len, + uint8_t *combined_params_buf, bool optimize, bool quantification, + int batch_size, bool loddable) { if (loader_.get() == nullptr) { loader_ = std::make_shared>(); } else { @@ -89,9 +86,9 @@ bool PaddleMobile::LoadCombinedMemory(size_t model_len, if (executor_.get() == nullptr) { executor_ = std::make_shared>( loader_->LoadCombinedMemory(model_len, model_buf, combined_params_len, - combined_params_buf, optimise, + combined_params_buf, optimize, quantification), - batch_size, optimise); + batch_size, optimize, loddable); } else { LOG(kLOG_INFO) << "executor inited"; } diff --git a/src/io/paddle_mobile.h b/src/io/paddle_mobile.h index 2bbdccc95ea7871afd754faa059f239986ad7be1..b98da215eb4dac5af4e424461f6a233ccf33a612 100644 --- a/src/io/paddle_mobile.h +++ b/src/io/paddle_mobile.h @@ -73,7 +73,9 @@ class PaddleMobile { bool LoadCombinedMemory(size_t model_len, const uint8_t *model_buf, size_t combined_params_len, - uint8_t *combined_params_buf); + uint8_t *combined_params_buf, bool optimize = false, + bool quantification = false, int batch_size = 1, + bool loddable = false); void SetThreadNum(int count); void Clear(); diff --git a/src/operators/kernel/arm/conv_kernel.cpp b/src/operators/kernel/arm/conv_kernel.cpp index dc18c983bbbc104e11b91333868cc6479ed4c69b..1eba4cd3304b945a09c2f48131abe24f5c07ab07 100644 --- a/src/operators/kernel/arm/conv_kernel.cpp +++ b/src/operators/kernel/arm/conv_kernel.cpp @@ -77,15 +77,15 @@ void ConvKernel::Compute(const ConvParam ¶m) { break; case ConvParam::EXEC_DEPTHWISE3x3S1P1_FLOAT: math::DepthwiseConv3x3s1p1(param.Input(), param.Filter(), param.Output(), - nullptr, false); + nullptr, false, false); break; case ConvParam::EXEC_DEPTHWISE3x3S2P1_FLOAT: math::DepthwiseConv3x3s2p1v2(param.Input(), param.Filter(), - param.Output(), nullptr, false); + param.Output(), nullptr, false, false); break; case ConvParam::EXEC_DEPTHWISE3x3S2P0_FLOAT: math::DepthwiseConv3x3s2p0(param.Input(), param.Filter(), param.Output(), - nullptr, false); + nullptr, false, false); break; case ConvParam::EXEC_WINOGRAD3X3_FLOAT: WinogradConv3x3<8, 3>(param); diff --git a/src/operators/kernel/central-arm-func/conv_add_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_arm_func.h index ebc014da4f841bb90ccd6a1582a3d3043141c151..c012f74b2b66d3b191e9a3d9dcef3d0c0988b8f6 100644 --- a/src/operators/kernel/central-arm-func/conv_add_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_arm_func.h @@ -122,7 +122,7 @@ void ConvAddCompute(const FusionConvAddParam ¶m) { param.Filter()->dims()[2] == param.Filter()->dims()[3] && param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1) { math::DepthwiseConv3x3s1p1(param.Input(), param.Filter(), param.Output(), - param.Bias(), true); + param.Bias(), true, false); } else if (param.Groups() == param.Input()->dims()[1] && param.Input()->dims()[1] == param.Output()->dims()[1] && param.Filter()->dims()[2] == param.Filter()->dims()[3] && @@ -133,10 +133,10 @@ void ConvAddCompute(const FusionConvAddParam ¶m) { // param.Output(), false); if (param.Paddings()[0] == 0) { math::DepthwiseConv3x3s2p0(param.Input(), param.Filter(), param.Output(), - param.Bias(), true); + param.Bias(), true, false); } else { math::DepthwiseConv3x3s2p1v2(param.Input(), param.Filter(), - param.Output(), param.Bias(), true); + param.Output(), param.Bias(), true, false); } } else { ConvAddBasic(param); diff --git a/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h index 9f251b3d7189b36b13ae9ccc27c55b136d8ab511..04a84fc9765bf233e331bcbd8186117c104fac31 100644 --- a/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h @@ -15,6 +15,7 @@ limitations under the License. */ #ifdef FUSION_CONVADDRELU_OP #pragma once +#include #include #include "operators/math/conv_func.h" #include "operators/math/im2col.h" @@ -26,7 +27,7 @@ namespace paddle_mobile { namespace operators { template -void ConvAddReluCompute(const FusionConvAddReluParam ¶m) { +void ConvAddReluBasic(const FusionConvAddReluParam ¶m) { const Tensor *input = param.Input(); Tensor filter = *param.Filter(); Tensor bias = *param.Bias(); @@ -118,6 +119,34 @@ void ConvAddReluCompute(const FusionConvAddReluParam ¶m) { } } +template +void ConvAddReluCompute(const FusionConvAddReluParam ¶m) { + param.Output()->mutable_data(); + if (param.Groups() == param.Input()->dims()[1] && + param.Input()->dims()[1] == param.Output()->dims()[1] && + param.Filter()->dims()[2] == param.Filter()->dims()[3] && + param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1) { + math::DepthwiseConv3x3s1p1(param.Input(), param.Filter(), param.Output(), + param.Bias(), true, true); + } else if (param.Groups() == param.Input()->dims()[1] && + param.Input()->dims()[1] == param.Output()->dims()[1] && + param.Filter()->dims()[2] == param.Filter()->dims()[3] && + param.Filter()->dims()[2] == 3 && param.Strides()[0] == 2) { + // math::DepthwiseConv3x3(param.Input(), param.Strides(), + // param.Paddings(), + // param.Filter(), param.Bias(), + // param.Output(), false); + if (param.Paddings()[0] == 0) { + math::DepthwiseConv3x3s2p0(param.Input(), param.Filter(), param.Output(), + param.Bias(), true, true); + } else { + math::DepthwiseConv3x3s2p1v2(param.Input(), param.Filter(), + param.Output(), param.Bias(), true, true); + } + } else { + ConvAddReluBasic(param); + } +} } // namespace operators } // namespace paddle_mobile diff --git a/src/operators/math/depthwise_conv3x3.cpp b/src/operators/math/depthwise_conv3x3.cpp index a4466a52fac228812e8df205a61bdb594775d327..90edc3111b3f54255af01c1e511bd74955e75d35 100644 --- a/src/operators/math/depthwise_conv3x3.cpp +++ b/src/operators/math/depthwise_conv3x3.cpp @@ -251,27 +251,31 @@ void DepthwiseConv3x3(const framework::Tensor *input, void DepthwiseConv3x3s1p1(const framework::Tensor *input, const framework::Tensor *filter, framework::Tensor *output, framework::Tensor *bias, - bool if_bias) { + bool if_bias, bool if_relu) { #if __ARM_NEON - const float *input_data = input->data(); - const float *filter_data = filter->data(); - float *output_data = output->mutable_data(); - const float *bias_data; - if (if_bias) { - bias_data = bias->data(); - } - - const int h = static_cast(input->dims()[2]); - const int w = static_cast(input->dims()[3]); - // const int l = h; + const float *bias_data = bias->data(); const int batch_size = static_cast(input->dims()[0]); const int c = static_cast(input->dims()[1]); + const int h = static_cast(input->dims()[2]); + const int w = static_cast(input->dims()[3]); const int hxw = h * w; - float32x4_t vbias = vdupq_n_f32(0.0); - for (int b = 0; b < batch_size; ++b) { - const float *filter_data_tmp = filter_data; + // const int l = h; + + // leftTop, rightTop, leftBottom, rightBottom + const int lt = 0; + const int rt = w - 1; + const int lb = (h - 1) * w; + const int rb = h * w - 1; + float32x4_t zero = vdupq_n_f32(0.0); + + for (int b = 0; b < batch_size; ++b) { +#pragma omp parallel for for (int j = 0; j < c; ++j) { + const float *filter_data_tmp = filter->data() + j * 9; + const float *input_data = input->data() + j * hxw; + float *output_data = output->mutable_data() + j * hxw; + float32x4_t vbias; if (if_bias) { vbias = vdupq_n_f32(bias_data[j]); } @@ -287,39 +291,51 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, float w21 = filter_data_tmp[7]; float w22 = filter_data_tmp[8]; - output_data[0] = w11 * input_data[0] + w12 * input_data[1] + - w21 * input_data[w] + w22 * input_data[w + 1]; - output_data[w - 1] = w10 * input_data[w - 2] + w11 * input_data[w - 1] + - w20 * input_data[2 * w - 2] + - w21 * input_data[2 * w - 1]; - output_data[(h - 1) * w] = + output_data[lt] = w11 * input_data[0] + w12 * input_data[1] + + w21 * input_data[w] + w22 * input_data[w + 1]; + output_data[rt] = w10 * input_data[w - 2] + w11 * input_data[w - 1] + + w20 * input_data[2 * w - 2] + + w21 * input_data[2 * w - 1]; + output_data[lb] = w01 * input_data[(h - 2) * w] + w02 * input_data[(h - 2) * w + 1] + w11 * input_data[(h - 1) * w] + w12 * input_data[(h - 1) * w + 1]; - output_data[h * w - 1] = + output_data[rb] = w00 * input_data[h * w - w - 2] + w01 * input_data[h * w - w - 1] + w10 * input_data[h * w - 2] + w11 * input_data[h * w - 1]; if (if_bias) { - output_data[0] += bias_data[j]; - output_data[w - 1] += bias_data[j]; - output_data[(h - 1) * w] += bias_data[j]; - output_data[h * w - 1] += bias_data[j]; + output_data[lt] += bias_data[j]; + output_data[rt] += bias_data[j]; + output_data[lb] += bias_data[j]; + output_data[rb] += bias_data[j]; + } + if (if_relu) { + output_data[lt] = output_data[lt] < 0 ? 0 : output_data[lt]; + output_data[rt] = output_data[rt] < 0 ? 0 : output_data[rt]; + output_data[lb] = output_data[lb] < 0 ? 0 : output_data[lb]; + output_data[rb] = output_data[rb] < 0 ? 0 : output_data[rb]; } for (int i = 1; i < h - 1; ++i) { - output_data[i * w] = + int left = i * w; + int right = i * w + w - 1; + output_data[left] = w01 * input_data[i * w - w] + w02 * input_data[i * w - w + 1] + w11 * input_data[i * w] + w12 * input_data[i * w + 1] + w21 * input_data[i * w + w] + w22 * input_data[i * w + w + 1]; - output_data[i * w + w - 1] = w00 * input_data[i * w + w - 1 - w - 1] + - w01 * input_data[i * w + w - 1 - w] + - w10 * input_data[i * w + w - 1 - 1] + - w11 * input_data[i * w + w - 1] + - w20 * input_data[i * w + w - 1 + w - 1] + - w21 * input_data[i * w + w - 1 + w]; + output_data[right] = w00 * input_data[i * w + w - 1 - w - 1] + + w01 * input_data[i * w + w - 1 - w] + + w10 * input_data[i * w + w - 1 - 1] + + w11 * input_data[i * w + w - 1] + + w20 * input_data[i * w + w - 1 + w - 1] + + w21 * input_data[i * w + w - 1 + w]; if (if_bias) { - output_data[i * w] += bias_data[j]; - output_data[i * w + w - 1] += bias_data[j]; + output_data[left] += bias_data[j]; + output_data[right] += bias_data[j]; + } + if (if_relu) { + output_data[left] = output_data[left] < 0 ? 0 : output_data[left]; + output_data[right] = output_data[right] < 0 ? 0 : output_data[right]; } } @@ -352,7 +368,9 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, out0 = vmlaq_n_f32(out0, tmp2, w21); out0 = vmlaq_n_f32(out0, tmp3, w22); out0 = vaddq_f32(out0, vbias); - + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } vst1q_f32(output_ptr, out0); in5 = vld1q_f32(input_tmp_end + 4); @@ -370,7 +388,9 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, out0 = vmlaq_n_f32(out0, tmp2, w11); out0 = vmlaq_n_f32(out0, tmp3, w12); out0 = vaddq_f32(out0, vbias); - + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } vst1q_f32(output_ptr + (h - 1) * w, out0); // can optimize to each 8 stride. @@ -399,6 +419,9 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, out0 = vmlaq_n_f32(out0, tmp2, w21); out0 = vmlaq_n_f32(out0, tmp3, w22); out0 = vaddq_f32(out0, vbias); + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } for (int i = 0; i < c_mid; ++i) { if (i == 0) { @@ -428,6 +451,9 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, out0 = vmlaq_n_f32(out0, tmp2, w11); out0 = vmlaq_n_f32(out0, tmp3, w12); out0 = vaddq_f32(out0, vbias); + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } for (int i = 0; i < c_mid; ++i) { if (i == 0) { @@ -471,6 +497,9 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, out0 = vmlaq_n_f32(out0, tmp4, w21); out0 = vmlaq_n_f32(out0, tmp5, w22); out0 = vaddq_f32(out0, vbias); + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } vst1q_f32(output_ptr, out0); @@ -502,6 +531,9 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, out0 = vmlaq_n_f32(out0, tmp4, w21); out0 = vmlaq_n_f32(out0, tmp5, w22); out0 = vaddq_f32(out0, vbias); + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } for (int i = 0; i < c_mid; ++i) { if (i == 0) { @@ -515,9 +547,6 @@ void DepthwiseConv3x3s1p1(const framework::Tensor *input, } } } - output_data += hxw; - input_data += hxw; - filter_data_tmp += 9; } } #endif @@ -1273,7 +1302,7 @@ void DepthwiseConvAddBNRelu3x3s2p1(const framework::Tensor *input, void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, const framework::Tensor *filter, framework::Tensor *output, framework::Tensor *bias, - bool if_bias) { + bool if_bias, bool if_relu) { #if __ARM_NEON const float *input_data = input->data(); const float *filter_data = filter->data(); @@ -1361,6 +1390,9 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, res3 = vaddq_f32(vextq_f32(elewise_res2, zero, 1), vaddq_f32(elewise_res0, elewise_res1)); res3 = vaddq_f32(res3, vbias); + if (if_relu) { + res3 = vmaxq_f32(res3, zero); + } vst1q_f32(output_row_ptr, res3); input_row_ptr += 6; @@ -1395,6 +1427,9 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, res3 = vaddq_f32(vextq_f32(elewise_res2, zero, 1), vaddq_f32(elewise_res0, elewise_res1)); res3 = vaddq_f32(res3, vbias); + if (if_relu) { + res3 = vmaxq_f32(res3, zero); + } if ((w4 != w_times)) { vst1q_f32(output_row_ptr, res3); @@ -1410,12 +1445,18 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, output_row_ptr += 3; } - output_data_tmp[0] = input_const[0] * w11 + input_const[1] * w12 + - input_const[in_w] * w21 + - input_const[in_w + 1] * w22; + // leftTop, rightTop, leftBottom, rightBottom + int lt = 0; + int rt = out_w - 1; + int lb = out_w * (out_h - 1); + int rb = out_h * out_w - 1; + + output_data_tmp[lt] = input_const[0] * w11 + input_const[1] * w12 + + input_const[in_w] * w21 + + input_const[in_w + 1] * w22; out2in_mid = (out_w - 1) * 2; - output_data_tmp[out_w - 1] = + output_data_tmp[rt] = w10 * input_const[out2in_mid - 1] + w11 * input_const[out2in_mid] + w20 * input_const[out2in_mid + in_w - 1] + w21 * input_const[out2in_mid + in_w] + @@ -1424,7 +1465,7 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, out2in_mid = (out_h - 1) * 2 * in_w; - output_data_tmp[out_w * (out_h - 1)] = + output_data_tmp[lb] = w01 * input_const[out2in_mid - in_w] + w02 * input_const[out2in_mid - in_w + 1] + w11 * input_const[out2in_mid] + w12 * input_const[out2in_mid + 1] + @@ -1432,7 +1473,7 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, w22 * input_const[out2in_mid + in_w + 1]); out2in_mid = (out_h - 1) * 2 * in_w + (out_w - 1) * 2; - output_data_tmp[out_h * out_w - 1] = + output_data_tmp[rb] = w00 * input_const[out2in_mid - in_w - 1] + w01 * input_const[out2in_mid - in_w] + w10 * input_const[out2in_mid - 1] + w11 * input_const[out2in_mid] + @@ -1443,22 +1484,30 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, (1 - if_pad_r) * (1 - if_pad_b) * w22 * input_const[out2in_mid + in_w + 1]; if (if_bias) { - output_data_tmp[0] += bias_data[j]; - output_data_tmp[out_w - 1] += bias_data[j]; - output_data_tmp[out_w * (out_h - 1)] += bias_data[j]; - output_data_tmp[out_h * out_w - 1] += bias_data[j]; + output_data_tmp[lt] += bias_data[j]; + output_data_tmp[rt] += bias_data[j]; + output_data_tmp[lb] += bias_data[j]; + output_data_tmp[rb] += bias_data[j]; + } + if (if_relu) { + output_data_tmp[lt] = output_data_tmp[lt] < 0 ? 0 : output_data_tmp[lt]; + output_data_tmp[rt] = output_data_tmp[rt] < 0 ? 0 : output_data_tmp[rt]; + output_data_tmp[lb] = output_data_tmp[lb] < 0 ? 0 : output_data_tmp[lb]; + output_data_tmp[rb] = output_data_tmp[rb] < 0 ? 0 : output_data_tmp[rb]; } for (int i = 1; i < out_h - 1; i++) { out2in_mid = i * 2 * in_w; - output_data_tmp[i * out_w] = w01 * input_const[out2in_mid - in_w] + - w02 * input_const[out2in_mid - in_w + 1] + - w11 * input_const[out2in_mid] + - w12 * input_const[out2in_mid + 1] + - w21 * input_const[out2in_mid + in_w] + - w22 * input_const[out2in_mid + in_w + 1]; + int left = i * out_w; + output_data_tmp[left] = w01 * input_const[out2in_mid - in_w] + + w02 * input_const[out2in_mid - in_w + 1] + + w11 * input_const[out2in_mid] + + w12 * input_const[out2in_mid + 1] + + w21 * input_const[out2in_mid + in_w] + + w22 * input_const[out2in_mid + in_w + 1]; out2in_mid = i * 2 * in_w + (out_w - 1) * 2; - output_data_tmp[i * out_w + out_w - 1] = + int right = i * out_w + out_w - 1; + output_data_tmp[right] = w00 * input_const[out2in_mid - in_w - 1] + w01 * input_const[out2in_mid - in_w] + w10 * input_const[out2in_mid - 1] + w11 * input_const[out2in_mid] + @@ -1468,8 +1517,14 @@ void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, w12 * input_const[out2in_mid + 1] + w22 * input_const[out2in_mid + in_w + 1]); if (if_bias) { - output_data_tmp[i * out_w] += bias_data[j]; - output_data_tmp[i * out_w + out_w - 1] += bias_data[j]; + output_data_tmp[left] += bias_data[j]; + output_data_tmp[right] += bias_data[j]; + } + if (if_relu) { + output_data_tmp[left] = + output_data_tmp[left] < 0 ? 0 : output_data_tmp[left]; + output_data_tmp[right] = + output_data_tmp[right] < 0 ? 0 : output_data_tmp[right]; } } filter_data_tmp += 9; @@ -1909,7 +1964,7 @@ void DepthwiseConvAddBNRelu3x3s2p1v2(const framework::Tensor *input, void DepthwiseConv3x3s2p0(const framework::Tensor *input, const framework::Tensor *filter, framework::Tensor *output, framework::Tensor *bias, - bool if_bias) { + bool if_bias, bool if_relu) { #if __ARM_NEON const int batch_size = static_cast(input->dims()[0]); @@ -1977,6 +2032,9 @@ void DepthwiseConv3x3s2p0(const framework::Tensor *input, if (if_bias) { out0 = vaddq_f32(out0, biasv); } + if (if_relu) { + out0 = vmaxq_f32(out0, zero); + } vst1q_lane_f32(output_ptr, out0, 0); vst1q_lane_f32(output_ptr + 1, out0, 1); vst1q_lane_f32(output_ptr + 2, out0, 2); @@ -1985,7 +2043,8 @@ void DepthwiseConv3x3s2p0(const framework::Tensor *input, for (m = 0; m < output_width - 2; m += 3) { } for (int j = m; j < output_width; j++) { - output_data[i * output_width + j] = + int index = i * output_width + j; + output_data[index] = input_data[(2 * i) * input_width + 2 * j] * w00 + input_data[(2 * i) * input_width + 2 * j + 1] * w01 + input_data[(2 * i) * input_width + 2 * j + 2] * w02 + @@ -1996,7 +2055,11 @@ void DepthwiseConv3x3s2p0(const framework::Tensor *input, input_data[(2 * i + 2) * input_width + 2 * j + 1] * w21 + input_data[(2 * i + 2) * input_width + 2 * j + 2] * w22; if (if_bias) { - output_data[i * output_width + j] += *bias_data; + output_data[index] += *bias_data; + } + if (if_relu) { + output_data[index] = + output_data[index] < 0 ? 0 : output_data[index]; } } } diff --git a/src/operators/math/depthwise_conv3x3.h b/src/operators/math/depthwise_conv3x3.h index ca8f45fa5186fc1a2642a53f27526c6898bfb8e3..fde5d878c8a62c167af7a3359a991f77d3d3fce5 100644 --- a/src/operators/math/depthwise_conv3x3.h +++ b/src/operators/math/depthwise_conv3x3.h @@ -32,7 +32,7 @@ void DepthwiseConv3x3(const framework::Tensor *input, void DepthwiseConv3x3s1p1(const framework::Tensor *input, const framework::Tensor *filter, framework::Tensor *output, framework::Tensor *bias, - bool if_bias); + bool if_bias, bool if_relu); void DepthwiseConvAddBNRelu3x3s1p1(const framework::Tensor *input, const framework::Tensor *filter, @@ -51,7 +51,7 @@ void DepthwiseConvAddBNRelu3x3s2p1(const framework::Tensor *input, void DepthwiseConv3x3s2p1v2(const framework::Tensor *input, const framework::Tensor *filter, framework::Tensor *output, framework::Tensor *bias, - bool if_bias); + bool if_bias, bool if_relu); void DepthwiseConvAddBNRelu3x3s2p1v2(const framework::Tensor *input, const framework::Tensor *filter, @@ -63,7 +63,7 @@ void DepthwiseConvAddBNRelu3x3s2p1v2(const framework::Tensor *input, void DepthwiseConv3x3s2p0(const framework::Tensor *input, const framework::Tensor *filter, framework::Tensor *output, framework::Tensor *bias, - bool if_bias); + bool if_bias, bool if_relu); // TODO(hjchen2) need to be implemented // template diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1fb5fcf2df3bd26c094e6d79b37e7ba87d0e7475..5602d2d3ac38a7f9dfb175a0b03b1260960fc32e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -129,6 +129,15 @@ if (CON GREATER -1) endif () +list(FIND NET "super" CON) +if (CON GREATER -1) + # gen test + ADD_EXECUTABLE(test-super net/test_super.cpp test_helper.h test_include.h executor_for_test.h) + target_link_libraries(test-super paddle-mobile) + set(FOUND_MATCH ON) + +endif () + if (NOT FOUND_MATCH) # gen test ADD_EXECUTABLE(test-resnet net/test_resnet.cpp test_helper.h test_include.h executor_for_test.h) diff --git a/tools/build.sh b/tools/build.sh index 6e96404c3eac36de53b810d563720d485816f0f9..5cb0887e3aa43038f1cc58c915f1e6809dd4ac89 100755 --- a/tools/build.sh +++ b/tools/build.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash NETS="" -declare -a supportedNets=("googlenet" "mobilenet" "yolo" "squeezenet" "resnet" "mobilenetssd" "nlp" "mobilenetfssd" "genet") +declare -a supportedNets=("googlenet" "mobilenet" "yolo" "squeezenet" "resnet" "mobilenetssd" "nlp" "mobilenetfssd" "genet" "super") build_for_mac() { if [ ! `which brew` ]; then @@ -162,7 +162,7 @@ build_for_ios() { fi cd "${BUILD_DIR}" make -j 8 - cp ../../../src/ios_io/PaddleMobileCPU.h ./build/PaddleMobileCPU.h + cp ../../../src/io/ios_io/PaddleMobileCPU.h ./build/PaddleMobileCPU.h cd ./build # 生成符号表 ranlib *.a diff --git a/tools/op.cmake b/tools/op.cmake index 3254a83ab2bdb506c4d4b74d5f4d63f157b3db81..40bc1075baa1e7d81823a08efa56beaf58f3ae12 100644 --- a/tools/op.cmake +++ b/tools/op.cmake @@ -202,6 +202,16 @@ if (CON GREATER -1) set(FOUND_MATCH ON) endif() +list(FIND NET "super" CON) +if (CON GREATER -1) + message("super enabled") + set(FUSION_CONVADD_OP ON) + set(FUSION_CONVADDRELU_OP ON) + set(ELEMENTWISEADD_OP ON) + + set(FOUND_MATCH ON) +endif() + if(NOT FOUND_MATCH) message("--default--")