OP-TEE / manifest

Manifests to use OP-TEE on various platforms
69 stars 176 forks source link

Inconsistent Prediction Results #242

Closed intx4 closed 1 year ago

intx4 commented 1 year ago

Hello, By running the code as per README.md, I obtain different prediction results, both using the pre-trained model and a freshly trained one.

Setting:

Hardware

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   46 bits physical, 48 bits virtual
CPU(s):                          24
On-line CPU(s) list:             0-23
Thread(s) per core:              1
Core(s) per socket:              16
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           151
Model name:                      12th Gen Intel(R) Core(TM) i9-12900K
Stepping:                        2
CPU MHz:                         3200.000
CPU max MHz:                     5200.0000
CPU min MHz:                     800.0000
BogoMIPS:                        6374.40
Virtualization:                  VT-x
L1d cache:                       384 KiB
L1i cache:                       256 KiB
L2 cache:                        10 MiB
NUMA node0 CPU(s):               0-23

Software

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal
Kernel:         5.15.0-76-generic
QEMU=8.0.2
OP-TEE=3.22.0

Normal World Output:

darknetp classifier predict -pp_start 4 -pp_end 10 cfg/mnist.dataset cfg/mnist
_lenet.cfg models/mnist/mnist_lenet.weights  data/mnist/images/t_00007_c3.png
Prepare session with the TA
Begin darknet
layer     filters    size              input                output
    0 conv      6  5 x 5 / 1    28 x  28 x   3   ->    28 x  28 x   6  0.001 BFLOPs
    1 max          2 x 2 / 2    28 x  28 x   6   ->    14 x  14 x   6
    2 conv      6  5 x 5 / 1    14 x  14 x   6   ->    14 x  14 x   6  0.000 BFLOPs
    3 max          2 x 2 / 2    14 x  14 x   6   ->     7 x   7 x   6
    4 connected_TA                          294  ->   120
    5 dropout_TA    p = 0.80                120  ->   120
    6 connected_TA                          120  ->    84
    7 dropout_TA    p = 0.80                 84  ->    84
    8 connected_TA                           84  ->    10
    9 softmax_TA                                       10
   10 cost_TA                                          10
workspace_size=235200
Loading weights from models/mnist/mnist_lenet.weights...Done!
output file: /media/results/predict_mnist_lenet_pps4_ppe10.txt
data/mnist/images/t_00007_c3.png: Predicted in 0.008191 seconds.
-0.00%: 0
 0.00%: 1
 0.00%: 2
330.02%: 3
 0.00%: 4
user CPU start: 0.394826; end: 0.394910
kernel CPU start: 2.117686; end: 2.118134
Max: 2432  kilobytes
vmsize:281470681747200; vmrss:281470681745792; vmdata:281470681744252; vmstk:187647121162372; vmexe:281470681743768; vmlib:281470681745604
# darknetp classifier predict -pp_start 4 -pp_end 10 cfg/mnist.dataset cfg/mnist
_lenet.cfg models/mnist/mnist_lenet.weights  data/mnist/images/t_00007_c3.png
Prepare session with the TA
Begin darknet
layer     filters    size              input                output
    0 conv      6  5 x 5 / 1    28 x  28 x   3   ->    28 x  28 x   6  0.001 BFLOPs
    1 max          2 x 2 / 2    28 x  28 x   6   ->    14 x  14 x   6
    2 conv      6  5 x 5 / 1    14 x  14 x   6   ->    14 x  14 x   6  0.000 BFLOPs
    3 max          2 x 2 / 2    14 x  14 x   6   ->     7 x   7 x   6
    4 connected_TA                          294  ->   120
    5 dropout_TA    p = 0.80                120  ->   120
    6 connected_TA                          120  ->    84
    7 dropout_TA    p = 0.80                 84  ->    84
    8 connected_TA                           84  ->    10
    9 softmax_TA                                       10
   10 cost_TA                                          10
workspace_size=235200
Loading weights from models/mnist/mnist_lenet.weights...Done!
output file: /media/results/predict_mnist_lenet_pps4_ppe10.txt
data/mnist/images/t_00007_c3.png: Predicted in 0.008095 seconds.
-0.00%: 0
 0.00%: 1
-0.00%: 2
 0.00%: 3
 0.00%: 4
user CPU start: 0.313335; end: 0.313401
kernel CPU start: 2.177080; end: 2.177540
Max: 2560  kilobytes
vmsize:281470681747200; vmrss:281470681745920; vmdata:281470681744252; vmstk:187647121162372; vmexe:281470681743768; vmlib:281470681745604

Secure World Output:

D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA 7fc5c039-0542-4ee1-80af-b4eab2f1998d
D/TC:? 0 ldelf_load_ldelf:110 ldelf load address 0x40007000
D/LD:  ldelf:142 Loading TS 7fc5c039-0542-4ee1-80af-b4eab2f1998d
D/TC:? 0 ldelf_syscall_open_bin:142 Lookup user TA ELF 7fc5c039-0542-4ee1-80af-b4eab2f1998d (early TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:142 Lookup user TA ELF 7fc5c039-0542-4ee1-80af-b4eab2f1998d (Secure Storage TA)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0xffff0008
D/TC:? 0 ldelf_syscall_open_bin:142 Lookup user TA ELF 7fc5c039-0542-4ee1-80af-b4eab2f1998d (REE)
D/TC:? 0 ldelf_syscall_open_bin:146 res=0
D/LD:  ldelf:176 ELF (7fc5c039-0542-4ee1-80af-b4eab2f1998d) at 0x40071000
D/TA:  TA_CreateEntryPoint:72 has been called
D/TA:  TA_OpenSessionEntryPoint:91 has been called
I/TA: secure world opened!
I/TA: aes_cbc_TA decrypt ing
I/TA: aes_cbc_TA decrypt ing
I/TA: aes_cbc_TA decrypt ing
I/TA: aes_cbc_TA decrypt ing
I/TA: aes_cbc_TA decrypt ing
I/TA: aes_cbc_TA decrypt ing
D/TC:? 0 tee_ta_close_session:529 csess 0xaeda7860 id 2
D/TC:? 0 tee_ta_close_session:548 Destroy session
I/TA: Goodbye!
D/TA:  TA_DestroyEntryPoint:79 has been called
D/TC:? 0 destroy_context:326 Destroy TA ctx (0xaeda7800)
intx4 commented 1 year ago

Opened the issue on the wrong repo, too many windows openend XD