diff --git a/CardScan/Assets/FindFour.mlmodelc/coremldata.bin b/CardScan/Assets/FindFour.mlmodelc/coremldata.bin index 20c387ec..957bba6d 100644 Binary files a/CardScan/Assets/FindFour.mlmodelc/coremldata.bin and b/CardScan/Assets/FindFour.mlmodelc/coremldata.bin differ diff --git a/CardScan/Assets/FindFour.mlmodelc/model.espresso.net b/CardScan/Assets/FindFour.mlmodelc/model.espresso.net index 3b47bd70..aeaf813d 100644 --- a/CardScan/Assets/FindFour.mlmodelc/model.espresso.net +++ b/CardScan/Assets/FindFour.mlmodelc/model.espresso.net @@ -17,29 +17,14 @@ "format_version" : 200, "layers" : [ { - "pad_value" : 0, - "top" : "conv1_pad_output", - "pad_pad_mode" : 0, - "pad_t" : 0, "pad_r" : 1, - "pad_b" : 1, - "type" : "general_padding", - "pad_fill_mode" : 0, - "bottom" : "input1", - "pad_l" : 0, - "name" : "conv1_pad", - "weights" : { - - } - }, - { - "pad_r" : 0, "fused_relu" : 1, "fused_tanh" : 0, "pad_fill_mode" : 0, - "pad_b" : 0, + "pad_b" : 1, "pad_l" : 0, "top" : "conv1_relu_output_relu", + "blob_weights" : 3, "K" : 3, "blob_biases" : 1, "stride_x" : 2, @@ -51,7 +36,7 @@ "stride_y" : 2, "has_biases" : 1, "C" : 16, - "bottom" : "conv1_pad_output", + "bottom" : "input1", "weights" : { }, @@ -59,8 +44,7 @@ "pad_mode" : 0, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 3 + "n_parallel" : 1 }, { "alpha" : -1, @@ -107,6 +91,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_1_relu_output_relu", + "blob_weights" : 7, "K" : 16, "blob_biases" : 5, "name" : "conv_dw_1", @@ -124,8 +109,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 7 + "n_parallel" : 1 }, { "alpha" : -1, @@ -172,6 +156,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_1_relu_output_relu", + "blob_weights" : 11, "K" : 16, "blob_biases" : 9, "name" : "conv_pw_1", @@ -189,8 +174,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 11 + "n_parallel" : 1 }, { "alpha" : -1, @@ -230,29 +214,14 @@ "beta" : 0 }, { - "pad_value" : 0, - "top" : "conv_pad_2_output", - "pad_pad_mode" : 0, - "pad_t" : 0, "pad_r" : 1, - "pad_b" : 1, - "type" : "general_padding", - "pad_fill_mode" : 0, - "bottom" : "conv_pw_1_relu_output", - "pad_l" : 0, - "name" : "conv_pad_2", - "weights" : { - - } - }, - { - "pad_r" : 0, "fused_relu" : 1, "fused_tanh" : 0, "pad_fill_mode" : 0, - "pad_b" : 0, + "pad_b" : 1, "pad_l" : 0, "top" : "conv_dw_2_relu_output_relu", + "blob_weights" : 15, "K" : 64, "blob_biases" : 13, "stride_x" : 2, @@ -264,7 +233,7 @@ "stride_y" : 2, "has_biases" : 1, "C" : 64, - "bottom" : "conv_pad_2_output", + "bottom" : "conv_pw_1_relu_output", "weights" : { }, @@ -272,8 +241,7 @@ "pad_mode" : 0, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 15 + "n_parallel" : 1 }, { "alpha" : -1, @@ -320,6 +288,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_2_relu_output_relu", + "blob_weights" : 19, "K" : 64, "blob_biases" : 17, "name" : "conv_pw_2", @@ -337,8 +306,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 19 + "n_parallel" : 1 }, { "alpha" : -1, @@ -385,6 +353,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_3_relu_output_relu", + "blob_weights" : 23, "K" : 64, "blob_biases" : 21, "name" : "conv_dw_3", @@ -402,8 +371,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 23 + "n_parallel" : 1 }, { "alpha" : -1, @@ -450,6 +418,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_3_relu_output_relu", + "blob_weights" : 27, "K" : 64, "blob_biases" : 25, "name" : "conv_pw_3", @@ -467,8 +436,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 27 + "n_parallel" : 1 }, { "alpha" : -1, @@ -515,6 +483,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_7_relu_output_relu", + "blob_weights" : 31, "K" : 64, "blob_biases" : 29, "name" : "conv_dw_7", @@ -532,8 +501,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 31 + "n_parallel" : 1 }, { "alpha" : -1, @@ -580,6 +548,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_7_relu_output_relu", + "blob_weights" : 35, "K" : 64, "blob_biases" : 33, "name" : "conv_pw_7", @@ -597,8 +566,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 35 + "n_parallel" : 1 }, { "alpha" : -1, @@ -645,6 +613,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_8_relu_output_relu", + "blob_weights" : 39, "K" : 256, "blob_biases" : 37, "name" : "conv_dw_8", @@ -662,8 +631,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 39 + "n_parallel" : 1 }, { "alpha" : -1, @@ -710,6 +678,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_8_relu_output_relu", + "blob_weights" : 43, "K" : 256, "blob_biases" : 41, "name" : "conv_pw_8", @@ -727,8 +696,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 43 + "n_parallel" : 1 }, { "alpha" : -1, @@ -775,6 +743,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_9_relu_output_relu", + "blob_weights" : 47, "K" : 256, "blob_biases" : 45, "name" : "conv_dw_9", @@ -792,8 +761,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 47 + "n_parallel" : 1 }, { "alpha" : -1, @@ -840,6 +808,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_9_relu_output_relu", + "blob_weights" : 51, "K" : 256, "blob_biases" : 49, "name" : "conv_pw_9", @@ -857,8 +826,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 51 + "n_parallel" : 1 }, { "alpha" : -1, @@ -905,6 +873,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_10_relu_output_relu", + "blob_weights" : 55, "K" : 256, "blob_biases" : 53, "name" : "conv_dw_10", @@ -922,8 +891,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 55 + "n_parallel" : 1 }, { "alpha" : -1, @@ -970,6 +938,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_10_relu_output_relu", + "blob_weights" : 59, "K" : 256, "blob_biases" : 57, "name" : "conv_pw_10", @@ -987,8 +956,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 59 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1035,6 +1003,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_11_relu_output_relu", + "blob_weights" : 63, "K" : 256, "blob_biases" : 61, "name" : "conv_dw_11", @@ -1052,8 +1021,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 63 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1100,6 +1068,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_11_relu_output_relu", + "blob_weights" : 67, "K" : 256, "blob_biases" : 65, "name" : "conv_pw_11", @@ -1117,8 +1086,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 67 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1158,29 +1126,14 @@ "beta" : 0 }, { - "pad_value" : 0, - "top" : "conv_pad_12_output", - "pad_pad_mode" : 0, - "pad_t" : 0, "pad_r" : 1, - "pad_b" : 1, - "type" : "general_padding", - "pad_fill_mode" : 0, - "bottom" : "conv_pw_11_relu_output", - "pad_l" : 0, - "name" : "conv_pad_12", - "weights" : { - - } - }, - { - "pad_r" : 0, "fused_relu" : 1, "fused_tanh" : 0, "pad_fill_mode" : 0, - "pad_b" : 0, + "pad_b" : 1, "pad_l" : 0, "top" : "conv_dw_12_relu_output_relu", + "blob_weights" : 71, "K" : 256, "blob_biases" : 69, "stride_x" : 2, @@ -1192,7 +1145,7 @@ "stride_y" : 2, "has_biases" : 1, "C" : 256, - "bottom" : "conv_pad_12_output", + "bottom" : "conv_pw_11_relu_output", "weights" : { }, @@ -1200,8 +1153,7 @@ "pad_mode" : 0, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 71 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1248,6 +1200,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_12_relu_output_relu", + "blob_weights" : 75, "K" : 256, "blob_biases" : 73, "name" : "conv_pw_12", @@ -1265,8 +1218,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 75 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1313,6 +1265,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_dw_13_relu_output_relu", + "blob_weights" : 79, "K" : 512, "blob_biases" : 77, "name" : "conv_dw_13", @@ -1330,8 +1283,7 @@ "Nx" : 3, "pad_value" : 0, "Ny" : 3, - "n_parallel" : 1, - "blob_weights_f16" : 79 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1378,6 +1330,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_pw_13_relu_output_relu", + "blob_weights" : 83, "K" : 512, "blob_biases" : 81, "name" : "conv_pw_13", @@ -1395,8 +1348,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 83 + "n_parallel" : 1 }, { "alpha" : -1, @@ -1443,6 +1395,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "resize1_output", + "blob_weights" : 87, "K" : 512, "blob_biases" : 85, "name" : "resize1", @@ -1460,8 +1413,7 @@ "Nx" : 2, "pad_value" : 0, "Ny" : 2, - "n_parallel" : 1, - "blob_weights_f16" : 87 + "n_parallel" : 1 }, { "pad_r" : 0, @@ -1471,6 +1423,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "resize2_output", + "blob_weights" : 91, "K" : 64, "blob_biases" : 89, "name" : "resize2", @@ -1488,8 +1441,7 @@ "Nx" : 2, "pad_value" : 0, "Ny" : 2, - "n_parallel" : 1, - "blob_weights_f16" : 91 + "n_parallel" : 1 }, { "pad_r" : 0, @@ -1499,6 +1451,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "resize3_output", + "blob_weights" : 95, "K" : 64, "blob_biases" : 93, "name" : "resize3", @@ -1516,8 +1469,7 @@ "Nx" : 2, "pad_value" : 0, "Ny" : 2, - "n_parallel" : 1, - "blob_weights_f16" : 95 + "n_parallel" : 1 }, { "pad_r" : 0, @@ -1527,6 +1479,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "resize5_output", + "blob_weights" : 99, "K" : 64, "blob_biases" : 97, "name" : "resize5", @@ -1544,8 +1497,7 @@ "Nx" : 7, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 99 + "n_parallel" : 1 }, { "pad_r" : 0, @@ -1555,6 +1507,7 @@ "pad_b" : 0, "pad_l" : 0, "top" : "conv_preds_output", + "blob_weights" : 103, "K" : 64, "blob_biases" : 101, "name" : "conv_preds", @@ -1572,8 +1525,7 @@ "Nx" : 1, "pad_value" : 0, "Ny" : 1, - "n_parallel" : 1, - "blob_weights_f16" : 103 + "n_parallel" : 1 }, { "C" : 2, diff --git a/CardScan/Assets/FindFour.mlmodelc/model.espresso.shape b/CardScan/Assets/FindFour.mlmodelc/model.espresso.shape index ccdb875d..b4ee88d4 100644 --- a/CardScan/Assets/FindFour.mlmodelc/model.espresso.shape +++ b/CardScan/Assets/FindFour.mlmodelc/model.espresso.shape @@ -186,12 +186,6 @@ "n" : 1, "h" : 151 }, - "conv_pad_12_output" : { - "k" : 256, - "w" : 121, - "n" : 1, - "h" : 76 - }, "conv_dw_7_relu_output_relu_clip" : { "k" : 64, "w" : 120, @@ -270,26 +264,14 @@ "n" : 1, "h" : 151 }, - "conv1_pad_output" : { - "k" : 3, - "w" : 481, - "n" : 1, - "h" : 303 - }, - "conv_dw_11_relu_output_relu_clip" : { - "k" : 256, + "conv_dw_3_relu_output_relu_neg" : { + "k" : 64, "w" : 120, "n" : 1, "h" : 75 }, - "conv_pad_2_output" : { - "k" : 64, - "w" : 241, - "n" : 1, - "h" : 152 - }, - "conv_dw_3_relu_output_relu_neg" : { - "k" : 64, + "conv_dw_11_relu_output_relu_clip" : { + "k" : 256, "w" : 120, "n" : 1, "h" : 75 diff --git a/CardScan/Assets/FindFour.mlmodelc/model.espresso.weights b/CardScan/Assets/FindFour.mlmodelc/model.espresso.weights index 7a1f9bda..ec912f27 100644 Binary files a/CardScan/Assets/FindFour.mlmodelc/model.espresso.weights and b/CardScan/Assets/FindFour.mlmodelc/model.espresso.weights differ diff --git a/CardScan/Assets/FindFour.mlmodelc/neural_network_optionals/coremldata.bin b/CardScan/Assets/FindFour.mlmodelc/neural_network_optionals/coremldata.bin index 01d633b2..4e4e4935 100644 Binary files a/CardScan/Assets/FindFour.mlmodelc/neural_network_optionals/coremldata.bin and b/CardScan/Assets/FindFour.mlmodelc/neural_network_optionals/coremldata.bin differ diff --git a/OriginalModels/FindFour.mlmodel b/OriginalModels/FindFour.mlmodel index c11e22ab..479ed413 100644 Binary files a/OriginalModels/FindFour.mlmodel and b/OriginalModels/FindFour.mlmodel differ diff --git a/RELEASE.md b/RELEASE.md index 208205eb..c5b878b4 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -27,4 +27,17 @@ Once we have a build on master we want to publish: pod trunk push ``` - +### Bumping a model + +1. Put the new model in the OriginalModels directory + +2. Remove the old compiled version from the resources directory + + ```bash + rm -rf CardScan/Assets/FindFour.mlmodelc + ``` +3. Compile the new model + + ```bash + xcrun coremlc compile OriginalModels/FindFour.mlmodel CardScan/Assets + ``` \ No newline at end of file