Adam-Al-Rahman commited on
Commit
96b443f
·
1 Parent(s): a9f0f08

add: lstm model with trained/tested notebooks

Browse files
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ model/tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ model/x_g85_lstm.keras filter=lfs diff=lfs merge=lfs -text
38
+ model/x_g85_lstm.onnx filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ model_logs/
README.md CHANGED
@@ -1,3 +1,31 @@
1
  ---
2
  license: mit
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: mit
3
+ library_name: tensorflow,
4
+ datasets:
5
+ - x-g85/x_g85_fn_dataset
6
+ model-index:
7
+ - name: X_G85_LSTM
8
+ results:
9
+ - task:
10
+ type: text-classification
11
+ dataset:
12
+ - x-g85/x_g85_fn_dataset
13
+
14
  ---
15
+
16
+
17
+ # X_G85 LSTM MODEL
18
+
19
+ LSTM architecture fake news detection model.
20
+
21
+ ## Parameters
22
+
23
+
24
+ <img src="assets/params.png" alt="Model parameters">
25
+
26
+
27
+ ## Website
28
+
29
+ The model is deployed following [link](https://huggingface.co/spaces/x-g85/fake-news)
30
+
31
+ <img src="assets/lstm-website.png" alt="Model website">
assets/lstm-website.png ADDED
assets/params.png ADDED
model/x_g85_lstm.keras ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:848dd72be9c5f0f2ac18048eabbe3f50ae027515bd42c86482bbbc30b42500c9
3
+ size 17299713
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ tensorflow
2
+ scikit-learn
3
+ onnxruntime
4
+ matplotlib
5
+ datasets
6
+ tf2onnx
7
+ pandas
verify_onnx.ipynb ADDED
@@ -0,0 +1,3659 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "## Verify Onnx with Tensorflow"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type": "code",
12
+ "execution_count": 1,
13
+ "metadata": {},
14
+ "outputs": [],
15
+ "source": [
16
+ "import os\n",
17
+ "os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1' # Suppresses INFO and WARNING messages\n"
18
+ ]
19
+ },
20
+ {
21
+ "cell_type": "code",
22
+ "execution_count": 2,
23
+ "metadata": {},
24
+ "outputs": [
25
+ {
26
+ "name": "stderr",
27
+ "output_type": "stream",
28
+ "text": [
29
+ "2024-07-22 13:30:26.411181: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
30
+ "2024-07-22 13:30:26.598472: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
31
+ "2024-07-22 13:30:26.640295: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
32
+ "2024-07-22 13:30:30.158004: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n"
33
+ ]
34
+ }
35
+ ],
36
+ "source": [
37
+ "\n",
38
+ "import tensorflow as tf\n",
39
+ "import onnxruntime as ort\n",
40
+ "\n",
41
+ "import numpy as np\n",
42
+ "import pandas as pd"
43
+ ]
44
+ },
45
+ {
46
+ "cell_type": "code",
47
+ "execution_count": 3,
48
+ "metadata": {},
49
+ "outputs": [],
50
+ "source": [
51
+ "\n",
52
+ "test = pd.read_csv(\"hf://datasets/x-g85/x_g85_fn_dataset/\" + \"fn_test.csv\")\n",
53
+ "\n",
54
+ "X_test = test[\"text\"]\n",
55
+ "y_test = test[\"label\"]\n"
56
+ ]
57
+ },
58
+ {
59
+ "cell_type": "code",
60
+ "execution_count": 4,
61
+ "metadata": {},
62
+ "outputs": [],
63
+ "source": [
64
+ "# Single Example of dataset\n",
65
+ "# X_test = pd.Series(X_test[1]) # neccessary to converto to Series for inputs"
66
+ ]
67
+ },
68
+ {
69
+ "cell_type": "code",
70
+ "execution_count": 5,
71
+ "metadata": {},
72
+ "outputs": [
73
+ {
74
+ "data": {
75
+ "text/plain": [
76
+ "0 Senate confirms retired generals as first two ...\n",
77
+ "1 Iraq foots the bill for its own destruction\n",
78
+ "2 One Year Later, Palestinians Live in Rubble Wh...\n",
79
+ "3 Peru drug clinic fire kills 14 people locked i...\n",
80
+ "4 Police station attacked in S. Russia, suicide ...\n",
81
+ "Name: text, dtype: object"
82
+ ]
83
+ },
84
+ "execution_count": 5,
85
+ "metadata": {},
86
+ "output_type": "execute_result"
87
+ }
88
+ ],
89
+ "source": [
90
+ "X_test[:5]"
91
+ ]
92
+ },
93
+ {
94
+ "cell_type": "code",
95
+ "execution_count": 6,
96
+ "metadata": {},
97
+ "outputs": [],
98
+ "source": [
99
+ "# Text Tokenization | Vectorization Parameters\n",
100
+ "max_vocab_length = 5000 # how many unique words to use (i.e num rows in embedding vector)\n",
101
+ "max_length = 300 # max number of words in a comment to use\n",
102
+ "batch_size = 32"
103
+ ]
104
+ },
105
+ {
106
+ "cell_type": "code",
107
+ "execution_count": 7,
108
+ "metadata": {},
109
+ "outputs": [],
110
+ "source": [
111
+ "# Setup Text Tokenizer\n",
112
+ "# from tensorflow.keras.preprocessing.text import tokenizer_from_json\n",
113
+ "# from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
114
+ "\n",
115
+ "# tokenizer = None\n",
116
+ "\n",
117
+ "# # Load the tokenizer from the JSON file\n",
118
+ "# with open('model/tokenizer.json', 'r') as file:\n",
119
+ "# tokenizer_json = file.read()\n",
120
+ "# tokenizer = tokenizer_from_json(tokenizer_json)\n",
121
+ "\n",
122
+ "# # Use the tokenizer to transform test data\n",
123
+ "# tokenized_test = tokenizer.texts_to_sequences(X_test)\n",
124
+ "# X_test = pad_sequences(tokenized_test, maxlen=max_length)\n",
125
+ "# X_test = X_test.astype(np.float32)"
126
+ ]
127
+ },
128
+ {
129
+ "cell_type": "code",
130
+ "execution_count": 8,
131
+ "metadata": {},
132
+ "outputs": [
133
+ {
134
+ "name": "stderr",
135
+ "output_type": "stream",
136
+ "text": [
137
+ "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n",
138
+ "I0000 00:00:1721655037.708472 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
139
+ "Your kernel may have been built without NUMA support.\n",
140
+ "I0000 00:00:1721655038.184327 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
141
+ "Your kernel may have been built without NUMA support.\n",
142
+ "I0000 00:00:1721655038.184432 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
143
+ "Your kernel may have been built without NUMA support.\n",
144
+ "I0000 00:00:1721655038.188321 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
145
+ "Your kernel may have been built without NUMA support.\n",
146
+ "I0000 00:00:1721655038.188453 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
147
+ "Your kernel may have been built without NUMA support.\n",
148
+ "I0000 00:00:1721655038.188525 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
149
+ "Your kernel may have been built without NUMA support.\n",
150
+ "I0000 00:00:1721655038.499052 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
151
+ "Your kernel may have been built without NUMA support.\n",
152
+ "I0000 00:00:1721655038.499300 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
153
+ "Your kernel may have been built without NUMA support.\n",
154
+ "I0000 00:00:1721655038.499436 1084 cuda_executor.cc:1001] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node\n",
155
+ "Your kernel may have been built without NUMA support.\n"
156
+ ]
157
+ },
158
+ {
159
+ "name": "stdout",
160
+ "output_type": "stream",
161
+ "text": [
162
+ "\u001b[1m149/149\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 26ms/step\n"
163
+ ]
164
+ }
165
+ ],
166
+ "source": [
167
+ "model = tf.keras.models.load_model(\"model/x_g85_lstm.keras\")\n",
168
+ "results_tf = model.predict(X_test, batch_size=batch_size)"
169
+ ]
170
+ },
171
+ {
172
+ "cell_type": "code",
173
+ "execution_count": 9,
174
+ "metadata": {},
175
+ "outputs": [
176
+ {
177
+ "data": {
178
+ "text/plain": [
179
+ "array([[9.9999988e-01],\n",
180
+ " [5.0881273e-01],\n",
181
+ " [5.1265997e-01],\n",
182
+ " ...,\n",
183
+ " [5.1503539e-01],\n",
184
+ " [7.0983964e-07],\n",
185
+ " [4.2161783e-03]], dtype=float32)"
186
+ ]
187
+ },
188
+ "execution_count": 9,
189
+ "metadata": {},
190
+ "output_type": "execute_result"
191
+ }
192
+ ],
193
+ "source": [
194
+ "results_tf"
195
+ ]
196
+ },
197
+ {
198
+ "cell_type": "code",
199
+ "execution_count": 14,
200
+ "metadata": {},
201
+ "outputs": [
202
+ {
203
+ "name": "stdout",
204
+ "output_type": "stream",
205
+ "text": [
206
+ "[0.5088127]\n",
207
+ "[0.51265997]\n",
208
+ "[0.5133168]\n",
209
+ "[0.5175032]\n",
210
+ "[0.5172875]\n",
211
+ "[0.49240825]\n",
212
+ "[0.5213967]\n",
213
+ "[4.4213255e-07]\n",
214
+ "[5.958247e-07]\n",
215
+ "[0.54779047]\n",
216
+ "[4.0276475e-08]\n",
217
+ "[0.59969515]\n",
218
+ "[0.5505284]\n",
219
+ "[1.6976633e-08]\n",
220
+ "[0.52958447]\n",
221
+ "[7.1741824e-06]\n",
222
+ "[0.5254274]\n",
223
+ "[0.5659796]\n",
224
+ "[0.52512294]\n",
225
+ "[0.1403734]\n",
226
+ "[0.53638256]\n",
227
+ "[4.4020638e-07]\n",
228
+ "[1.731864e-07]\n",
229
+ "[1.8702443e-07]\n",
230
+ "[6.747074e-08]\n",
231
+ "[0.51810956]\n",
232
+ "[0.55945635]\n",
233
+ "[0.55816835]\n",
234
+ "[0.56873506]\n",
235
+ "[0.5214108]\n",
236
+ "[0.5479464]\n",
237
+ "[0.51823515]\n",
238
+ "[0.5547492]\n",
239
+ "[0.52365965]\n",
240
+ "[4.684815e-08]\n",
241
+ "[0.51683825]\n",
242
+ "[0.5517129]\n",
243
+ "[0.5744316]\n",
244
+ "[0.52679396]\n",
245
+ "[4.8502156e-06]\n",
246
+ "[2.6568023e-06]\n",
247
+ "[0.533505]\n",
248
+ "[2.2138713e-07]\n",
249
+ "[0.02493592]\n",
250
+ "[0.5232236]\n",
251
+ "[0.55873424]\n",
252
+ "[5.1347274e-06]\n",
253
+ "[0.54797363]\n",
254
+ "[1.1549934e-07]\n",
255
+ "[2.0160258e-05]\n",
256
+ "[0.53769714]\n",
257
+ "[0.51279473]\n",
258
+ "[6.2316885e-06]\n",
259
+ "[0.55225736]\n",
260
+ "[2.5101611e-08]\n",
261
+ "[0.5227212]\n",
262
+ "[0.5193406]\n",
263
+ "[0.46370813]\n",
264
+ "[1.5190153e-07]\n",
265
+ "[0.5598128]\n",
266
+ "[8.7854164e-07]\n",
267
+ "[0.55790967]\n",
268
+ "[0.01177888]\n",
269
+ "[0.5365415]\n",
270
+ "[0.59269744]\n",
271
+ "[7.5124417e-06]\n",
272
+ "[0.52335036]\n",
273
+ "[8.270854e-06]\n",
274
+ "[0.5247445]\n",
275
+ "[0.43511015]\n",
276
+ "[5.148532e-08]\n",
277
+ "[0.54349643]\n",
278
+ "[0.5215502]\n",
279
+ "[7.944892e-06]\n",
280
+ "[0.5956361]\n",
281
+ "[7.892649e-06]\n",
282
+ "[0.0172681]\n",
283
+ "[0.56346095]\n",
284
+ "[0.58330053]\n",
285
+ "[3.0122106e-08]\n",
286
+ "[0.5495571]\n",
287
+ "[0.49797347]\n",
288
+ "[0.51342446]\n",
289
+ "[1.1034984e-06]\n",
290
+ "[2.0771104e-08]\n",
291
+ "[2.0016872e-08]\n",
292
+ "[0.22417757]\n",
293
+ "[0.53618234]\n",
294
+ "[3.9915278e-08]\n",
295
+ "[0.55902207]\n",
296
+ "[0.5603777]\n",
297
+ "[0.53132385]\n",
298
+ "[0.5410436]\n",
299
+ "[0.55934197]\n",
300
+ "[0.5252725]\n",
301
+ "[1.441729e-06]\n",
302
+ "[0.55716646]\n",
303
+ "[0.51513517]\n",
304
+ "[0.52491367]\n",
305
+ "[0.44445482]\n",
306
+ "[0.52545273]\n",
307
+ "[2.7402542e-08]\n",
308
+ "[0.58299667]\n",
309
+ "[0.515814]\n",
310
+ "[0.52792996]\n",
311
+ "[0.5264834]\n",
312
+ "[0.5038831]\n",
313
+ "[7.303434e-07]\n",
314
+ "[0.53891075]\n",
315
+ "[1.11091154e-07]\n",
316
+ "[0.59187686]\n",
317
+ "[2.4319795e-06]\n",
318
+ "[0.5209383]\n",
319
+ "[0.48292255]\n",
320
+ "[0.5390749]\n",
321
+ "[0.56070894]\n",
322
+ "[0.54790306]\n",
323
+ "[0.52164716]\n",
324
+ "[0.53427064]\n",
325
+ "[0.5306523]\n",
326
+ "[0.55483395]\n",
327
+ "[0.5532732]\n",
328
+ "[1.4081434e-06]\n",
329
+ "[0.53875196]\n",
330
+ "[6.468963e-06]\n",
331
+ "[0.14258088]\n",
332
+ "[0.53936505]\n",
333
+ "[0.5447853]\n",
334
+ "[3.496829e-05]\n",
335
+ "[0.54574317]\n",
336
+ "[0.5575257]\n",
337
+ "[7.7271665e-08]\n",
338
+ "[1.9510676e-08]\n",
339
+ "[2.2753122e-05]\n",
340
+ "[1.2620087e-06]\n",
341
+ "[0.50676304]\n",
342
+ "[5.139102e-06]\n",
343
+ "[6.4493474e-07]\n",
344
+ "[2.6471714e-06]\n",
345
+ "[0.5552453]\n",
346
+ "[0.45130053]\n",
347
+ "[0.5836006]\n",
348
+ "[0.52795917]\n",
349
+ "[4.8749507e-06]\n",
350
+ "[0.5438666]\n",
351
+ "[1.0317372e-08]\n",
352
+ "[1.4135317e-07]\n",
353
+ "[3.177687e-07]\n",
354
+ "[0.50914174]\n",
355
+ "[0.5181725]\n",
356
+ "[0.5679597]\n",
357
+ "[0.53887993]\n",
358
+ "[0.52596307]\n",
359
+ "[0.5342407]\n",
360
+ "[0.18922822]\n",
361
+ "[0.520713]\n",
362
+ "[1.057158e-05]\n",
363
+ "[0.57546127]\n",
364
+ "[0.00721576]\n",
365
+ "[0.5416803]\n",
366
+ "[0.5861297]\n",
367
+ "[2.4254732e-06]\n",
368
+ "[9.6510306e-08]\n",
369
+ "[0.53649354]\n",
370
+ "[0.00049826]\n",
371
+ "[4.9413407e-05]\n",
372
+ "[0.5157224]\n",
373
+ "[0.5528492]\n",
374
+ "[0.58058506]\n",
375
+ "[0.5131997]\n",
376
+ "[3.2480807e-07]\n",
377
+ "[0.555021]\n",
378
+ "[0.52508384]\n",
379
+ "[0.5576726]\n",
380
+ "[3.5683325e-07]\n",
381
+ "[0.5774245]\n",
382
+ "[0.54743457]\n",
383
+ "[0.5222877]\n",
384
+ "[3.1240465e-06]\n",
385
+ "[0.5932049]\n",
386
+ "[6.67127e-05]\n",
387
+ "[0.55732137]\n",
388
+ "[0.5079472]\n",
389
+ "[8.331521e-07]\n",
390
+ "[0.558574]\n",
391
+ "[2.753783e-07]\n",
392
+ "[3.5037687e-08]\n",
393
+ "[0.50765145]\n",
394
+ "[0.52802444]\n",
395
+ "[0.5281121]\n",
396
+ "[0.55676913]\n",
397
+ "[0.51609474]\n",
398
+ "[0.53790224]\n",
399
+ "[0.00034809]\n",
400
+ "[0.53415334]\n",
401
+ "[6.98908e-08]\n",
402
+ "[0.589019]\n",
403
+ "[0.5265069]\n",
404
+ "[0.54819]\n",
405
+ "[2.02462e-06]\n",
406
+ "[2.1125591e-07]\n",
407
+ "[4.2742474e-07]\n",
408
+ "[5.5242953e-08]\n",
409
+ "[4.2654165e-06]\n",
410
+ "[1.6849587e-07]\n",
411
+ "[1.05610795e-07]\n",
412
+ "[0.5216675]\n",
413
+ "[2.6171039e-08]\n",
414
+ "[0.53844935]\n",
415
+ "[0.51457834]\n",
416
+ "[1.01428e-06]\n",
417
+ "[0.01221024]\n",
418
+ "[0.36190462]\n",
419
+ "[0.57569194]\n",
420
+ "[0.5155663]\n",
421
+ "[0.56039804]\n",
422
+ "[1.3981359e-05]\n",
423
+ "[0.5506314]\n",
424
+ "[0.5763266]\n",
425
+ "[0.5462017]\n",
426
+ "[0.52745605]\n",
427
+ "[0.5170188]\n",
428
+ "[0.5566122]\n",
429
+ "[0.5586262]\n",
430
+ "[0.579604]\n",
431
+ "[0.41887438]\n",
432
+ "[0.5046833]\n",
433
+ "[0.57353556]\n",
434
+ "[0.522364]\n",
435
+ "[0.53940004]\n",
436
+ "[0.55034673]\n",
437
+ "[0.5886711]\n",
438
+ "[1.7309227e-06]\n",
439
+ "[0.5066121]\n",
440
+ "[0.55419075]\n",
441
+ "[4.7662022e-07]\n",
442
+ "[0.5419204]\n",
443
+ "[0.54287666]\n",
444
+ "[0.52444816]\n",
445
+ "[0.5163001]\n",
446
+ "[0.5449694]\n",
447
+ "[0.5452721]\n",
448
+ "[0.50510675]\n",
449
+ "[0.52149314]\n",
450
+ "[0.544587]\n",
451
+ "[0.55334795]\n",
452
+ "[1.3427616e-07]\n",
453
+ "[4.0764257e-06]\n",
454
+ "[0.5294298]\n",
455
+ "[2.341796e-06]\n",
456
+ "[0.5302593]\n",
457
+ "[2.499634e-07]\n",
458
+ "[6.507299e-08]\n",
459
+ "[0.5269737]\n",
460
+ "[3.3427966e-08]\n",
461
+ "[0.556381]\n",
462
+ "[0.56663597]\n",
463
+ "[0.54515624]\n",
464
+ "[8.3753175e-06]\n",
465
+ "[0.5420762]\n",
466
+ "[0.5089472]\n",
467
+ "[0.55435145]\n",
468
+ "[4.4846265e-06]\n",
469
+ "[0.5298025]\n",
470
+ "[0.52384907]\n",
471
+ "[1.8459433e-07]\n",
472
+ "[0.53230125]\n",
473
+ "[0.5219228]\n",
474
+ "[0.52424204]\n",
475
+ "[0.52316016]\n",
476
+ "[0.00956426]\n",
477
+ "[0.5541962]\n",
478
+ "[3.2900676e-08]\n",
479
+ "[0.5787359]\n",
480
+ "[0.56105196]\n",
481
+ "[1.9929792e-07]\n",
482
+ "[0.56423956]\n",
483
+ "[3.706456e-05]\n",
484
+ "[0.5340344]\n",
485
+ "[2.9597185e-08]\n",
486
+ "[0.53966194]\n",
487
+ "[0.54539526]\n",
488
+ "[0.56639266]\n",
489
+ "[0.5257454]\n",
490
+ "[2.5829045e-06]\n",
491
+ "[0.45533958]\n",
492
+ "[0.54002446]\n",
493
+ "[0.59624296]\n",
494
+ "[0.51815146]\n",
495
+ "[0.09796613]\n",
496
+ "[0.53796655]\n",
497
+ "[0.5197484]\n",
498
+ "[5.399319e-06]\n",
499
+ "[7.9278936e-07]\n",
500
+ "[7.210256e-07]\n",
501
+ "[4.89138e-08]\n",
502
+ "[2.1912747e-06]\n",
503
+ "[4.1429626e-08]\n",
504
+ "[3.5017695e-06]\n",
505
+ "[0.58667606]\n",
506
+ "[4.5649945e-06]\n",
507
+ "[0.1502814]\n",
508
+ "[0.5880827]\n",
509
+ "[1.3640721e-07]\n",
510
+ "[0.5959957]\n",
511
+ "[4.525528e-06]\n",
512
+ "[0.49958965]\n",
513
+ "[9.1180524e-08]\n",
514
+ "[0.39369473]\n",
515
+ "[0.51147354]\n",
516
+ "[1.7075978e-06]\n",
517
+ "[8.98138e-06]\n",
518
+ "[1.2532195e-05]\n",
519
+ "[0.5516186]\n",
520
+ "[7.409735e-07]\n",
521
+ "[0.54480577]\n",
522
+ "[0.5166605]\n",
523
+ "[0.5383621]\n",
524
+ "[4.402649e-06]\n",
525
+ "[0.5568118]\n",
526
+ "[0.5352143]\n",
527
+ "[0.51151377]\n",
528
+ "[0.5256358]\n",
529
+ "[5.938228e-06]\n",
530
+ "[0.5489272]\n",
531
+ "[0.52359873]\n",
532
+ "[0.5490627]\n",
533
+ "[0.5829109]\n",
534
+ "[0.5264909]\n",
535
+ "[0.50901455]\n",
536
+ "[0.51831806]\n",
537
+ "[0.5916811]\n",
538
+ "[0.51085806]\n",
539
+ "[0.5201404]\n",
540
+ "[0.5976158]\n",
541
+ "[0.55703115]\n",
542
+ "[5.390459e-06]\n",
543
+ "[0.5153898]\n",
544
+ "[0.5260409]\n",
545
+ "[0.5225991]\n",
546
+ "[0.5079851]\n",
547
+ "[3.0326148e-06]\n",
548
+ "[6.036938e-08]\n",
549
+ "[1.937685e-06]\n",
550
+ "[0.5583478]\n",
551
+ "[0.5809256]\n",
552
+ "[3.0649637e-06]\n",
553
+ "[0.5077612]\n",
554
+ "[0.48545083]\n",
555
+ "[4.364626e-07]\n",
556
+ "[8.131268e-07]\n",
557
+ "[8.080895e-06]\n",
558
+ "[4.9189337e-05]\n",
559
+ "[1.4450924e-08]\n",
560
+ "[0.48202512]\n",
561
+ "[4.8364047e-08]\n",
562
+ "[0.5413335]\n",
563
+ "[0.5261339]\n",
564
+ "[4.7478024e-06]\n",
565
+ "[0.59845173]\n",
566
+ "[0.00088873]\n",
567
+ "[0.55163866]\n",
568
+ "[0.55608547]\n",
569
+ "[0.51585746]\n",
570
+ "[2.768513e-06]\n",
571
+ "[0.56483126]\n",
572
+ "[0.5219003]\n",
573
+ "[0.5153813]\n",
574
+ "[2.1821937e-07]\n",
575
+ "[1.5019272e-06]\n",
576
+ "[0.5528914]\n",
577
+ "[8.431395e-07]\n",
578
+ "[0.5601626]\n",
579
+ "[4.6379528e-06]\n",
580
+ "[0.5864952]\n",
581
+ "[0.56278527]\n",
582
+ "[0.5284872]\n",
583
+ "[0.59531486]\n",
584
+ "[0.5744223]\n",
585
+ "[0.38129497]\n",
586
+ "[0.5460754]\n",
587
+ "[3.270474e-06]\n",
588
+ "[0.5148198]\n",
589
+ "[0.5340273]\n",
590
+ "[1.673119e-06]\n",
591
+ "[0.19160852]\n",
592
+ "[3.398014e-07]\n",
593
+ "[0.5214152]\n",
594
+ "[3.578836e-05]\n",
595
+ "[6.152747e-06]\n",
596
+ "[0.03100946]\n",
597
+ "[0.5560534]\n",
598
+ "[1.990242e-07]\n",
599
+ "[5.7549037e-06]\n",
600
+ "[5.2259304e-07]\n",
601
+ "[0.5900799]\n",
602
+ "[1.3410317e-06]\n",
603
+ "[0.5047528]\n",
604
+ "[0.5544111]\n",
605
+ "[0.59301645]\n",
606
+ "[1.362746e-07]\n",
607
+ "[1.5131654e-07]\n",
608
+ "[0.5405256]\n",
609
+ "[7.9117385e-08]\n",
610
+ "[0.5126328]\n",
611
+ "[0.57592607]\n",
612
+ "[0.00010533]\n",
613
+ "[0.51813966]\n",
614
+ "[7.435658e-07]\n",
615
+ "[0.5504889]\n",
616
+ "[0.57080185]\n",
617
+ "[0.5576676]\n",
618
+ "[0.00018108]\n",
619
+ "[2.140268e-07]\n",
620
+ "[2.663934e-06]\n",
621
+ "[0.5372801]\n",
622
+ "[0.5259025]\n",
623
+ "[0.5725514]\n",
624
+ "[0.5253373]\n",
625
+ "[0.5666394]\n",
626
+ "[3.769737e-05]\n",
627
+ "[0.5183146]\n",
628
+ "[3.1637796e-08]\n",
629
+ "[9.686087e-08]\n",
630
+ "[0.5970117]\n",
631
+ "[0.50821644]\n",
632
+ "[6.401401e-06]\n",
633
+ "[0.5424959]\n",
634
+ "[0.5064584]\n",
635
+ "[0.51776063]\n",
636
+ "[0.5608352]\n",
637
+ "[8.9400565e-08]\n",
638
+ "[0.5151175]\n",
639
+ "[0.5492602]\n",
640
+ "[0.5257005]\n",
641
+ "[0.5421302]\n",
642
+ "[1.5799537e-07]\n",
643
+ "[0.52026135]\n",
644
+ "[0.53126806]\n",
645
+ "[2.1257844e-07]\n",
646
+ "[0.5268919]\n",
647
+ "[4.7443173e-06]\n",
648
+ "[0.54025316]\n",
649
+ "[0.53622985]\n",
650
+ "[0.5204369]\n",
651
+ "[0.5533192]\n",
652
+ "[0.50074553]\n",
653
+ "[0.55360043]\n",
654
+ "[0.5138297]\n",
655
+ "[0.53347856]\n",
656
+ "[0.5171809]\n",
657
+ "[0.5356852]\n",
658
+ "[1.4945265e-08]\n",
659
+ "[0.52074146]\n",
660
+ "[0.5899108]\n",
661
+ "[0.5331321]\n",
662
+ "[0.53625554]\n",
663
+ "[2.8856257e-06]\n",
664
+ "[0.5495994]\n",
665
+ "[0.51800555]\n",
666
+ "[5.5117397e-08]\n",
667
+ "[1.9294763e-05]\n",
668
+ "[0.00048247]\n",
669
+ "[0.5497745]\n",
670
+ "[0.5722788]\n",
671
+ "[0.5844681]\n",
672
+ "[2.8929936e-08]\n",
673
+ "[2.2820544e-07]\n",
674
+ "[1.9876046e-05]\n",
675
+ "[0.5523948]\n",
676
+ "[0.50851196]\n",
677
+ "[9.2993446e-08]\n",
678
+ "[2.4849612e-08]\n",
679
+ "[0.5149324]\n",
680
+ "[0.59137917]\n",
681
+ "[0.57262963]\n",
682
+ "[0.51979536]\n",
683
+ "[2.0819416e-08]\n",
684
+ "[0.31505418]\n",
685
+ "[3.1240465e-06]\n",
686
+ "[3.7262485e-06]\n",
687
+ "[0.5823308]\n",
688
+ "[0.24213594]\n",
689
+ "[1.379732e-06]\n",
690
+ "[0.45922711]\n",
691
+ "[5.7609764e-06]\n",
692
+ "[4.5653158e-07]\n",
693
+ "[2.1695782e-06]\n",
694
+ "[1.3246981e-05]\n",
695
+ "[0.5967616]\n",
696
+ "[9.322604e-06]\n",
697
+ "[3.5242497e-06]\n",
698
+ "[0.00766806]\n",
699
+ "[0.5431959]\n",
700
+ "[0.00016502]\n",
701
+ "[0.5717386]\n",
702
+ "[0.58779967]\n",
703
+ "[0.50598943]\n",
704
+ "[1.2883383e-07]\n",
705
+ "[2.0369723e-06]\n",
706
+ "[0.539277]\n",
707
+ "[0.52343994]\n",
708
+ "[0.5622057]\n",
709
+ "[0.52018833]\n",
710
+ "[0.46026027]\n",
711
+ "[0.55228287]\n",
712
+ "[6.0465422e-06]\n",
713
+ "[0.5172]\n",
714
+ "[3.8023618e-08]\n",
715
+ "[0.5109251]\n",
716
+ "[0.08360361]\n",
717
+ "[2.3268287e-05]\n",
718
+ "[0.04510226]\n",
719
+ "[0.50767463]\n",
720
+ "[8.8874195e-08]\n",
721
+ "[0.5201912]\n",
722
+ "[1.0433779e-07]\n",
723
+ "[1.1345419e-06]\n",
724
+ "[4.1575627e-06]\n",
725
+ "[1.2286095e-07]\n",
726
+ "[0.56379557]\n",
727
+ "[0.5233055]\n",
728
+ "[0.52033335]\n",
729
+ "[1.7398911e-06]\n",
730
+ "[1.4863223e-08]\n",
731
+ "[4.4961935e-06]\n",
732
+ "[0.51176995]\n",
733
+ "[0.5876031]\n",
734
+ "[0.521307]\n",
735
+ "[1.1710194e-06]\n",
736
+ "[9.738075e-06]\n",
737
+ "[0.5396787]\n",
738
+ "[0.50461763]\n",
739
+ "[0.51655734]\n",
740
+ "[0.00026198]\n",
741
+ "[0.5518966]\n",
742
+ "[0.5272092]\n",
743
+ "[0.52274376]\n",
744
+ "[0.5193018]\n",
745
+ "[7.131052e-06]\n",
746
+ "[2.149237e-07]\n",
747
+ "[1.2844363e-06]\n",
748
+ "[0.54669]\n",
749
+ "[0.5582764]\n",
750
+ "[2.604674e-08]\n",
751
+ "[0.5242668]\n",
752
+ "[5.7667644e-06]\n",
753
+ "[5.0114745e-06]\n",
754
+ "[0.5324589]\n",
755
+ "[4.2681197e-08]\n",
756
+ "[0.5249938]\n",
757
+ "[0.5739546]\n",
758
+ "[0.00394043]\n",
759
+ "[0.52275777]\n",
760
+ "[0.4892782]\n",
761
+ "[7.497916e-07]\n",
762
+ "[0.04676315]\n",
763
+ "[0.55592865]\n",
764
+ "[4.9269424e-08]\n",
765
+ "[7.271012e-06]\n",
766
+ "[0.525037]\n",
767
+ "[9.61842e-06]\n",
768
+ "[0.5230744]\n",
769
+ "[0.56907195]\n",
770
+ "[0.5858792]\n",
771
+ "[1.9608176e-05]\n",
772
+ "[0.5206579]\n",
773
+ "[0.58171254]\n",
774
+ "[0.5160736]\n",
775
+ "[0.5284306]\n",
776
+ "[3.154778e-07]\n",
777
+ "[0.54637015]\n",
778
+ "[0.5545969]\n",
779
+ "[0.1543364]\n",
780
+ "[0.5978366]\n",
781
+ "[0.5064782]\n",
782
+ "[0.52213466]\n",
783
+ "[5.7343914e-06]\n",
784
+ "[6.5962354e-08]\n",
785
+ "[0.56102747]\n",
786
+ "[0.52684444]\n",
787
+ "[0.5041282]\n",
788
+ "[4.1842327e-06]\n",
789
+ "[0.4726058]\n",
790
+ "[1.1917584e-06]\n",
791
+ "[0.528413]\n",
792
+ "[8.8421365e-07]\n",
793
+ "[3.663544e-08]\n",
794
+ "[0.54147816]\n",
795
+ "[0.5090732]\n",
796
+ "[0.59601736]\n",
797
+ "[0.5213167]\n",
798
+ "[0.5158877]\n",
799
+ "[8.7351896e-07]\n",
800
+ "[0.523467]\n",
801
+ "[4.1332105e-06]\n",
802
+ "[0.55834466]\n",
803
+ "[0.5521835]\n",
804
+ "[0.51145923]\n",
805
+ "[2.6939915e-07]\n",
806
+ "[0.5345101]\n",
807
+ "[0.5395575]\n",
808
+ "[0.5499015]\n",
809
+ "[0.51649505]\n",
810
+ "[0.46601254]\n",
811
+ "[0.5211594]\n",
812
+ "[0.51129514]\n",
813
+ "[0.5831211]\n",
814
+ "[1.9907147e-07]\n",
815
+ "[0.54062593]\n",
816
+ "[0.5261153]\n",
817
+ "[1.9381192e-08]\n",
818
+ "[0.54116374]\n",
819
+ "[0.51462775]\n",
820
+ "[0.5102669]\n",
821
+ "[0.4836161]\n",
822
+ "[0.00098977]\n",
823
+ "[0.51830417]\n",
824
+ "[0.51860267]\n",
825
+ "[0.59128934]\n",
826
+ "[1.4024674e-07]\n",
827
+ "[0.55541927]\n",
828
+ "[0.53934234]\n",
829
+ "[0.55569655]\n",
830
+ "[0.47113162]\n",
831
+ "[0.5582471]\n",
832
+ "[0.00027943]\n",
833
+ "[0.53663254]\n",
834
+ "[5.498582e-07]\n",
835
+ "[0.50926036]\n",
836
+ "[0.55076534]\n",
837
+ "[0.52830994]\n",
838
+ "[0.5157482]\n",
839
+ "[0.5215925]\n",
840
+ "[0.58940095]\n",
841
+ "[1.2696837e-07]\n",
842
+ "[3.313009e-07]\n",
843
+ "[4.0189493e-06]\n",
844
+ "[0.5386857]\n",
845
+ "[0.5192609]\n",
846
+ "[0.5512821]\n",
847
+ "[0.5565513]\n",
848
+ "[0.55324876]\n",
849
+ "[1.5465118e-06]\n",
850
+ "[0.5172606]\n",
851
+ "[0.5472802]\n",
852
+ "[1.1158489e-07]\n",
853
+ "[0.50888264]\n",
854
+ "[0.541835]\n",
855
+ "[0.4621731]\n",
856
+ "[0.53812927]\n",
857
+ "[0.5493954]\n",
858
+ "[0.5400095]\n",
859
+ "[0.5590281]\n",
860
+ "[0.54773486]\n",
861
+ "[0.52579486]\n",
862
+ "[0.5252085]\n",
863
+ "[9.820582e-07]\n",
864
+ "[2.118912e-06]\n",
865
+ "[0.5095348]\n",
866
+ "[0.562537]\n",
867
+ "[0.52341384]\n",
868
+ "[0.5404982]\n",
869
+ "[0.5778278]\n",
870
+ "[3.0964028e-08]\n",
871
+ "[0.502009]\n",
872
+ "[0.54460365]\n",
873
+ "[3.1629436e-06]\n",
874
+ "[5.155962e-07]\n",
875
+ "[0.5584716]\n",
876
+ "[0.51923895]\n",
877
+ "[0.58046806]\n",
878
+ "[0.01130381]\n",
879
+ "[0.5110258]\n",
880
+ "[0.56347775]\n",
881
+ "[0.59946966]\n",
882
+ "[0.07252227]\n",
883
+ "[1.0632466e-05]\n",
884
+ "[0.00258124]\n",
885
+ "[0.5540512]\n",
886
+ "[1.8263522e-07]\n",
887
+ "[6.516403e-08]\n",
888
+ "[1.9931813e-05]\n",
889
+ "[0.51396334]\n",
890
+ "[1.8105918e-07]\n",
891
+ "[0.525375]\n",
892
+ "[5.5234595e-06]\n",
893
+ "[4.6220384e-07]\n",
894
+ "[0.53722054]\n",
895
+ "[2.866973e-06]\n",
896
+ "[0.5489215]\n",
897
+ "[0.55807143]\n",
898
+ "[0.5074818]\n",
899
+ "[0.5215419]\n",
900
+ "[8.849274e-07]\n",
901
+ "[0.5116886]\n",
902
+ "[0.5394539]\n",
903
+ "[0.43709317]\n",
904
+ "[0.5176078]\n",
905
+ "[7.1691484e-06]\n",
906
+ "[0.52728283]\n",
907
+ "[0.5483839]\n",
908
+ "[5.824134e-06]\n",
909
+ "[4.3275926e-07]\n",
910
+ "[0.56925756]\n",
911
+ "[5.6486124e-06]\n",
912
+ "[0.5330136]\n",
913
+ "[0.5350346]\n",
914
+ "[0.5236176]\n",
915
+ "[2.127408e-06]\n",
916
+ "[0.576991]\n",
917
+ "[0.00669841]\n",
918
+ "[2.3740442e-05]\n",
919
+ "[2.1021688e-07]\n",
920
+ "[1.09529374e-07]\n",
921
+ "[0.5690424]\n",
922
+ "[1.2441453e-07]\n",
923
+ "[0.511355]\n",
924
+ "[0.52299124]\n",
925
+ "[3.2470336e-07]\n",
926
+ "[1.2534919e-07]\n",
927
+ "[6.143186e-08]\n",
928
+ "[0.554101]\n",
929
+ "[0.00011012]\n",
930
+ "[9.5411956e-08]\n",
931
+ "[0.35113075]\n",
932
+ "[0.5155411]\n",
933
+ "[0.5663774]\n",
934
+ "[2.1612477e-06]\n",
935
+ "[0.50903624]\n",
936
+ "[0.5548074]\n",
937
+ "[0.52175033]\n",
938
+ "[1.1671646e-07]\n",
939
+ "[3.9082483e-06]\n",
940
+ "[4.3398445e-06]\n",
941
+ "[4.0788183e-07]\n",
942
+ "[1.2332753e-06]\n",
943
+ "[0.55514103]\n",
944
+ "[0.52961975]\n",
945
+ "[0.00731855]\n",
946
+ "[0.5674589]\n",
947
+ "[0.5146332]\n",
948
+ "[0.3518882]\n",
949
+ "[0.56074935]\n",
950
+ "[2.7194354e-05]\n",
951
+ "[0.5195438]\n",
952
+ "[0.55114144]\n",
953
+ "[0.5500344]\n",
954
+ "[0.598888]\n",
955
+ "[0.5604896]\n",
956
+ "[0.5368308]\n",
957
+ "[0.1979551]\n",
958
+ "[0.5832462]\n",
959
+ "[0.5134757]\n",
960
+ "[0.53759587]\n",
961
+ "[0.50695705]\n",
962
+ "[0.5549503]\n",
963
+ "[0.5179947]\n",
964
+ "[1.6054591e-07]\n",
965
+ "[1.0296288e-06]\n",
966
+ "[0.5915408]\n",
967
+ "[1.9765967e-07]\n",
968
+ "[0.5226541]\n",
969
+ "[0.581547]\n",
970
+ "[0.54691577]\n",
971
+ "[0.5399837]\n",
972
+ "[0.52991647]\n",
973
+ "[1.8851186e-05]\n",
974
+ "[0.5424272]\n",
975
+ "[6.506997e-06]\n",
976
+ "[0.52428734]\n",
977
+ "[0.53278166]\n",
978
+ "[0.5522466]\n",
979
+ "[2.3427745e-06]\n",
980
+ "[3.417935e-06]\n",
981
+ "[0.49898437]\n",
982
+ "[0.36162692]\n",
983
+ "[0.5447371]\n",
984
+ "[0.55037755]\n",
985
+ "[7.340202e-06]\n",
986
+ "[0.58875674]\n",
987
+ "[0.5543914]\n",
988
+ "[0.523032]\n",
989
+ "[0.52568316]\n",
990
+ "[0.424801]\n",
991
+ "[7.5557284e-07]\n",
992
+ "[6.610552e-05]\n",
993
+ "[4.9317094e-07]\n",
994
+ "[0.51901615]\n",
995
+ "[0.33995217]\n",
996
+ "[0.5925343]\n",
997
+ "[0.49675658]\n",
998
+ "[0.5076359]\n",
999
+ "[0.5595924]\n",
1000
+ "[0.56397814]\n",
1001
+ "[7.660505e-07]\n",
1002
+ "[0.27737227]\n",
1003
+ "[0.00101747]\n",
1004
+ "[0.58135545]\n",
1005
+ "[3.6547618e-07]\n",
1006
+ "[0.46743482]\n",
1007
+ "[5.6305626e-06]\n",
1008
+ "[0.5114198]\n",
1009
+ "[0.591404]\n",
1010
+ "[0.52188766]\n",
1011
+ "[7.325617e-05]\n",
1012
+ "[0.51445377]\n",
1013
+ "[0.5180503]\n",
1014
+ "[0.5830329]\n",
1015
+ "[0.48015526]\n",
1016
+ "[0.25792873]\n",
1017
+ "[1.5676957e-05]\n",
1018
+ "[0.5406408]\n",
1019
+ "[3.111477e-07]\n",
1020
+ "[5.4000427e-08]\n",
1021
+ "[7.758993e-08]\n",
1022
+ "[0.551282]\n",
1023
+ "[0.50596917]\n",
1024
+ "[3.7251638e-08]\n",
1025
+ "[0.4832368]\n",
1026
+ "[0.5171987]\n",
1027
+ "[0.53785014]\n",
1028
+ "[0.3923729]\n",
1029
+ "[0.5922732]\n",
1030
+ "[0.5545754]\n",
1031
+ "[2.5519728e-07]\n",
1032
+ "[0.5319671]\n",
1033
+ "[0.5304013]\n",
1034
+ "[1.1939301e-06]\n",
1035
+ "[0.53953505]\n",
1036
+ "[0.5834288]\n",
1037
+ "[1.5712793e-07]\n",
1038
+ "[6.1709954e-08]\n",
1039
+ "[0.5315549]\n",
1040
+ "[0.55107486]\n",
1041
+ "[6.8693557e-06]\n",
1042
+ "[0.28463992]\n",
1043
+ "[0.15632093]\n",
1044
+ "[0.54238373]\n",
1045
+ "[0.5219307]\n",
1046
+ "[0.59906995]\n",
1047
+ "[0.55798334]\n",
1048
+ "[0.27632454]\n",
1049
+ "[2.1828773e-06]\n",
1050
+ "[0.5354049]\n",
1051
+ "[0.55676705]\n",
1052
+ "[4.9128475e-06]\n",
1053
+ "[0.5391227]\n",
1054
+ "[0.5964332]\n",
1055
+ "[0.5331572]\n",
1056
+ "[0.5858086]\n",
1057
+ "[0.5488464]\n",
1058
+ "[0.53422296]\n",
1059
+ "[0.5385875]\n",
1060
+ "[0.5127321]\n",
1061
+ "[0.5108584]\n",
1062
+ "[7.794585e-06]\n",
1063
+ "[0.00034891]\n",
1064
+ "[0.54493773]\n",
1065
+ "[0.5159877]\n",
1066
+ "[0.5235064]\n",
1067
+ "[1.1202354e-07]\n",
1068
+ "[0.58268875]\n",
1069
+ "[0.5515064]\n",
1070
+ "[6.3916655e-06]\n",
1071
+ "[0.5982195]\n",
1072
+ "[9.363567e-07]\n",
1073
+ "[9.728029e-07]\n",
1074
+ "[0.5436178]\n",
1075
+ "[0.24265948]\n",
1076
+ "[0.5559697]\n",
1077
+ "[0.58320373]\n",
1078
+ "[0.583549]\n",
1079
+ "[1.7352879e-05]\n",
1080
+ "[3.6126508e-07]\n",
1081
+ "[4.4192657e-06]\n",
1082
+ "[1.9135111e-06]\n",
1083
+ "[0.5489803]\n",
1084
+ "[5.4119696e-06]\n",
1085
+ "[0.5410168]\n",
1086
+ "[0.5156214]\n",
1087
+ "[1.5631649e-07]\n",
1088
+ "[0.52781934]\n",
1089
+ "[0.00285925]\n",
1090
+ "[0.55621475]\n",
1091
+ "[0.5146988]\n",
1092
+ "[0.5357874]\n",
1093
+ "[4.5548536e-06]\n",
1094
+ "[0.53611326]\n",
1095
+ "[4.3358546e-07]\n",
1096
+ "[0.5231464]\n",
1097
+ "[0.5162566]\n",
1098
+ "[5.424541e-06]\n",
1099
+ "[1.3414038e-05]\n",
1100
+ "[0.52498746]\n",
1101
+ "[0.5608553]\n",
1102
+ "[0.5429728]\n",
1103
+ "[4.1179724e-06]\n",
1104
+ "[2.2731433e-06]\n",
1105
+ "[0.57747513]\n",
1106
+ "[0.5519115]\n",
1107
+ "[0.56552386]\n",
1108
+ "[1.7539753e-06]\n",
1109
+ "[4.9281593e-06]\n",
1110
+ "[1.8223939e-06]\n",
1111
+ "[3.1043365e-07]\n",
1112
+ "[6.4572134e-08]\n",
1113
+ "[0.55632246]\n",
1114
+ "[0.55939496]\n",
1115
+ "[0.5173844]\n",
1116
+ "[0.5701221]\n",
1117
+ "[0.57755554]\n",
1118
+ "[0.50954646]\n",
1119
+ "[0.5608829]\n",
1120
+ "[6.669181e-06]\n",
1121
+ "[0.55208164]\n",
1122
+ "[4.182368e-07]\n",
1123
+ "[0.5191132]\n",
1124
+ "[0.57738614]\n",
1125
+ "[0.00011215]\n",
1126
+ "[7.0853716e-08]\n",
1127
+ "[0.5296136]\n",
1128
+ "[7.0856416e-08]\n",
1129
+ "[0.55215377]\n",
1130
+ "[0.00089094]\n",
1131
+ "[6.160458e-08]\n",
1132
+ "[0.50728476]\n",
1133
+ "[0.5121878]\n",
1134
+ "[1.02051914e-07]\n",
1135
+ "[2.7381537e-08]\n",
1136
+ "[0.54910916]\n",
1137
+ "[0.554505]\n",
1138
+ "[0.5445292]\n",
1139
+ "[0.5610226]\n",
1140
+ "[0.55348474]\n",
1141
+ "[0.55668426]\n",
1142
+ "[0.55582136]\n",
1143
+ "[2.5419217e-07]\n",
1144
+ "[0.5210978]\n",
1145
+ "[0.54382557]\n",
1146
+ "[0.18855529]\n",
1147
+ "[0.5574037]\n",
1148
+ "[8.9294035e-06]\n",
1149
+ "[0.5381616]\n",
1150
+ "[0.55185914]\n",
1151
+ "[0.01791332]\n",
1152
+ "[0.51908594]\n",
1153
+ "[0.5233025]\n",
1154
+ "[8.79568e-06]\n",
1155
+ "[2.4357141e-06]\n",
1156
+ "[0.5540786]\n",
1157
+ "[0.5367957]\n",
1158
+ "[0.5371721]\n",
1159
+ "[0.5188226]\n",
1160
+ "[0.51294374]\n",
1161
+ "[0.43794084]\n",
1162
+ "[1.3129895e-07]\n",
1163
+ "[0.10834631]\n",
1164
+ "[3.3301777e-07]\n",
1165
+ "[2.8354376e-07]\n",
1166
+ "[1.252485e-06]\n",
1167
+ "[0.5896488]\n",
1168
+ "[0.43925112]\n",
1169
+ "[0.51602393]\n",
1170
+ "[0.5082571]\n",
1171
+ "[0.5179172]\n",
1172
+ "[3.8691387e-06]\n",
1173
+ "[5.113086e-08]\n",
1174
+ "[0.5551768]\n",
1175
+ "[7.4039446e-05]\n",
1176
+ "[3.4283457e-06]\n",
1177
+ "[6.200243e-08]\n",
1178
+ "[0.51154727]\n",
1179
+ "[0.38194722]\n",
1180
+ "[3.0537457e-08]\n",
1181
+ "[0.5818416]\n",
1182
+ "[1.956953e-07]\n",
1183
+ "[1.2468174e-08]\n",
1184
+ "[0.49060938]\n",
1185
+ "[0.5534111]\n",
1186
+ "[0.5822684]\n",
1187
+ "[0.5435801]\n",
1188
+ "[0.12529814]\n",
1189
+ "[0.520562]\n",
1190
+ "[7.6165584e-08]\n",
1191
+ "[0.5111334]\n",
1192
+ "[0.59968555]\n",
1193
+ "[1.2507449e-08]\n",
1194
+ "[0.53296024]\n",
1195
+ "[0.57236356]\n",
1196
+ "[0.49612403]\n",
1197
+ "[0.5561117]\n",
1198
+ "[0.5162503]\n",
1199
+ "[0.5245982]\n",
1200
+ "[0.00169503]\n",
1201
+ "[0.5555824]\n",
1202
+ "[0.5409985]\n",
1203
+ "[0.52155066]\n",
1204
+ "[0.527477]\n",
1205
+ "[0.5923524]\n",
1206
+ "[0.5067624]\n",
1207
+ "[6.32755e-08]\n",
1208
+ "[0.5276657]\n",
1209
+ "[9.303759e-07]\n",
1210
+ "[0.5163697]\n",
1211
+ "[0.5443671]\n",
1212
+ "[7.5424196e-06]\n",
1213
+ "[7.984191e-06]\n",
1214
+ "[0.5467089]\n",
1215
+ "[9.238577e-06]\n",
1216
+ "[0.48345113]\n",
1217
+ "[0.5449126]\n",
1218
+ "[7.032444e-06]\n",
1219
+ "[0.4828316]\n",
1220
+ "[1.2007237e-07]\n",
1221
+ "[1.2318925e-07]\n",
1222
+ "[0.5143909]\n",
1223
+ "[0.5546712]\n",
1224
+ "[3.078166e-08]\n",
1225
+ "[1.8662957e-06]\n",
1226
+ "[0.55071145]\n",
1227
+ "[0.51747936]\n",
1228
+ "[0.5201361]\n",
1229
+ "[0.573437]\n",
1230
+ "[0.53587013]\n",
1231
+ "[2.9507282e-08]\n",
1232
+ "[0.51922596]\n",
1233
+ "[0.53463507]\n",
1234
+ "[0.54085505]\n",
1235
+ "[0.5181997]\n",
1236
+ "[0.5342292]\n",
1237
+ "[0.5428705]\n",
1238
+ "[0.5196344]\n",
1239
+ "[0.5298917]\n",
1240
+ "[0.52796805]\n",
1241
+ "[1.0445209e-07]\n",
1242
+ "[3.659864e-08]\n",
1243
+ "[0.58783525]\n",
1244
+ "[2.6553673e-05]\n",
1245
+ "[0.5215441]\n",
1246
+ "[0.52822846]\n",
1247
+ "[2.4312925e-07]\n",
1248
+ "[0.54094726]\n",
1249
+ "[0.5164945]\n",
1250
+ "[0.5490832]\n",
1251
+ "[1.4810052e-05]\n",
1252
+ "[6.8121676e-06]\n",
1253
+ "[0.5389973]\n",
1254
+ "[0.5185427]\n",
1255
+ "[0.00088884]\n",
1256
+ "[0.20298694]\n",
1257
+ "[0.5052227]\n",
1258
+ "[0.54963386]\n",
1259
+ "[0.59968567]\n",
1260
+ "[0.5689757]\n",
1261
+ "[0.20028758]\n",
1262
+ "[0.52448857]\n",
1263
+ "[0.5483951]\n",
1264
+ "[0.5853882]\n",
1265
+ "[0.5708577]\n",
1266
+ "[0.55457]\n",
1267
+ "[2.2415012e-08]\n",
1268
+ "[0.5202666]\n",
1269
+ "[0.5546521]\n",
1270
+ "[0.51365167]\n",
1271
+ "[0.01656575]\n",
1272
+ "[0.39490202]\n",
1273
+ "[4.821888e-06]\n",
1274
+ "[0.5319664]\n",
1275
+ "[0.54645455]\n",
1276
+ "[0.58514166]\n",
1277
+ "[0.5412358]\n",
1278
+ "[0.53605]\n",
1279
+ "[0.593661]\n",
1280
+ "[0.53781873]\n",
1281
+ "[0.52537674]\n",
1282
+ "[7.8028634e-08]\n",
1283
+ "[0.5544384]\n",
1284
+ "[0.5716025]\n",
1285
+ "[8.7976105e-08]\n",
1286
+ "[0.54865587]\n",
1287
+ "[0.46303266]\n",
1288
+ "[0.56322277]\n",
1289
+ "[0.5403396]\n",
1290
+ "[0.50696594]\n",
1291
+ "[0.5544955]\n",
1292
+ "[0.54898626]\n",
1293
+ "[6.180242e-08]\n",
1294
+ "[8.0803964e-08]\n",
1295
+ "[4.2631677e-06]\n",
1296
+ "[0.4022614]\n",
1297
+ "[0.55232745]\n",
1298
+ "[1.8711151e-07]\n",
1299
+ "[0.00534829]\n",
1300
+ "[0.5273963]\n",
1301
+ "[0.51562464]\n",
1302
+ "[3.0056392e-06]\n",
1303
+ "[0.59920454]\n",
1304
+ "[0.49218556]\n",
1305
+ "[6.418791e-08]\n",
1306
+ "[0.52608764]\n",
1307
+ "[0.51634216]\n",
1308
+ "[0.55480087]\n",
1309
+ "[4.738629e-06]\n",
1310
+ "[1.4541343e-05]\n",
1311
+ "[0.5165434]\n",
1312
+ "[0.538864]\n",
1313
+ "[7.558641e-08]\n",
1314
+ "[0.5175472]\n",
1315
+ "[0.5291457]\n",
1316
+ "[0.00121139]\n",
1317
+ "[0.41134128]\n",
1318
+ "[2.0572625e-05]\n",
1319
+ "[0.5394802]\n",
1320
+ "[0.5586442]\n",
1321
+ "[0.5266608]\n",
1322
+ "[0.52882415]\n",
1323
+ "[0.5240653]\n",
1324
+ "[0.5259453]\n",
1325
+ "[0.5175771]\n",
1326
+ "[0.00028329]\n",
1327
+ "[0.518491]\n",
1328
+ "[6.421056e-08]\n",
1329
+ "[0.5436391]\n",
1330
+ "[2.1786016e-06]\n",
1331
+ "[3.3012932e-06]\n",
1332
+ "[0.581657]\n",
1333
+ "[0.13214934]\n",
1334
+ "[0.53601146]\n",
1335
+ "[0.57493895]\n",
1336
+ "[0.5197138]\n",
1337
+ "[7.735314e-06]\n",
1338
+ "[1.9022593e-06]\n",
1339
+ "[0.5581439]\n",
1340
+ "[0.53869796]\n",
1341
+ "[0.42350024]\n",
1342
+ "[0.5233977]\n",
1343
+ "[0.55498254]\n",
1344
+ "[0.2315044]\n",
1345
+ "[2.9948982e-08]\n",
1346
+ "[0.52099484]\n",
1347
+ "[0.52022296]\n",
1348
+ "[0.4371243]\n",
1349
+ "[0.29744518]\n",
1350
+ "[2.6306264e-08]\n",
1351
+ "[0.00046918]\n",
1352
+ "[0.50855887]\n",
1353
+ "[3.5439052e-06]\n",
1354
+ "[0.54148024]\n",
1355
+ "[0.55313593]\n",
1356
+ "[0.56043214]\n",
1357
+ "[0.57482606]\n",
1358
+ "[0.5726927]\n",
1359
+ "[0.5522732]\n",
1360
+ "[6.3012985e-06]\n",
1361
+ "[4.2948693e-07]\n",
1362
+ "[5.5680268e-08]\n",
1363
+ "[6.231222e-08]\n",
1364
+ "[0.00014165]\n",
1365
+ "[0.50756556]\n",
1366
+ "[0.54377097]\n",
1367
+ "[2.7584667e-06]\n",
1368
+ "[0.51906866]\n",
1369
+ "[7.681129e-06]\n",
1370
+ "[0.5979145]\n",
1371
+ "[0.5490228]\n",
1372
+ "[0.5493441]\n",
1373
+ "[1.9065844e-07]\n",
1374
+ "[0.590015]\n",
1375
+ "[0.5195658]\n",
1376
+ "[0.56236655]\n",
1377
+ "[0.5053433]\n",
1378
+ "[1.5104602e-08]\n",
1379
+ "[0.55085224]\n",
1380
+ "[0.5477825]\n",
1381
+ "[0.51734567]\n",
1382
+ "[0.2745816]\n",
1383
+ "[0.5211816]\n",
1384
+ "[0.55264425]\n",
1385
+ "[0.5491771]\n",
1386
+ "[2.2782969e-07]\n",
1387
+ "[0.58197165]\n",
1388
+ "[0.5504349]\n",
1389
+ "[0.51152074]\n",
1390
+ "[0.5190624]\n",
1391
+ "[0.55900544]\n",
1392
+ "[0.57656056]\n",
1393
+ "[2.0530426e-06]\n",
1394
+ "[0.5254815]\n",
1395
+ "[0.5068132]\n",
1396
+ "[7.755612e-06]\n",
1397
+ "[0.46226943]\n",
1398
+ "[0.35797876]\n",
1399
+ "[0.5541045]\n",
1400
+ "[1.2592335e-07]\n",
1401
+ "[3.6262924e-07]\n",
1402
+ "[0.55245435]\n",
1403
+ "[0.55113864]\n",
1404
+ "[0.52825636]\n",
1405
+ "[0.5447463]\n",
1406
+ "[2.5670067e-06]\n",
1407
+ "[7.2419004e-07]\n",
1408
+ "[0.541517]\n",
1409
+ "[0.5235363]\n",
1410
+ "[2.569806e-07]\n",
1411
+ "[0.5124448]\n",
1412
+ "[0.59695935]\n",
1413
+ "[0.5466143]\n",
1414
+ "[7.222979e-06]\n",
1415
+ "[0.5866706]\n",
1416
+ "[0.5797369]\n",
1417
+ "[0.52026033]\n",
1418
+ "[1.1291447e-05]\n",
1419
+ "[0.5582812]\n",
1420
+ "[3.4093514e-08]\n",
1421
+ "[0.5383151]\n",
1422
+ "[0.5200807]\n",
1423
+ "[0.5421209]\n",
1424
+ "[0.5563957]\n",
1425
+ "[0.55141234]\n",
1426
+ "[0.5515015]\n",
1427
+ "[0.0004022]\n",
1428
+ "[0.5030706]\n",
1429
+ "[0.59495354]\n",
1430
+ "[0.53414667]\n",
1431
+ "[0.51804084]\n",
1432
+ "[0.5412111]\n",
1433
+ "[0.49765825]\n",
1434
+ "[1.8520568e-07]\n",
1435
+ "[0.565697]\n",
1436
+ "[3.29332e-08]\n",
1437
+ "[0.5518005]\n",
1438
+ "[1.6579722e-07]\n",
1439
+ "[0.5325982]\n",
1440
+ "[2.0151484e-08]\n",
1441
+ "[0.5479551]\n",
1442
+ "[0.00112691]\n",
1443
+ "[1.9364185e-07]\n",
1444
+ "[0.54361266]\n",
1445
+ "[0.56940097]\n",
1446
+ "[0.50599223]\n",
1447
+ "[0.53047925]\n",
1448
+ "[0.52330947]\n",
1449
+ "[0.03598293]\n",
1450
+ "[0.51562047]\n",
1451
+ "[9.409008e-05]\n",
1452
+ "[0.5528285]\n",
1453
+ "[0.35914165]\n",
1454
+ "[8.121333e-07]\n",
1455
+ "[0.5274828]\n",
1456
+ "[0.5328726]\n",
1457
+ "[0.5058569]\n",
1458
+ "[3.727343e-06]\n",
1459
+ "[0.0205084]\n",
1460
+ "[0.59869146]\n",
1461
+ "[2.2273887e-05]\n",
1462
+ "[0.5581148]\n",
1463
+ "[0.52734023]\n",
1464
+ "[0.07711402]\n",
1465
+ "[0.5208201]\n",
1466
+ "[0.5530226]\n",
1467
+ "[0.50307643]\n",
1468
+ "[0.5941443]\n",
1469
+ "[0.5428383]\n",
1470
+ "[0.5545446]\n",
1471
+ "[0.51579106]\n",
1472
+ "[2.2295835e-08]\n",
1473
+ "[0.51992726]\n",
1474
+ "[0.5205446]\n",
1475
+ "[0.53047514]\n",
1476
+ "[0.5686883]\n",
1477
+ "[0.57186407]\n",
1478
+ "[1.4364574e-06]\n",
1479
+ "[0.47339463]\n",
1480
+ "[0.4866421]\n",
1481
+ "[1.7034361e-05]\n",
1482
+ "[0.5261099]\n",
1483
+ "[0.54893637]\n",
1484
+ "[0.5174187]\n",
1485
+ "[0.43462375]\n",
1486
+ "[0.0002551]\n",
1487
+ "[0.5298992]\n",
1488
+ "[0.5569478]\n",
1489
+ "[0.55194044]\n",
1490
+ "[1.6914387e-07]\n",
1491
+ "[0.546944]\n",
1492
+ "[0.5218955]\n",
1493
+ "[0.51664615]\n",
1494
+ "[0.5581628]\n",
1495
+ "[0.5161704]\n",
1496
+ "[0.5858448]\n",
1497
+ "[0.5470983]\n",
1498
+ "[0.5519308]\n",
1499
+ "[0.54452115]\n",
1500
+ "[0.5323649]\n",
1501
+ "[0.54382324]\n",
1502
+ "[3.0831262e-07]\n",
1503
+ "[0.54797786]\n",
1504
+ "[0.50966436]\n",
1505
+ "[8.608595e-08]\n",
1506
+ "[0.5113922]\n",
1507
+ "[0.54493743]\n",
1508
+ "[4.1725116e-07]\n",
1509
+ "[0.50749624]\n",
1510
+ "[1.5196514e-07]\n",
1511
+ "[0.514284]\n",
1512
+ "[0.5593029]\n",
1513
+ "[0.52252316]\n",
1514
+ "[0.54171616]\n",
1515
+ "[5.50749e-06]\n",
1516
+ "[0.5540976]\n",
1517
+ "[5.033613e-06]\n",
1518
+ "[0.5534622]\n",
1519
+ "[0.5555011]\n",
1520
+ "[0.46300286]\n",
1521
+ "[0.5445696]\n",
1522
+ "[0.51745003]\n",
1523
+ "[0.52727926]\n",
1524
+ "[1.7201608e-05]\n",
1525
+ "[0.539516]\n",
1526
+ "[6.4754424e-08]\n",
1527
+ "[2.8475066e-08]\n",
1528
+ "[0.5494615]\n",
1529
+ "[0.59294444]\n",
1530
+ "[1.2872694e-05]\n",
1531
+ "[0.4067668]\n",
1532
+ "[0.55732]\n",
1533
+ "[4.0605423e-07]\n",
1534
+ "[0.5213716]\n",
1535
+ "[0.541011]\n",
1536
+ "[0.5244826]\n",
1537
+ "[0.5694339]\n",
1538
+ "[3.2806562e-07]\n",
1539
+ "[0.50809383]\n",
1540
+ "[0.5527256]\n",
1541
+ "[0.5226534]\n",
1542
+ "[0.5291216]\n",
1543
+ "[0.5151179]\n",
1544
+ "[0.54235065]\n",
1545
+ "[0.57511574]\n",
1546
+ "[0.5281234]\n",
1547
+ "[0.55451256]\n",
1548
+ "[0.59083825]\n",
1549
+ "[0.5507538]\n",
1550
+ "[0.54051256]\n",
1551
+ "[0.51725125]\n",
1552
+ "[0.5880023]\n",
1553
+ "[7.2941006e-08]\n",
1554
+ "[0.519351]\n",
1555
+ "[0.5229744]\n",
1556
+ "[0.32057422]\n",
1557
+ "[0.5252542]\n",
1558
+ "[0.57328755]\n",
1559
+ "[0.04134658]\n",
1560
+ "[2.2908594e-07]\n",
1561
+ "[0.5217115]\n",
1562
+ "[0.52599746]\n",
1563
+ "[0.52205217]\n",
1564
+ "[3.4026393e-06]\n",
1565
+ "[0.4632298]\n",
1566
+ "[0.54715186]\n",
1567
+ "[1.3821246e-07]\n",
1568
+ "[5.27683e-06]\n",
1569
+ "[0.58350766]\n",
1570
+ "[0.52700037]\n",
1571
+ "[0.5262969]\n",
1572
+ "[0.53512037]\n",
1573
+ "[0.552407]\n",
1574
+ "[0.5381346]\n",
1575
+ "[0.5301201]\n",
1576
+ "[0.5629325]\n",
1577
+ "[6.5079466e-06]\n",
1578
+ "[0.55490726]\n",
1579
+ "[0.53599334]\n",
1580
+ "[0.5940395]\n",
1581
+ "[2.1472447e-06]\n",
1582
+ "[0.5487998]\n",
1583
+ "[0.556459]\n",
1584
+ "[0.5429829]\n",
1585
+ "[3.0241846e-08]\n",
1586
+ "[0.52222335]\n",
1587
+ "[2.648871e-07]\n",
1588
+ "[1.6008954e-06]\n",
1589
+ "[0.5851143]\n",
1590
+ "[0.5070409]\n",
1591
+ "[0.55466485]\n",
1592
+ "[0.56996316]\n",
1593
+ "[5.3339136e-07]\n",
1594
+ "[0.5371984]\n",
1595
+ "[0.5419106]\n",
1596
+ "[0.5419395]\n",
1597
+ "[6.4553064e-06]\n",
1598
+ "[1.9811914e-06]\n",
1599
+ "[0.47271514]\n",
1600
+ "[0.528594]\n",
1601
+ "[0.00809579]\n",
1602
+ "[0.0017042]\n",
1603
+ "[8.884844e-08]\n",
1604
+ "[0.49839577]\n",
1605
+ "[7.0108154e-06]\n",
1606
+ "[5.951727e-07]\n",
1607
+ "[0.00060898]\n",
1608
+ "[0.47061273]\n",
1609
+ "[2.4696993e-08]\n",
1610
+ "[0.53048277]\n",
1611
+ "[2.1154986e-07]\n",
1612
+ "[0.33929822]\n",
1613
+ "[0.56037843]\n",
1614
+ "[0.5335891]\n",
1615
+ "[0.54975224]\n",
1616
+ "[0.5361723]\n",
1617
+ "[0.5582768]\n",
1618
+ "[0.52060354]\n",
1619
+ "[8.295548e-06]\n",
1620
+ "[0.54883015]\n",
1621
+ "[0.11269487]\n",
1622
+ "[1.04835294e-07]\n",
1623
+ "[5.3508465e-06]\n",
1624
+ "[0.52840924]\n",
1625
+ "[0.55711406]\n",
1626
+ "[0.5228796]\n",
1627
+ "[2.4869016e-06]\n",
1628
+ "[6.4054476e-08]\n",
1629
+ "[9.179963e-07]\n",
1630
+ "[0.5535169]\n",
1631
+ "[0.5009184]\n",
1632
+ "[0.53584313]\n",
1633
+ "[0.5093688]\n",
1634
+ "[8.748164e-06]\n",
1635
+ "[0.55844957]\n",
1636
+ "[3.454391e-06]\n",
1637
+ "[0.5273337]\n",
1638
+ "[0.5261557]\n",
1639
+ "[0.54922336]\n",
1640
+ "[0.5583728]\n",
1641
+ "[0.5464561]\n",
1642
+ "[0.5498922]\n",
1643
+ "[9.391922e-05]\n",
1644
+ "[0.5177417]\n",
1645
+ "[3.0693354e-05]\n",
1646
+ "[4.5427764e-06]\n",
1647
+ "[0.52382374]\n",
1648
+ "[0.57804054]\n",
1649
+ "[0.49387318]\n",
1650
+ "[0.40998167]\n",
1651
+ "[0.55906296]\n",
1652
+ "[2.5130433e-07]\n",
1653
+ "[0.59110254]\n",
1654
+ "[8.865004e-08]\n",
1655
+ "[0.5203381]\n",
1656
+ "[0.5362328]\n",
1657
+ "[0.55241615]\n",
1658
+ "[0.5607768]\n",
1659
+ "[0.5485295]\n",
1660
+ "[0.5945671]\n",
1661
+ "[0.5511397]\n",
1662
+ "[0.5140469]\n",
1663
+ "[0.5537694]\n",
1664
+ "[0.26751778]\n",
1665
+ "[5.0090853e-06]\n",
1666
+ "[2.5221598e-07]\n",
1667
+ "[0.52568316]\n",
1668
+ "[1.6350205e-07]\n",
1669
+ "[0.53107905]\n",
1670
+ "[2.4033476e-05]\n",
1671
+ "[0.5418258]\n",
1672
+ "[6.980659e-06]\n",
1673
+ "[2.0384131e-07]\n",
1674
+ "[8.7566946e-08]\n",
1675
+ "[0.5176828]\n",
1676
+ "[2.1151912e-08]\n",
1677
+ "[0.5149462]\n",
1678
+ "[0.5039448]\n",
1679
+ "[0.557188]\n",
1680
+ "[0.50886196]\n",
1681
+ "[0.5816948]\n",
1682
+ "[0.51168656]\n",
1683
+ "[0.5077345]\n",
1684
+ "[0.00498645]\n",
1685
+ "[0.5120703]\n",
1686
+ "[0.5466269]\n",
1687
+ "[7.0727725e-07]\n",
1688
+ "[7.365832e-06]\n",
1689
+ "[0.5361249]\n",
1690
+ "[0.5878012]\n",
1691
+ "[0.42437097]\n",
1692
+ "[4.3340603e-07]\n",
1693
+ "[0.5350419]\n",
1694
+ "[0.51735115]\n",
1695
+ "[1.1635143e-06]\n",
1696
+ "[0.55903924]\n",
1697
+ "[0.560025]\n",
1698
+ "[0.557316]\n",
1699
+ "[0.5290788]\n",
1700
+ "[0.51149327]\n",
1701
+ "[2.3370632e-07]\n",
1702
+ "[5.005427e-06]\n",
1703
+ "[0.5287343]\n",
1704
+ "[0.5526471]\n",
1705
+ "[0.56762224]\n",
1706
+ "[8.629761e-06]\n",
1707
+ "[0.5512667]\n",
1708
+ "[0.52434164]\n",
1709
+ "[0.5420246]\n",
1710
+ "[0.36706516]\n",
1711
+ "[5.612662e-06]\n",
1712
+ "[0.5522881]\n",
1713
+ "[0.45976746]\n",
1714
+ "[0.5257721]\n",
1715
+ "[4.9373566e-06]\n",
1716
+ "[4.1249145e-08]\n",
1717
+ "[0.53979254]\n",
1718
+ "[0.5633574]\n",
1719
+ "[0.5208708]\n",
1720
+ "[2.4736686e-08]\n",
1721
+ "[0.45248097]\n",
1722
+ "[0.54593813]\n",
1723
+ "[0.05677768]\n",
1724
+ "[0.5050612]\n",
1725
+ "[0.5505354]\n",
1726
+ "[0.59809184]\n",
1727
+ "[0.52920264]\n",
1728
+ "[0.55154645]\n",
1729
+ "[0.5400699]\n",
1730
+ "[0.5181922]\n",
1731
+ "[0.49957883]\n",
1732
+ "[2.2538518e-06]\n",
1733
+ "[7.377014e-08]\n",
1734
+ "[0.5667406]\n",
1735
+ "[0.52909005]\n",
1736
+ "[5.074867e-06]\n",
1737
+ "[5.6798278e-08]\n",
1738
+ "[0.5287619]\n",
1739
+ "[0.5278011]\n",
1740
+ "[1.2662349e-07]\n",
1741
+ "[0.50984234]\n",
1742
+ "[3.0510325e-08]\n",
1743
+ "[0.50644946]\n",
1744
+ "[0.49725717]\n",
1745
+ "[0.5310041]\n",
1746
+ "[5.1529514e-06]\n",
1747
+ "[3.7583362e-07]\n",
1748
+ "[0.5175082]\n",
1749
+ "[2.0550152e-08]\n",
1750
+ "[7.0907026e-06]\n",
1751
+ "[0.59284335]\n",
1752
+ "[6.646272e-06]\n",
1753
+ "[1.0571852e-05]\n",
1754
+ "[0.52710134]\n",
1755
+ "[0.5505313]\n",
1756
+ "[0.52075815]\n",
1757
+ "[5.081324e-07]\n",
1758
+ "[0.34204215]\n",
1759
+ "[0.55820894]\n",
1760
+ "[8.440116e-07]\n",
1761
+ "[0.51910144]\n",
1762
+ "[0.5529136]\n",
1763
+ "[0.5356397]\n",
1764
+ "[0.5513715]\n",
1765
+ "[2.1343926e-06]\n",
1766
+ "[0.50189286]\n",
1767
+ "[0.5297517]\n",
1768
+ "[0.5281218]\n",
1769
+ "[0.5589958]\n",
1770
+ "[0.5178505]\n",
1771
+ "[0.5338639]\n",
1772
+ "[2.5601528e-08]\n",
1773
+ "[0.5668984]\n",
1774
+ "[0.5104743]\n",
1775
+ "[2.4528588e-06]\n",
1776
+ "[0.5724446]\n",
1777
+ "[8.3837136e-08]\n",
1778
+ "[1.8050881e-06]\n",
1779
+ "[0.5518789]\n",
1780
+ "[0.5245]\n",
1781
+ "[0.55822676]\n",
1782
+ "[0.5530302]\n",
1783
+ "[0.53090245]\n",
1784
+ "[8.631858e-07]\n",
1785
+ "[3.300193e-05]\n",
1786
+ "[0.5462415]\n",
1787
+ "[3.1559364e-07]\n",
1788
+ "[1.029996e-05]\n",
1789
+ "[0.22834793]\n",
1790
+ "[0.00013921]\n",
1791
+ "[0.3358589]\n",
1792
+ "[0.51993024]\n",
1793
+ "[0.43213242]\n",
1794
+ "[0.56174576]\n",
1795
+ "[0.5483733]\n",
1796
+ "[0.559969]\n",
1797
+ "[0.560584]\n",
1798
+ "[0.51712173]\n",
1799
+ "[0.57309735]\n",
1800
+ "[0.56552726]\n",
1801
+ "[0.5246308]\n",
1802
+ "[0.51449865]\n",
1803
+ "[0.5204535]\n",
1804
+ "[3.7485177e-06]\n",
1805
+ "[2.474037e-07]\n",
1806
+ "[0.5613757]\n",
1807
+ "[1.0158156e-07]\n",
1808
+ "[0.5798116]\n",
1809
+ "[0.53925085]\n",
1810
+ "[5.3487347e-06]\n",
1811
+ "[1.5200785e-08]\n",
1812
+ "[0.527642]\n",
1813
+ "[1.3461781e-08]\n",
1814
+ "[0.41123545]\n",
1815
+ "[0.5384747]\n",
1816
+ "[4.6746803e-07]\n",
1817
+ "[0.5034833]\n",
1818
+ "[0.5179582]\n",
1819
+ "[0.5563155]\n",
1820
+ "[3.2210334e-08]\n",
1821
+ "[5.2703943e-08]\n",
1822
+ "[2.4736686e-08]\n",
1823
+ "[2.149606e-07]\n",
1824
+ "[0.55274373]\n",
1825
+ "[0.5494554]\n",
1826
+ "[1.8219008e-07]\n",
1827
+ "[0.53723115]\n",
1828
+ "[4.1480398e-05]\n",
1829
+ "[0.5220302]\n",
1830
+ "[0.5127974]\n",
1831
+ "[2.6859e-08]\n",
1832
+ "[0.5511589]\n",
1833
+ "[0.5236478]\n",
1834
+ "[5.34289e-07]\n",
1835
+ "[2.1781113e-06]\n",
1836
+ "[7.0300644e-05]\n",
1837
+ "[4.2361172e-08]\n",
1838
+ "[0.5169073]\n",
1839
+ "[0.52872866]\n",
1840
+ "[0.52321047]\n",
1841
+ "[0.31581745]\n",
1842
+ "[0.5579341]\n",
1843
+ "[0.5700264]\n",
1844
+ "[0.5464317]\n",
1845
+ "[0.3340003]\n",
1846
+ "[0.00020576]\n",
1847
+ "[0.51686305]\n",
1848
+ "[0.50846]\n",
1849
+ "[6.3468324e-06]\n",
1850
+ "[0.5507951]\n",
1851
+ "[0.52740175]\n",
1852
+ "[0.59053016]\n",
1853
+ "[0.532438]\n",
1854
+ "[0.55036175]\n",
1855
+ "[8.4792056e-08]\n",
1856
+ "[3.6912155e-07]\n",
1857
+ "[0.55408543]\n",
1858
+ "[0.52906036]\n",
1859
+ "[6.0927625e-05]\n",
1860
+ "[0.5201462]\n",
1861
+ "[0.536819]\n",
1862
+ "[0.5342675]\n",
1863
+ "[0.00213224]\n",
1864
+ "[1.3400228e-07]\n",
1865
+ "[0.55703074]\n",
1866
+ "[0.4917341]\n",
1867
+ "[0.5227787]\n",
1868
+ "[7.132237e-07]\n",
1869
+ "[0.4727503]\n",
1870
+ "[0.59793955]\n",
1871
+ "[0.51492214]\n",
1872
+ "[0.5528083]\n",
1873
+ "[0.53839815]\n",
1874
+ "[1.3525872e-07]\n",
1875
+ "[0.55391103]\n",
1876
+ "[0.5259066]\n",
1877
+ "[0.52131516]\n",
1878
+ "[0.5729569]\n",
1879
+ "[0.542111]\n",
1880
+ "[3.7856785e-06]\n",
1881
+ "[0.5489111]\n",
1882
+ "[0.53999114]\n",
1883
+ "[0.5273388]\n",
1884
+ "[1.5762666e-07]\n",
1885
+ "[0.5159106]\n",
1886
+ "[2.8667433e-08]\n",
1887
+ "[3.301245e-07]\n",
1888
+ "[0.51274955]\n",
1889
+ "[0.5392305]\n",
1890
+ "[0.38987955]\n",
1891
+ "[0.49626562]\n",
1892
+ "[0.5235535]\n",
1893
+ "[3.0685171e-06]\n",
1894
+ "[3.0354036e-05]\n",
1895
+ "[0.55921155]\n",
1896
+ "[0.5366965]\n",
1897
+ "[0.52247226]\n",
1898
+ "[0.5115054]\n",
1899
+ "[0.5539585]\n",
1900
+ "[0.50414914]\n",
1901
+ "[9.979506e-07]\n",
1902
+ "[0.525062]\n",
1903
+ "[0.526112]\n",
1904
+ "[0.5111329]\n",
1905
+ "[0.5365602]\n",
1906
+ "[0.55107075]\n",
1907
+ "[0.5631793]\n",
1908
+ "[0.01194233]\n",
1909
+ "[0.52521044]\n",
1910
+ "[3.4394003e-07]\n",
1911
+ "[0.5331807]\n",
1912
+ "[0.09725333]\n",
1913
+ "[4.5169378e-07]\n",
1914
+ "[0.5112527]\n",
1915
+ "[0.5765933]\n",
1916
+ "[2.811269e-06]\n",
1917
+ "[4.635927e-08]\n",
1918
+ "[0.5547739]\n",
1919
+ "[0.00055206]\n",
1920
+ "[3.9940563e-08]\n",
1921
+ "[0.5174102]\n",
1922
+ "[0.5296568]\n",
1923
+ "[0.54400253]\n",
1924
+ "[5.619994e-06]\n",
1925
+ "[0.5468745]\n",
1926
+ "[0.571477]\n",
1927
+ "[0.51036906]\n",
1928
+ "[0.5492948]\n",
1929
+ "[0.5160134]\n",
1930
+ "[4.1152606e-07]\n",
1931
+ "[7.6042187e-07]\n",
1932
+ "[2.9617486e-06]\n",
1933
+ "[0.5106418]\n",
1934
+ "[0.59726006]\n",
1935
+ "[0.50751984]\n",
1936
+ "[4.6310745e-08]\n",
1937
+ "[0.5791824]\n",
1938
+ "[0.44059783]\n",
1939
+ "[0.44354182]\n",
1940
+ "[6.815144e-06]\n",
1941
+ "[0.5472395]\n",
1942
+ "[2.650698e-07]\n",
1943
+ "[4.5244002e-07]\n",
1944
+ "[0.54678035]\n",
1945
+ "[3.2558182e-07]\n",
1946
+ "[2.7194332e-07]\n",
1947
+ "[0.5356031]\n",
1948
+ "[0.01624078]\n",
1949
+ "[0.5678167]\n",
1950
+ "[0.5198836]\n",
1951
+ "[0.5273164]\n",
1952
+ "[5.1714437e-08]\n",
1953
+ "[0.5387395]\n",
1954
+ "[4.5466674e-08]\n",
1955
+ "[0.54624265]\n",
1956
+ "[0.59392244]\n",
1957
+ "[0.55415547]\n",
1958
+ "[0.5681401]\n",
1959
+ "[0.5490402]\n",
1960
+ "[6.089428e-06]\n",
1961
+ "[7.4008653e-07]\n",
1962
+ "[0.5214812]\n",
1963
+ "[4.8482356e-08]\n",
1964
+ "[7.3926486e-08]\n",
1965
+ "[8.402392e-09]\n",
1966
+ "[0.49869034]\n",
1967
+ "[0.5165597]\n",
1968
+ "[0.54123175]\n",
1969
+ "[5.3807516e-06]\n",
1970
+ "[1.7334237e-07]\n",
1971
+ "[0.5186534]\n",
1972
+ "[0.58705777]\n",
1973
+ "[0.22825508]\n",
1974
+ "[0.53664774]\n",
1975
+ "[0.4784203]\n",
1976
+ "[0.55355126]\n",
1977
+ "[4.3043494e-07]\n",
1978
+ "[3.7565738e-07]\n",
1979
+ "[2.3069619e-08]\n",
1980
+ "[0.515417]\n",
1981
+ "[2.1633862e-06]\n",
1982
+ "[0.52886635]\n",
1983
+ "[1.359802e-06]\n",
1984
+ "[0.4830448]\n",
1985
+ "[5.140401e-06]\n",
1986
+ "[0.5244302]\n",
1987
+ "[0.5787232]\n",
1988
+ "[0.57142663]\n",
1989
+ "[1.3598344e-06]\n",
1990
+ "[1.8674724e-08]\n",
1991
+ "[0.5451712]\n",
1992
+ "[0.5396508]\n",
1993
+ "[8.9513486e-07]\n",
1994
+ "[0.54153484]\n",
1995
+ "[2.446266e-07]\n",
1996
+ "[0.5427623]\n",
1997
+ "[6.861617e-08]\n",
1998
+ "[0.525754]\n",
1999
+ "[0.5865206]\n",
2000
+ "[2.0723776e-06]\n",
2001
+ "[0.5957879]\n",
2002
+ "[4.5538286e-06]\n",
2003
+ "[1.1099966e-07]\n",
2004
+ "[0.55451626]\n",
2005
+ "[0.50933254]\n",
2006
+ "[0.54978806]\n",
2007
+ "[0.537119]\n",
2008
+ "[6.940989e-06]\n",
2009
+ "[0.54405665]\n",
2010
+ "[0.57118964]\n",
2011
+ "[2.4211515e-06]\n",
2012
+ "[3.6764427e-06]\n",
2013
+ "[0.5486501]\n",
2014
+ "[0.5557799]\n",
2015
+ "[0.5273018]\n",
2016
+ "[0.5542692]\n",
2017
+ "[0.5418093]\n",
2018
+ "[1.3375894e-06]\n",
2019
+ "[3.0500928e-06]\n",
2020
+ "[0.5141249]\n",
2021
+ "[0.543631]\n",
2022
+ "[0.5595949]\n",
2023
+ "[0.37433982]\n",
2024
+ "[0.5514915]\n",
2025
+ "[4.94031e-07]\n",
2026
+ "[0.5516481]\n",
2027
+ "[0.52735275]\n",
2028
+ "[0.51650023]\n",
2029
+ "[3.3846707e-06]\n",
2030
+ "[0.5785287]\n",
2031
+ "[0.49921504]\n",
2032
+ "[1.0517774e-06]\n",
2033
+ "[0.58112663]\n",
2034
+ "[3.2805797e-06]\n",
2035
+ "[0.5515928]\n",
2036
+ "[1.1230379e-07]\n",
2037
+ "[0.52685416]\n",
2038
+ "[0.49242353]\n",
2039
+ "[0.5221905]\n",
2040
+ "[0.5238672]\n",
2041
+ "[0.5175459]\n",
2042
+ "[0.59824234]\n",
2043
+ "[6.7580854e-06]\n",
2044
+ "[1.3355017e-06]\n",
2045
+ "[0.54526013]\n",
2046
+ "[2.5609099e-08]\n",
2047
+ "[0.54879576]\n",
2048
+ "[0.5444179]\n",
2049
+ "[3.5014757e-06]\n",
2050
+ "[2.3719867e-06]\n",
2051
+ "[0.5257198]\n",
2052
+ "[0.50793517]\n",
2053
+ "[3.5519413e-06]\n",
2054
+ "[1.9093595e-05]\n",
2055
+ "[0.54465145]\n",
2056
+ "[0.12003019]\n",
2057
+ "[0.52159333]\n",
2058
+ "[1.0797432e-07]\n",
2059
+ "[0.33043176]\n",
2060
+ "[4.1176412e-05]\n",
2061
+ "[0.5472937]\n",
2062
+ "[0.54684395]\n",
2063
+ "[3.6954245e-06]\n",
2064
+ "[0.54319817]\n",
2065
+ "[0.5087351]\n",
2066
+ "[0.55313784]\n",
2067
+ "[5.069098e-08]\n",
2068
+ "[4.8892166e-06]\n",
2069
+ "[0.5411473]\n",
2070
+ "[0.557348]\n",
2071
+ "[0.5468847]\n",
2072
+ "[0.52758074]\n",
2073
+ "[0.5661938]\n",
2074
+ "[0.5178217]\n",
2075
+ "[0.471792]\n",
2076
+ "[8.676841e-08]\n",
2077
+ "[0.53327894]\n",
2078
+ "[4.233186e-05]\n",
2079
+ "[1.747314e-07]\n",
2080
+ "[0.5510603]\n",
2081
+ "[0.5550903]\n",
2082
+ "[0.52470523]\n",
2083
+ "[0.5545414]\n",
2084
+ "[7.286258e-08]\n",
2085
+ "[0.5178011]\n",
2086
+ "[0.5546537]\n",
2087
+ "[3.7156738e-06]\n",
2088
+ "[0.07781247]\n",
2089
+ "[0.52019894]\n",
2090
+ "[0.55248487]\n",
2091
+ "[0.07733224]\n",
2092
+ "[0.5960649]\n",
2093
+ "[0.52709085]\n",
2094
+ "[0.5475937]\n",
2095
+ "[0.52314126]\n",
2096
+ "[0.52121216]\n",
2097
+ "[3.4437548e-08]\n",
2098
+ "[0.41945553]\n",
2099
+ "[0.5178117]\n",
2100
+ "[0.50663376]\n",
2101
+ "[2.3678673e-08]\n",
2102
+ "[0.5194743]\n",
2103
+ "[0.25687775]\n",
2104
+ "[0.5485303]\n",
2105
+ "[6.604736e-05]\n",
2106
+ "[6.8693557e-06]\n",
2107
+ "[0.51715386]\n",
2108
+ "[0.5525025]\n",
2109
+ "[0.54799247]\n",
2110
+ "[0.5169288]\n",
2111
+ "[1.5793226e-07]\n",
2112
+ "[0.5492418]\n",
2113
+ "[0.44711316]\n",
2114
+ "[0.575449]\n",
2115
+ "[1.11091154e-07]\n",
2116
+ "[0.5599061]\n",
2117
+ "[2.4499144e-08]\n",
2118
+ "[3.6852356e-07]\n",
2119
+ "[0.57479864]\n",
2120
+ "[0.5645273]\n",
2121
+ "[0.5511851]\n",
2122
+ "[0.53927195]\n",
2123
+ "[0.53811413]\n",
2124
+ "[0.544738]\n",
2125
+ "[0.54426426]\n",
2126
+ "[0.5280154]\n",
2127
+ "[0.5503579]\n",
2128
+ "[9.352721e-06]\n",
2129
+ "[0.5536997]\n",
2130
+ "[0.24885602]\n",
2131
+ "[0.580997]\n",
2132
+ "[0.54281217]\n",
2133
+ "[0.51728785]\n",
2134
+ "[0.49484545]\n",
2135
+ "[0.57791394]\n",
2136
+ "[1.6849595e-08]\n",
2137
+ "[1.5889401e-07]\n",
2138
+ "[0.53584456]\n",
2139
+ "[0.5922844]\n",
2140
+ "[0.5539861]\n",
2141
+ "[0.5716127]\n",
2142
+ "[0.5597741]\n",
2143
+ "[6.2175723e-06]\n",
2144
+ "[0.5862957]\n",
2145
+ "[0.5376315]\n",
2146
+ "[0.5197966]\n",
2147
+ "[0.52947545]\n",
2148
+ "[8.702083e-06]\n",
2149
+ "[3.0378635e-07]\n",
2150
+ "[8.104072e-07]\n",
2151
+ "[0.55651337]\n",
2152
+ "[0.00561801]\n",
2153
+ "[2.2318657e-06]\n",
2154
+ "[0.51957655]\n",
2155
+ "[0.5406062]\n",
2156
+ "[0.5140859]\n",
2157
+ "[4.7574655e-08]\n",
2158
+ "[2.7729525e-06]\n",
2159
+ "[0.58356744]\n",
2160
+ "[0.5191126]\n",
2161
+ "[0.5019299]\n",
2162
+ "[0.50617665]\n",
2163
+ "[0.54604375]\n",
2164
+ "[0.2176886]\n",
2165
+ "[0.5290763]\n",
2166
+ "[0.5811797]\n",
2167
+ "[0.5324201]\n",
2168
+ "[0.11358772]\n",
2169
+ "[0.52398765]\n",
2170
+ "[1.2360081e-06]\n",
2171
+ "[0.5919238]\n",
2172
+ "[1.2142426e-07]\n",
2173
+ "[0.5122464]\n",
2174
+ "[0.28415608]\n",
2175
+ "[4.3458808e-08]\n",
2176
+ "[0.00059312]\n",
2177
+ "[0.5431485]\n",
2178
+ "[0.5225386]\n",
2179
+ "[0.5485655]\n",
2180
+ "[0.5108625]\n",
2181
+ "[0.55734855]\n",
2182
+ "[0.57600594]\n",
2183
+ "[0.4973981]\n",
2184
+ "[0.5580218]\n",
2185
+ "[0.5410422]\n",
2186
+ "[0.52087164]\n",
2187
+ "[1.0746576e-06]\n",
2188
+ "[8.871989e-06]\n",
2189
+ "[0.5142523]\n",
2190
+ "[0.50737214]\n",
2191
+ "[0.5657744]\n",
2192
+ "[5.5613828e-08]\n",
2193
+ "[0.29099223]\n",
2194
+ "[4.5947722e-08]\n",
2195
+ "[0.5508391]\n",
2196
+ "[0.35065222]\n",
2197
+ "[0.11444268]\n",
2198
+ "[0.5699406]\n",
2199
+ "[3.5692142e-07]\n",
2200
+ "[0.58936447]\n",
2201
+ "[0.54021347]\n",
2202
+ "[1.4970769e-05]\n",
2203
+ "[0.5391692]\n",
2204
+ "[1.533068e-07]\n",
2205
+ "[0.552458]\n",
2206
+ "[0.35348484]\n",
2207
+ "[0.5361043]\n",
2208
+ "[0.5186585]\n",
2209
+ "[0.52002734]\n",
2210
+ "[0.55694383]\n",
2211
+ "[1.240586e-07]\n",
2212
+ "[0.54174197]\n",
2213
+ "[0.02052834]\n",
2214
+ "[0.54061306]\n",
2215
+ "[0.52194285]\n",
2216
+ "[0.53709906]\n",
2217
+ "[0.51416385]\n",
2218
+ "[0.5442443]\n",
2219
+ "[2.5647514e-05]\n",
2220
+ "[0.4809932]\n",
2221
+ "[4.1025763e-07]\n",
2222
+ "[0.55252826]\n",
2223
+ "[0.5194024]\n",
2224
+ "[1.5182579e-06]\n",
2225
+ "[0.5192611]\n",
2226
+ "[0.519078]\n",
2227
+ "[0.55274373]\n",
2228
+ "[0.54370713]\n",
2229
+ "[0.52620435]\n",
2230
+ "[0.55077064]\n",
2231
+ "[0.33167997]\n",
2232
+ "[0.53426373]\n",
2233
+ "[0.5817595]\n",
2234
+ "[0.55281717]\n",
2235
+ "[0.56276953]\n",
2236
+ "[0.5219951]\n",
2237
+ "[9.363567e-07]\n",
2238
+ "[0.00014721]\n",
2239
+ "[3.486829e-07]\n",
2240
+ "[0.5701955]\n",
2241
+ "[0.51186615]\n",
2242
+ "[0.5487129]\n",
2243
+ "[0.55283266]\n",
2244
+ "[0.5392672]\n",
2245
+ "[5.5259905e-05]\n",
2246
+ "[0.51299673]\n",
2247
+ "[0.5183863]\n",
2248
+ "[6.142343e-08]\n",
2249
+ "[0.557386]\n",
2250
+ "[0.06860471]\n",
2251
+ "[0.5244191]\n",
2252
+ "[0.5084946]\n",
2253
+ "[2.3149841e-08]\n",
2254
+ "[8.3960333e-07]\n",
2255
+ "[0.51459634]\n",
2256
+ "[3.9250685e-07]\n",
2257
+ "[0.5194892]\n",
2258
+ "[2.82469e-06]\n",
2259
+ "[0.52597797]\n",
2260
+ "[1.2119173e-07]\n",
2261
+ "[0.56551427]\n",
2262
+ "[0.562867]\n",
2263
+ "[0.55284923]\n",
2264
+ "[0.5165262]\n",
2265
+ "[0.5232135]\n",
2266
+ "[4.4662784e-06]\n",
2267
+ "[0.5552756]\n",
2268
+ "[0.5164872]\n",
2269
+ "[0.5258402]\n",
2270
+ "[3.6519324e-07]\n",
2271
+ "[1.3469817e-06]\n",
2272
+ "[2.9441751e-05]\n",
2273
+ "[0.51938003]\n",
2274
+ "[0.51751983]\n",
2275
+ "[0.5464965]\n",
2276
+ "[0.55749]\n",
2277
+ "[1.19144765e-07]\n",
2278
+ "[0.55328995]\n",
2279
+ "[5.3039025e-06]\n",
2280
+ "[5.5642327e-06]\n",
2281
+ "[0.5709409]\n",
2282
+ "[0.5247457]\n",
2283
+ "[0.52075356]\n",
2284
+ "[0.5245136]\n",
2285
+ "[0.551355]\n",
2286
+ "[0.5125543]\n",
2287
+ "[0.51385635]\n",
2288
+ "[1.0586073e-06]\n",
2289
+ "[0.51372474]\n",
2290
+ "[0.5585131]\n",
2291
+ "[1.6363699e-06]\n",
2292
+ "[0.56655943]\n",
2293
+ "[2.0665436e-08]\n",
2294
+ "[0.5244033]\n",
2295
+ "[1.3953174e-05]\n",
2296
+ "[8.3261597e-07]\n",
2297
+ "[2.3413381e-06]\n",
2298
+ "[3.0222525e-06]\n",
2299
+ "[4.0747154e-06]\n",
2300
+ "[0.5182159]\n",
2301
+ "[0.51662743]\n",
2302
+ "[2.6706871e-08]\n",
2303
+ "[1.3139594e-06]\n",
2304
+ "[0.5239009]\n",
2305
+ "[0.5813909]\n",
2306
+ "[0.55540437]\n",
2307
+ "[0.51317877]\n",
2308
+ "[0.5284122]\n",
2309
+ "[0.55200166]\n",
2310
+ "[0.52997875]\n",
2311
+ "[5.4884e-06]\n",
2312
+ "[3.2157204e-05]\n",
2313
+ "[0.5717283]\n",
2314
+ "[0.50097966]\n",
2315
+ "[0.5556996]\n",
2316
+ "[0.22584271]\n",
2317
+ "[8.080895e-06]\n",
2318
+ "[1.2712215e-06]\n",
2319
+ "[2.8723325e-05]\n",
2320
+ "[0.5284256]\n",
2321
+ "[2.4898894e-05]\n",
2322
+ "[0.5507454]\n",
2323
+ "[0.5782895]\n",
2324
+ "[3.944186e-06]\n",
2325
+ "[0.55333227]\n",
2326
+ "[0.5761225]\n",
2327
+ "[0.59656143]\n",
2328
+ "[0.5505649]\n",
2329
+ "[3.152366e-07]\n",
2330
+ "[0.50239325]\n",
2331
+ "[0.5323212]\n",
2332
+ "[0.52684236]\n",
2333
+ "[0.55210394]\n",
2334
+ "[0.5673117]\n",
2335
+ "[0.55605304]\n",
2336
+ "[0.55120754]\n",
2337
+ "[3.5633648e-06]\n",
2338
+ "[0.00898796]\n",
2339
+ "[0.56190616]\n",
2340
+ "[2.0235218e-08]\n",
2341
+ "[0.52116406]\n",
2342
+ "[0.5163597]\n",
2343
+ "[0.00052813]\n",
2344
+ "[0.55059487]\n",
2345
+ "[4.2164725e-08]\n",
2346
+ "[6.837317e-06]\n",
2347
+ "[0.5196939]\n",
2348
+ "[0.538849]\n",
2349
+ "[0.535398]\n",
2350
+ "[0.554991]\n",
2351
+ "[0.5410518]\n",
2352
+ "[0.37622198]\n",
2353
+ "[0.4919933]\n",
2354
+ "[0.519819]\n",
2355
+ "[0.53590536]\n",
2356
+ "[0.5394767]\n",
2357
+ "[4.655395e-06]\n",
2358
+ "[0.5660644]\n",
2359
+ "[0.55355567]\n",
2360
+ "[1.22241345e-05]\n",
2361
+ "[0.5784353]\n",
2362
+ "[0.5538834]\n",
2363
+ "[0.59765816]\n",
2364
+ "[5.941803e-07]\n",
2365
+ "[0.5495572]\n",
2366
+ "[2.0160258e-05]\n",
2367
+ "[0.5491691]\n",
2368
+ "[0.5670372]\n",
2369
+ "[0.16552179]\n",
2370
+ "[8.391905e-08]\n",
2371
+ "[1.9074823e-06]\n",
2372
+ "[1.0110143e-07]\n",
2373
+ "[0.5525125]\n",
2374
+ "[1.6803114e-06]\n",
2375
+ "[0.5843464]\n",
2376
+ "[0.51994765]\n",
2377
+ "[3.7960654e-06]\n",
2378
+ "[0.5202832]\n",
2379
+ "[2.889269e-07]\n",
2380
+ "[6.473306e-08]\n",
2381
+ "[0.59597874]\n",
2382
+ "[0.5420039]\n",
2383
+ "[4.54081e-06]\n",
2384
+ "[0.57871825]\n",
2385
+ "[1.7200686e-07]\n",
2386
+ "[0.5403477]\n",
2387
+ "[0.513197]\n",
2388
+ "[0.5682803]\n",
2389
+ "[1.2434076e-05]\n",
2390
+ "[0.30861625]\n",
2391
+ "[0.5552528]\n",
2392
+ "[0.5132938]\n",
2393
+ "[0.10328028]\n",
2394
+ "[0.5461312]\n",
2395
+ "[0.5620373]\n",
2396
+ "[0.00034842]\n",
2397
+ "[9.296583e-07]\n",
2398
+ "[0.5242658]\n",
2399
+ "[0.52283615]\n",
2400
+ "[3.7569674e-07]\n",
2401
+ "[0.5536682]\n",
2402
+ "[3.811817e-06]\n",
2403
+ "[0.5674166]\n",
2404
+ "[0.55258876]\n",
2405
+ "[4.7368217e-06]\n",
2406
+ "[0.5549376]\n",
2407
+ "[1.4239245e-06]\n",
2408
+ "[5.9121107e-06]\n",
2409
+ "[0.5311165]\n",
2410
+ "[0.5255166]\n",
2411
+ "[2.0762905e-06]\n",
2412
+ "[0.5183266]\n",
2413
+ "[0.00776698]\n",
2414
+ "[9.583453e-08]\n",
2415
+ "[0.57508993]\n",
2416
+ "[3.821204e-06]\n",
2417
+ "[0.53015447]\n",
2418
+ "[0.57475346]\n",
2419
+ "[0.5276129]\n",
2420
+ "[0.5472142]\n",
2421
+ "[1.3409816e-05]\n",
2422
+ "[0.57753944]\n",
2423
+ "[0.5067323]\n",
2424
+ "[0.5455824]\n",
2425
+ "[0.55485994]\n",
2426
+ "[0.5865832]\n",
2427
+ "[2.2100835e-06]\n",
2428
+ "[0.51821584]\n",
2429
+ "[2.2634542e-06]\n",
2430
+ "[2.8072665e-07]\n",
2431
+ "[0.52747136]\n",
2432
+ "[9.08968e-08]\n",
2433
+ "[0.55242425]\n",
2434
+ "[0.5454967]\n",
2435
+ "[3.3366548e-06]\n",
2436
+ "[0.39237466]\n",
2437
+ "[0.5126084]\n",
2438
+ "[6.9434122e-06]\n",
2439
+ "[2.398109e-07]\n",
2440
+ "[0.52141833]\n",
2441
+ "[1.4713956e-05]\n",
2442
+ "[0.53139937]\n",
2443
+ "[0.4976129]\n",
2444
+ "[0.5292526]\n",
2445
+ "[0.54061353]\n",
2446
+ "[0.5248159]\n",
2447
+ "[0.00101985]\n",
2448
+ "[0.5218572]\n",
2449
+ "[2.0241362e-07]\n",
2450
+ "[0.51448244]\n",
2451
+ "[5.9228498e-08]\n",
2452
+ "[0.52578974]\n",
2453
+ "[0.5767359]\n",
2454
+ "[0.5395543]\n",
2455
+ "[0.5287117]\n",
2456
+ "[0.5558186]\n",
2457
+ "[0.40747994]\n",
2458
+ "[0.5169984]\n",
2459
+ "[0.5949935]\n",
2460
+ "[1.9881567e-08]\n",
2461
+ "[9.211348e-06]\n",
2462
+ "[0.5668318]\n",
2463
+ "[4.049334e-06]\n",
2464
+ "[0.5431916]\n",
2465
+ "[0.5169799]\n",
2466
+ "[0.5392737]\n",
2467
+ "[0.59713876]\n",
2468
+ "[1.6357272e-06]\n",
2469
+ "[0.51947296]\n",
2470
+ "[0.5151861]\n",
2471
+ "[0.48209703]\n",
2472
+ "[2.2332381e-07]\n",
2473
+ "[3.4981596e-05]\n",
2474
+ "[0.55377835]\n",
2475
+ "[0.5807905]\n",
2476
+ "[9.982774e-08]\n",
2477
+ "[0.51832926]\n",
2478
+ "[4.0443633e-06]\n",
2479
+ "[0.27502647]\n",
2480
+ "[0.52300483]\n",
2481
+ "[3.17319e-07]\n",
2482
+ "[1.0671923e-05]\n",
2483
+ "[0.5511596]\n",
2484
+ "[0.5189163]\n",
2485
+ "[1.9117892e-06]\n",
2486
+ "[0.53023154]\n",
2487
+ "[0.5553799]\n",
2488
+ "[0.52746034]\n",
2489
+ "[0.5184231]\n",
2490
+ "[0.39556023]\n",
2491
+ "[4.87337e-06]\n",
2492
+ "[0.5451468]\n",
2493
+ "[1.4557008e-07]\n",
2494
+ "[0.55343837]\n",
2495
+ "[2.108606e-07]\n",
2496
+ "[0.54778093]\n",
2497
+ "[3.1461088e-06]\n",
2498
+ "[0.563569]\n",
2499
+ "[5.9876274e-06]\n",
2500
+ "[4.397821e-08]\n",
2501
+ "[1.8641595e-06]\n",
2502
+ "[0.05079072]\n",
2503
+ "[0.5079609]\n",
2504
+ "[0.5411487]\n",
2505
+ "[9.379475e-07]\n",
2506
+ "[0.5165644]\n",
2507
+ "[4.0113596e-06]\n",
2508
+ "[0.5281016]\n",
2509
+ "[1.8821162e-07]\n",
2510
+ "[0.5685632]\n",
2511
+ "[0.518153]\n",
2512
+ "[4.248246e-08]\n",
2513
+ "[2.0135906e-06]\n",
2514
+ "[0.5340409]\n",
2515
+ "[0.5478336]\n",
2516
+ "[5.5839755e-06]\n",
2517
+ "[1.1875091e-07]\n",
2518
+ "[7.1206955e-06]\n",
2519
+ "[0.5546588]\n",
2520
+ "[0.5214385]\n",
2521
+ "[0.5034027]\n",
2522
+ "[5.4558827e-06]\n",
2523
+ "[0.52408206]\n",
2524
+ "[0.53267807]\n",
2525
+ "[0.5320852]\n",
2526
+ "[0.50871015]\n",
2527
+ "[2.1866028e-06]\n",
2528
+ "[2.106713e-05]\n",
2529
+ "[0.52155626]\n",
2530
+ "[7.1976906e-08]\n",
2531
+ "[6.1020565e-08]\n",
2532
+ "[0.5747911]\n",
2533
+ "[0.5433437]\n",
2534
+ "[0.5105487]\n",
2535
+ "[0.50080305]\n",
2536
+ "[0.40464118]\n",
2537
+ "[0.517852]\n",
2538
+ "[0.5058745]\n",
2539
+ "[0.11688863]\n",
2540
+ "[3.1266463e-08]\n",
2541
+ "[0.52526486]\n",
2542
+ "[0.00025713]\n",
2543
+ "[5.3885906e-08]\n",
2544
+ "[0.53327715]\n",
2545
+ "[0.57398343]\n",
2546
+ "[0.13905732]\n",
2547
+ "[0.541341]\n",
2548
+ "[7.8856135e-07]\n",
2549
+ "[0.52133155]\n",
2550
+ "[0.556793]\n",
2551
+ "[0.5922775]\n",
2552
+ "[0.5064742]\n",
2553
+ "[0.47115418]\n",
2554
+ "[0.5271402]\n",
2555
+ "[0.54056054]\n",
2556
+ "[4.041257e-05]\n",
2557
+ "[8.8279165e-08]\n",
2558
+ "[0.50511634]\n",
2559
+ "[0.5120699]\n",
2560
+ "[0.5177203]\n",
2561
+ "[2.676312e-06]\n",
2562
+ "[0.53358036]\n",
2563
+ "[0.5502251]\n",
2564
+ "[0.54512453]\n",
2565
+ "[1.3204237e-05]\n",
2566
+ "[1.7349437e-07]\n",
2567
+ "[0.5976588]\n",
2568
+ "[0.5695266]\n",
2569
+ "[2.728689e-07]\n",
2570
+ "[8.408922e-06]\n",
2571
+ "[1.867257e-06]\n",
2572
+ "[0.52844703]\n",
2573
+ "[0.45173204]\n",
2574
+ "[0.54708666]\n",
2575
+ "[5.7265875e-06]\n",
2576
+ "[0.52630115]\n",
2577
+ "[0.5270822]\n",
2578
+ "[3.2779513e-05]\n",
2579
+ "[0.5495372]\n",
2580
+ "[0.5738873]\n",
2581
+ "[0.5254202]\n",
2582
+ "[0.58019334]\n",
2583
+ "[1.7637557e-08]\n",
2584
+ "[0.5061484]\n",
2585
+ "[0.52197576]\n",
2586
+ "[0.52688843]\n",
2587
+ "[2.9695436e-06]\n",
2588
+ "[0.5580882]\n",
2589
+ "[2.561917e-07]\n",
2590
+ "[3.0751114e-06]\n",
2591
+ "[0.54996157]\n",
2592
+ "[0.0019383]\n",
2593
+ "[0.51386]\n",
2594
+ "[0.56105816]\n",
2595
+ "[0.51249206]\n",
2596
+ "[0.5136623]\n",
2597
+ "[1.8864577e-07]\n",
2598
+ "[0.54779494]\n",
2599
+ "[0.5523094]\n",
2600
+ "[1.14562276e-07]\n",
2601
+ "[2.4145697e-08]\n",
2602
+ "[0.40103057]\n",
2603
+ "[0.5159196]\n",
2604
+ "[0.5290429]\n",
2605
+ "[0.52746797]\n",
2606
+ "[0.48969096]\n",
2607
+ "[0.5843777]\n",
2608
+ "[0.5254172]\n",
2609
+ "[0.52169406]\n",
2610
+ "[0.5403003]\n",
2611
+ "[0.5536966]\n",
2612
+ "[5.88667e-06]\n",
2613
+ "[0.51666766]\n",
2614
+ "[0.54666066]\n",
2615
+ "[0.57702017]\n",
2616
+ "[0.5194603]\n",
2617
+ "[2.0564465e-05]\n",
2618
+ "[0.54690063]\n",
2619
+ "[0.55038285]\n",
2620
+ "[0.5752575]\n",
2621
+ "[0.59542793]\n",
2622
+ "[0.5187665]\n",
2623
+ "[0.52568936]\n",
2624
+ "[0.05567667]\n",
2625
+ "[0.553612]\n",
2626
+ "[0.57291573]\n",
2627
+ "[0.55127764]\n",
2628
+ "[0.5223612]\n",
2629
+ "[0.5302379]\n",
2630
+ "[0.5398841]\n",
2631
+ "[0.52776915]\n",
2632
+ "[0.5115849]\n",
2633
+ "[2.4452087e-08]\n",
2634
+ "[0.5097545]\n",
2635
+ "[1.0473777e-07]\n",
2636
+ "[0.5182943]\n",
2637
+ "[0.47771966]\n",
2638
+ "[0.57233536]\n",
2639
+ "[0.5426028]\n",
2640
+ "[1.432407e-06]\n",
2641
+ "[2.0145458e-07]\n",
2642
+ "[0.52487403]\n",
2643
+ "[1.38790565e-05]\n",
2644
+ "[0.5389302]\n",
2645
+ "[0.5037424]\n",
2646
+ "[0.5504515]\n",
2647
+ "[0.5096086]\n",
2648
+ "[0.5766966]\n",
2649
+ "[0.5190773]\n",
2650
+ "[0.5506639]\n",
2651
+ "[7.018541e-06]\n",
2652
+ "[0.49915612]\n",
2653
+ "[0.58344597]\n",
2654
+ "[0.58995336]\n",
2655
+ "[3.3294264e-06]\n",
2656
+ "[5.913448e-08]\n",
2657
+ "[0.5175433]\n",
2658
+ "[0.5559111]\n",
2659
+ "[0.5160356]\n",
2660
+ "[3.1600774e-07]\n",
2661
+ "[0.45267183]\n",
2662
+ "[0.5319194]\n",
2663
+ "[6.4349073e-09]\n",
2664
+ "[0.53866935]\n",
2665
+ "[0.59716684]\n",
2666
+ "[1.4399482e-06]\n",
2667
+ "[0.00957735]\n",
2668
+ "[0.5121308]\n",
2669
+ "[3.1906734e-06]\n",
2670
+ "[2.556372e-07]\n",
2671
+ "[0.01610461]\n",
2672
+ "[2.3532377e-07]\n",
2673
+ "[0.10256398]\n",
2674
+ "[0.5456664]\n",
2675
+ "[0.5245356]\n",
2676
+ "[0.5988144]\n",
2677
+ "[0.00061486]\n",
2678
+ "[1.33858915e-08]\n",
2679
+ "[0.55436635]\n",
2680
+ "[0.5539324]\n",
2681
+ "[0.5124632]\n",
2682
+ "[0.5557457]\n",
2683
+ "[0.57283]\n",
2684
+ "[0.47985774]\n",
2685
+ "[2.9061485e-07]\n",
2686
+ "[0.5279127]\n",
2687
+ "[8.00123e-08]\n",
2688
+ "[0.58491933]\n",
2689
+ "[0.5229782]\n",
2690
+ "[0.5201304]\n",
2691
+ "[0.50803095]\n",
2692
+ "[0.54949397]\n",
2693
+ "[3.1032996e-06]\n",
2694
+ "[3.0437983e-05]\n",
2695
+ "[0.550635]\n",
2696
+ "[0.58721167]\n",
2697
+ "[4.2646843e-06]\n",
2698
+ "[0.5443236]\n",
2699
+ "[0.5461684]\n",
2700
+ "[3.1681154e-08]\n",
2701
+ "[0.499873]\n",
2702
+ "[0.5210962]\n",
2703
+ "[1.2127827e-05]\n",
2704
+ "[3.9282956e-08]\n",
2705
+ "[1.16558944e-07]\n",
2706
+ "[0.5716687]\n",
2707
+ "[5.1003203e-06]\n",
2708
+ "[0.55088425]\n",
2709
+ "[0.49909458]\n",
2710
+ "[6.9806866e-08]\n",
2711
+ "[0.521666]\n",
2712
+ "[0.5272844]\n",
2713
+ "[0.48696086]\n",
2714
+ "[5.4919024e-06]\n",
2715
+ "[0.51990277]\n",
2716
+ "[5.498069e-08]\n",
2717
+ "[4.4029495e-08]\n",
2718
+ "[0.5048339]\n",
2719
+ "[9.8146575e-06]\n",
2720
+ "[4.1162927e-08]\n",
2721
+ "[0.5819837]\n",
2722
+ "[0.00664981]\n",
2723
+ "[0.5548742]\n",
2724
+ "[0.53976595]\n",
2725
+ "[0.53301924]\n",
2726
+ "[0.5959161]\n",
2727
+ "[0.51380414]\n",
2728
+ "[0.5063833]\n",
2729
+ "[4.604449e-08]\n",
2730
+ "[0.5272271]\n",
2731
+ "[6.2166606e-07]\n",
2732
+ "[0.5374387]\n",
2733
+ "[2.3009518e-06]\n",
2734
+ "[0.55214393]\n",
2735
+ "[0.5906872]\n",
2736
+ "[0.5245397]\n",
2737
+ "[0.5752458]\n",
2738
+ "[5.1484386e-07]\n",
2739
+ "[2.5572492e-08]\n",
2740
+ "[0.55411917]\n",
2741
+ "[0.55024165]\n",
2742
+ "[0.55086166]\n",
2743
+ "[0.5551557]\n",
2744
+ "[3.4394003e-07]\n",
2745
+ "[2.237192e-07]\n",
2746
+ "[0.51040596]\n",
2747
+ "[5.2087347e-07]\n",
2748
+ "[0.598824]\n",
2749
+ "[0.52256024]\n",
2750
+ "[1.6894671e-06]\n",
2751
+ "[1.5600882e-07]\n",
2752
+ "[0.22460733]\n",
2753
+ "[0.5437593]\n",
2754
+ "[0.5796932]\n",
2755
+ "[0.07654108]\n",
2756
+ "[0.5264915]\n",
2757
+ "[1.2229277e-05]\n",
2758
+ "[0.5480917]\n",
2759
+ "[0.58818406]\n",
2760
+ "[0.56532615]\n",
2761
+ "[0.5227567]\n",
2762
+ "[1.619624e-06]\n",
2763
+ "[2.3213431e-07]\n",
2764
+ "[4.4730882e-07]\n",
2765
+ "[1.7798337e-06]\n",
2766
+ "[3.3446334e-08]\n",
2767
+ "[4.554072e-06]\n",
2768
+ "[0.529961]\n",
2769
+ "[0.5469814]\n",
2770
+ "[0.5497212]\n",
2771
+ "[9.514788e-08]\n",
2772
+ "[0.5338376]\n",
2773
+ "[0.46745193]\n",
2774
+ "[0.5262953]\n",
2775
+ "[0.268083]\n",
2776
+ "[0.52700704]\n",
2777
+ "[0.582319]\n",
2778
+ "[0.55414975]\n",
2779
+ "[0.3220274]\n",
2780
+ "[0.52022505]\n",
2781
+ "[9.878259e-08]\n",
2782
+ "[0.11206415]\n",
2783
+ "[0.517778]\n",
2784
+ "[3.9173083e-06]\n",
2785
+ "[3.5362973e-08]\n",
2786
+ "[0.5558178]\n",
2787
+ "[0.58972514]\n",
2788
+ "[0.5199344]\n",
2789
+ "[0.505717]\n",
2790
+ "[3.6021203e-07]\n",
2791
+ "[4.4901726e-06]\n",
2792
+ "[0.54812104]\n",
2793
+ "[6.633114e-06]\n",
2794
+ "[8.247172e-07]\n",
2795
+ "[3.9965295e-07]\n",
2796
+ "[0.58910215]\n",
2797
+ "[0.51703197]\n",
2798
+ "[0.5426968]\n",
2799
+ "[0.5419198]\n",
2800
+ "[6.952742e-07]\n",
2801
+ "[0.5685694]\n",
2802
+ "[0.5158508]\n",
2803
+ "[8.9093646e-08]\n",
2804
+ "[8.784875e-06]\n",
2805
+ "[0.27628526]\n",
2806
+ "[0.5463649]\n",
2807
+ "[0.5541454]\n",
2808
+ "[1.4982702e-07]\n",
2809
+ "[0.38390228]\n",
2810
+ "[0.52232796]\n",
2811
+ "[0.5229007]\n",
2812
+ "[0.5600293]\n",
2813
+ "[0.5111461]\n",
2814
+ "[1.875626e-07]\n",
2815
+ "[0.54104674]\n",
2816
+ "[0.5618256]\n",
2817
+ "[0.08109245]\n",
2818
+ "[2.968581e-07]\n",
2819
+ "[0.00363269]\n",
2820
+ "[7.772256e-07]\n",
2821
+ "[0.51703364]\n",
2822
+ "[5.1200236e-06]\n",
2823
+ "[0.54685473]\n",
2824
+ "[0.54183]\n",
2825
+ "[7.220186e-08]\n",
2826
+ "[0.57772106]\n",
2827
+ "[1.3362928e-05]\n",
2828
+ "[5.4714445e-07]\n",
2829
+ "[0.5282842]\n",
2830
+ "[0.54000956]\n",
2831
+ "[0.55026495]\n",
2832
+ "[0.5090769]\n",
2833
+ "[0.5471568]\n",
2834
+ "[6.349835e-06]\n",
2835
+ "[0.55147105]\n",
2836
+ "[0.5157708]\n",
2837
+ "[0.52012163]\n",
2838
+ "[0.4438028]\n",
2839
+ "[7.3778956e-06]\n",
2840
+ "[0.5568013]\n",
2841
+ "[0.5069166]\n",
2842
+ "[0.50905746]\n",
2843
+ "[0.51704395]\n",
2844
+ "[0.5945704]\n",
2845
+ "[0.5222223]\n",
2846
+ "[7.9475444e-07]\n",
2847
+ "[0.5402584]\n",
2848
+ "[7.5613724e-07]\n",
2849
+ "[3.8552416e-06]\n",
2850
+ "[5.09118e-06]\n",
2851
+ "[0.54363966]\n",
2852
+ "[0.58830094]\n",
2853
+ "[0.5615004]\n",
2854
+ "[0.47052994]\n",
2855
+ "[0.30370656]\n",
2856
+ "[0.19904186]\n",
2857
+ "[0.3483836]\n",
2858
+ "[8.208205e-06]\n",
2859
+ "[8.2577046e-08]\n",
2860
+ "[0.52263856]\n",
2861
+ "[0.55530953]\n",
2862
+ "[7.676677e-06]\n",
2863
+ "[0.5113942]\n",
2864
+ "[6.1331525e-07]\n",
2865
+ "[0.5542709]\n",
2866
+ "[0.5767021]\n",
2867
+ "[0.52269435]\n",
2868
+ "[3.370603e-07]\n",
2869
+ "[3.6010646e-05]\n",
2870
+ "[0.52191114]\n",
2871
+ "[9.418621e-08]\n",
2872
+ "[0.5528319]\n",
2873
+ "[0.5408189]\n",
2874
+ "[4.4427836e-08]\n",
2875
+ "[0.5211978]\n",
2876
+ "[8.794488e-06]\n",
2877
+ "[0.52396166]\n",
2878
+ "[5.6797206e-05]\n",
2879
+ "[0.59030294]\n",
2880
+ "[5.468951e-07]\n",
2881
+ "[0.5577164]\n",
2882
+ "[0.5271323]\n",
2883
+ "[0.51207703]\n",
2884
+ "[3.0715977e-08]\n",
2885
+ "[0.5180096]\n",
2886
+ "[0.5392583]\n",
2887
+ "[0.53833205]\n",
2888
+ "[5.7969016e-09]\n",
2889
+ "[0.5313331]\n",
2890
+ "[0.0002459]\n",
2891
+ "[0.55600834]\n",
2892
+ "[3.524693e-06]\n",
2893
+ "[0.5063054]\n",
2894
+ "[0.5498017]\n",
2895
+ "[0.5157026]\n",
2896
+ "[0.5119338]\n",
2897
+ "[0.5584796]\n",
2898
+ "[0.5541477]\n",
2899
+ "[4.6140813e-06]\n",
2900
+ "[0.56614715]\n",
2901
+ "[0.5529062]\n",
2902
+ "[0.51537484]\n",
2903
+ "[0.55385494]\n",
2904
+ "[0.54146916]\n",
2905
+ "[0.5518346]\n",
2906
+ "[1.6805769e-05]\n",
2907
+ "[1.311128e-05]\n",
2908
+ "[5.353026e-06]\n",
2909
+ "[5.036788e-07]\n",
2910
+ "[0.5545974]\n",
2911
+ "[3.0777783e-06]\n",
2912
+ "[1.1868817e-05]\n",
2913
+ "[0.56693107]\n",
2914
+ "[2.127408e-06]\n",
2915
+ "[0.51121765]\n",
2916
+ "[7.514223e-07]\n",
2917
+ "[0.55863506]\n",
2918
+ "[0.5415744]\n",
2919
+ "[3.5529577e-06]\n",
2920
+ "[0.01593189]\n",
2921
+ "[0.5515203]\n",
2922
+ "[0.52042186]\n",
2923
+ "[0.5720392]\n",
2924
+ "[0.519143]\n",
2925
+ "[1.7741324e-05]\n",
2926
+ "[0.58748186]\n",
2927
+ "[0.5229617]\n",
2928
+ "[1.7694304e-06]\n",
2929
+ "[0.55215645]\n",
2930
+ "[0.51906013]\n",
2931
+ "[0.26947322]\n",
2932
+ "[1.1637103e-07]\n",
2933
+ "[0.1914085]\n",
2934
+ "[5.489398e-07]\n",
2935
+ "[0.3763446]\n",
2936
+ "[0.5403063]\n",
2937
+ "[0.5273482]\n",
2938
+ "[0.53997403]\n",
2939
+ "[1.0563613e-06]\n",
2940
+ "[0.5926772]\n",
2941
+ "[0.5403829]\n",
2942
+ "[0.5374772]\n",
2943
+ "[5.4205952e-06]\n",
2944
+ "[0.57872194]\n",
2945
+ "[0.5510715]\n",
2946
+ "[0.5199825]\n",
2947
+ "[0.53921974]\n",
2948
+ "[0.5744089]\n",
2949
+ "[0.43869078]\n",
2950
+ "[7.4753125e-08]\n",
2951
+ "[7.2354023e-06]\n",
2952
+ "[5.3429147e-08]\n",
2953
+ "[5.189782e-06]\n",
2954
+ "[4.6734005e-08]\n",
2955
+ "[0.5571041]\n",
2956
+ "[5.436598e-06]\n",
2957
+ "[0.5204537]\n",
2958
+ "[1.6809959e-07]\n",
2959
+ "[1.2901432e-07]\n",
2960
+ "[0.5504862]\n",
2961
+ "[0.526856]\n",
2962
+ "[0.5537424]\n",
2963
+ "[0.5452072]\n",
2964
+ "[0.5332315]\n",
2965
+ "[0.57734317]\n",
2966
+ "[2.4464905e-06]\n",
2967
+ "[0.51520777]\n",
2968
+ "[0.5340632]\n",
2969
+ "[0.5055958]\n",
2970
+ "[0.5546363]\n",
2971
+ "[0.537675]\n",
2972
+ "[3.4948298e-06]\n",
2973
+ "[1.8416247e-07]\n",
2974
+ "[0.52086425]\n",
2975
+ "[0.5537286]\n",
2976
+ "[1.5747622e-05]\n",
2977
+ "[0.00034193]\n",
2978
+ "[3.9969973e-06]\n",
2979
+ "[6.6492895e-08]\n",
2980
+ "[0.00017095]\n",
2981
+ "[0.52952874]\n",
2982
+ "[8.001122e-05]\n",
2983
+ "[0.5347935]\n",
2984
+ "[1.2827404e-07]\n",
2985
+ "[1.550017e-06]\n",
2986
+ "[0.5109892]\n",
2987
+ "[0.5359583]\n",
2988
+ "[4.7122163e-07]\n",
2989
+ "[0.5434472]\n",
2990
+ "[5.398662e-08]\n",
2991
+ "[0.57048523]\n",
2992
+ "[0.5162214]\n",
2993
+ "[0.5219743]\n",
2994
+ "[0.51994777]\n",
2995
+ "[1.881645e-05]\n",
2996
+ "[0.5185689]\n",
2997
+ "[4.622118e-07]\n",
2998
+ "[4.113835e-06]\n",
2999
+ "[0.5528697]\n",
3000
+ "[0.53524846]\n",
3001
+ "[0.52201325]\n",
3002
+ "[0.5235795]\n",
3003
+ "[0.5769687]\n",
3004
+ "[0.53072625]\n",
3005
+ "[1.3835748e-08]\n",
3006
+ "[0.5212081]\n",
3007
+ "[0.00667827]\n",
3008
+ "[2.4347573e-06]\n",
3009
+ "[2.6115347e-06]\n",
3010
+ "[0.5052297]\n",
3011
+ "[0.5381591]\n",
3012
+ "[0.5201159]\n",
3013
+ "[4.2345287e-06]\n",
3014
+ "[0.5185529]\n",
3015
+ "[0.54962176]\n",
3016
+ "[6.6512557e-06]\n",
3017
+ "[1.8803572e-05]\n",
3018
+ "[0.5523465]\n",
3019
+ "[3.0157457e-06]\n",
3020
+ "[1.0219295e-07]\n",
3021
+ "[6.6018883e-06]\n",
3022
+ "[0.52610594]\n",
3023
+ "[0.53913957]\n",
3024
+ "[0.54851973]\n",
3025
+ "[6.48473e-07]\n",
3026
+ "[0.54699045]\n",
3027
+ "[1.7516885e-06]\n",
3028
+ "[0.5468258]\n",
3029
+ "[0.5569628]\n",
3030
+ "[0.5177252]\n",
3031
+ "[3.5209993e-08]\n",
3032
+ "[0.5416716]\n",
3033
+ "[0.5212378]\n",
3034
+ "[0.52689654]\n",
3035
+ "[2.5042272e-07]\n",
3036
+ "[0.5170183]\n",
3037
+ "[0.5183576]\n",
3038
+ "[0.54078543]\n",
3039
+ "[0.5402296]\n",
3040
+ "[1.5556075e-06]\n",
3041
+ "[2.3038722e-06]\n",
3042
+ "[0.5188385]\n",
3043
+ "[5.068536e-06]\n",
3044
+ "[0.5525837]\n",
3045
+ "[0.38113898]\n",
3046
+ "[0.54647815]\n",
3047
+ "[0.5081369]\n",
3048
+ "[0.51704013]\n",
3049
+ "[2.0825905e-06]\n",
3050
+ "[0.52181655]\n",
3051
+ "[4.7368217e-06]\n",
3052
+ "[0.5520886]\n",
3053
+ "[6.831549e-06]\n",
3054
+ "[1.9785034e-07]\n",
3055
+ "[7.000866e-07]\n",
3056
+ "[3.8130096e-07]\n",
3057
+ "[0.50973123]\n",
3058
+ "[0.5551731]\n",
3059
+ "[2.591607e-07]\n",
3060
+ "[0.55772406]\n",
3061
+ "[0.5435938]\n",
3062
+ "[0.5509934]\n",
3063
+ "[1.4941836e-07]\n",
3064
+ "[5.3339136e-07]\n",
3065
+ "[5.755035e-06]\n",
3066
+ "[0.596638]\n",
3067
+ "[4.1516213e-07]\n",
3068
+ "[0.53018916]\n",
3069
+ "[5.4253323e-06]\n",
3070
+ "[0.35542604]\n",
3071
+ "[0.5566073]\n",
3072
+ "[1.5108151e-07]\n",
3073
+ "[3.2193286e-05]\n",
3074
+ "[8.587441e-06]\n",
3075
+ "[0.52499515]\n",
3076
+ "[1.0486835e-06]\n",
3077
+ "[0.51852417]\n",
3078
+ "[0.00050376]\n",
3079
+ "[0.5504323]\n",
3080
+ "[3.557221e-08]\n",
3081
+ "[0.52049536]\n",
3082
+ "[2.6233965e-07]\n",
3083
+ "[1.2280747e-06]\n",
3084
+ "[0.58820057]\n",
3085
+ "[0.52846736]\n",
3086
+ "[2.2352643e-07]\n",
3087
+ "[0.52406996]\n",
3088
+ "[2.6898219e-08]\n",
3089
+ "[7.235763e-07]\n",
3090
+ "[0.54484534]\n",
3091
+ "[0.549051]\n",
3092
+ "[0.5701658]\n",
3093
+ "[0.53646123]\n",
3094
+ "[0.5680831]\n",
3095
+ "[0.00018256]\n",
3096
+ "[2.1748732e-05]\n",
3097
+ "[0.5175334]\n",
3098
+ "[5.959463e-07]\n",
3099
+ "[0.00042674]\n",
3100
+ "[0.54423165]\n",
3101
+ "[1.119135e-06]\n",
3102
+ "[1.416714e-07]\n",
3103
+ "[0.51344806]\n",
3104
+ "[0.5232885]\n",
3105
+ "[1.9634541e-08]\n",
3106
+ "[3.9581022e-07]\n",
3107
+ "[0.5545819]\n",
3108
+ "[6.052204e-05]\n",
3109
+ "[0.5290769]\n",
3110
+ "[0.5427578]\n",
3111
+ "[0.5040093]\n",
3112
+ "[0.42385948]\n",
3113
+ "[0.57306534]\n",
3114
+ "[0.5248874]\n",
3115
+ "[3.2765094e-08]\n",
3116
+ "[6.676885e-07]\n",
3117
+ "[0.5575824]\n",
3118
+ "[0.3978206]\n",
3119
+ "[0.5434567]\n",
3120
+ "[0.5502945]\n",
3121
+ "[0.5106187]\n",
3122
+ "[0.5605195]\n",
3123
+ "[3.4701472e-06]\n",
3124
+ "[0.50559044]\n",
3125
+ "[2.0924439e-07]\n",
3126
+ "[0.5431036]\n",
3127
+ "[1.9716463e-05]\n",
3128
+ "[0.5524096]\n",
3129
+ "[0.54209507]\n",
3130
+ "[0.52661073]\n",
3131
+ "[0.55338776]\n",
3132
+ "[0.50380886]\n",
3133
+ "[1.4734347e-07]\n",
3134
+ "[0.5174159]\n",
3135
+ "[2.739382e-06]\n",
3136
+ "[0.5466889]\n",
3137
+ "[0.5544166]\n",
3138
+ "[0.56800234]\n",
3139
+ "[0.5460239]\n",
3140
+ "[0.57485455]\n",
3141
+ "[0.5635709]\n",
3142
+ "[0.56379473]\n",
3143
+ "[0.55427825]\n",
3144
+ "[0.55524254]\n",
3145
+ "[0.53554565]\n",
3146
+ "[0.5811187]\n",
3147
+ "[0.5189512]\n",
3148
+ "[0.54752845]\n",
3149
+ "[0.5183141]\n",
3150
+ "[0.55557674]\n",
3151
+ "[0.516527]\n",
3152
+ "[0.55616134]\n",
3153
+ "[0.56233287]\n",
3154
+ "[0.51650876]\n",
3155
+ "[2.9982646e-06]\n",
3156
+ "[2.997356e-07]\n",
3157
+ "[0.5483622]\n",
3158
+ "[0.53537685]\n",
3159
+ "[0.57600915]\n",
3160
+ "[0.5477771]\n",
3161
+ "[0.5488831]\n",
3162
+ "[0.5499957]\n",
3163
+ "[0.56597286]\n",
3164
+ "[4.4778087e-08]\n",
3165
+ "[0.4667772]\n",
3166
+ "[0.5540323]\n",
3167
+ "[7.6528174e-08]\n",
3168
+ "[0.5667119]\n",
3169
+ "[0.55426437]\n",
3170
+ "[0.51783526]\n",
3171
+ "[0.5523934]\n",
3172
+ "[0.55862963]\n",
3173
+ "[0.5394541]\n",
3174
+ "[0.5926675]\n",
3175
+ "[7.057458e-07]\n",
3176
+ "[2.0191813e-07]\n",
3177
+ "[8.3059774e-08]\n",
3178
+ "[2.9032896e-07]\n",
3179
+ "[0.5445654]\n",
3180
+ "[0.4934783]\n",
3181
+ "[1.8747284e-07]\n",
3182
+ "[0.02548108]\n",
3183
+ "[0.51546264]\n",
3184
+ "[0.58894545]\n",
3185
+ "[0.5719181]\n",
3186
+ "[4.0420895e-07]\n",
3187
+ "[3.991939e-08]\n",
3188
+ "[3.9121755e-07]\n",
3189
+ "[3.17915e-08]\n",
3190
+ "[0.58782434]\n",
3191
+ "[1.4109478e-05]\n",
3192
+ "[0.00012795]\n",
3193
+ "[2.5179786e-06]\n",
3194
+ "[0.55671334]\n",
3195
+ "[0.52014357]\n",
3196
+ "[0.50507396]\n",
3197
+ "[0.51648974]\n",
3198
+ "[0.52845836]\n",
3199
+ "[2.3881697e-07]\n",
3200
+ "[0.53224224]\n",
3201
+ "[5.124733e-06]\n",
3202
+ "[5.087496e-06]\n",
3203
+ "[0.5817917]\n",
3204
+ "[0.5280515]\n",
3205
+ "[0.58877087]\n",
3206
+ "[0.52404886]\n",
3207
+ "[0.52515507]\n",
3208
+ "[5.1647015e-07]\n",
3209
+ "[0.5228478]\n",
3210
+ "[0.50690204]\n",
3211
+ "[0.5674643]\n",
3212
+ "[0.52090687]\n",
3213
+ "[0.52391434]\n",
3214
+ "[0.52631605]\n",
3215
+ "[0.00229468]\n",
3216
+ "[0.59731287]\n",
3217
+ "[1.9185603e-07]\n",
3218
+ "[0.55798316]\n",
3219
+ "[0.5505771]\n",
3220
+ "[3.178732e-08]\n",
3221
+ "[0.53690034]\n",
3222
+ "[0.5355524]\n",
3223
+ "[0.5207665]\n",
3224
+ "[0.5533664]\n",
3225
+ "[0.5729693]\n",
3226
+ "[8.766904e-05]\n",
3227
+ "[0.5225328]\n",
3228
+ "[0.5519222]\n",
3229
+ "[2.1448305e-07]\n",
3230
+ "[0.32365268]\n",
3231
+ "[0.5876425]\n",
3232
+ "[0.16577493]\n",
3233
+ "[0.51820874]\n",
3234
+ "[0.59045583]\n",
3235
+ "[0.52936256]\n",
3236
+ "[0.51561]\n",
3237
+ "[0.5478628]\n",
3238
+ "[0.5509385]\n",
3239
+ "[3.4472628e-06]\n",
3240
+ "[0.5754059]\n",
3241
+ "[5.523807e-06]\n",
3242
+ "[0.42085195]\n",
3243
+ "[0.5057379]\n",
3244
+ "[0.55885744]\n",
3245
+ "[4.7151516e-06]\n",
3246
+ "[2.145131e-05]\n",
3247
+ "[0.23724356]\n",
3248
+ "[1.1000904e-07]\n",
3249
+ "[0.5142094]\n",
3250
+ "[1.988938e-06]\n",
3251
+ "[0.51807207]\n",
3252
+ "[1.5642687e-06]\n",
3253
+ "[0.51128787]\n",
3254
+ "[0.5395155]\n",
3255
+ "[0.52764946]\n",
3256
+ "[1.2248496e-07]\n",
3257
+ "[0.57993335]\n",
3258
+ "[0.02506949]\n",
3259
+ "[0.5140614]\n",
3260
+ "[0.5500073]\n",
3261
+ "[0.5361982]\n",
3262
+ "[0.58571875]\n",
3263
+ "[0.5241638]\n",
3264
+ "[0.5998641]\n",
3265
+ "[0.55466664]\n",
3266
+ "[0.5344842]\n",
3267
+ "[0.54692173]\n",
3268
+ "[0.5222385]\n",
3269
+ "[5.4592995e-08]\n",
3270
+ "[0.530016]\n",
3271
+ "[0.55088925]\n",
3272
+ "[0.536298]\n",
3273
+ "[0.03421189]\n",
3274
+ "[9.169016e-06]\n",
3275
+ "[0.5514809]\n",
3276
+ "[2.6523821e-06]\n",
3277
+ "[4.362441e-07]\n",
3278
+ "[0.49545288]\n",
3279
+ "[1.5223495e-06]\n",
3280
+ "[0.5266544]\n",
3281
+ "[0.51697505]\n",
3282
+ "[0.5539783]\n",
3283
+ "[0.510211]\n",
3284
+ "[0.5315801]\n",
3285
+ "[0.55796844]\n",
3286
+ "[0.5535219]\n",
3287
+ "[4.6833506e-07]\n",
3288
+ "[0.5609838]\n",
3289
+ "[0.53711194]\n",
3290
+ "[3.9553817e-07]\n",
3291
+ "[7.5986094e-08]\n",
3292
+ "[0.5523962]\n",
3293
+ "[0.5825287]\n",
3294
+ "[0.5981918]\n",
3295
+ "[0.39862466]\n",
3296
+ "[0.44847864]\n",
3297
+ "[0.5367722]\n",
3298
+ "[0.5131473]\n",
3299
+ "[9.749189e-06]\n",
3300
+ "[0.00021598]\n",
3301
+ "[0.07920754]\n",
3302
+ "[0.55338]\n",
3303
+ "[0.07369656]\n",
3304
+ "[0.5512979]\n",
3305
+ "[0.52223074]\n",
3306
+ "[4.1969215e-06]\n",
3307
+ "[7.400234e-06]\n",
3308
+ "[1.7930526e-07]\n",
3309
+ "[0.52624255]\n",
3310
+ "[0.58357733]\n",
3311
+ "[0.5543937]\n",
3312
+ "[0.53641534]\n",
3313
+ "[0.5443235]\n",
3314
+ "[4.197984e-07]\n",
3315
+ "[1.4748323e-06]\n",
3316
+ "[3.7842018e-08]\n",
3317
+ "[0.5573564]\n",
3318
+ "[2.7198428e-07]\n",
3319
+ "[0.5673185]\n",
3320
+ "[0.51582605]\n",
3321
+ "[3.8458996e-08]\n",
3322
+ "[0.594176]\n",
3323
+ "[2.9387647e-06]\n",
3324
+ "[1.2098849e-07]\n",
3325
+ "[0.5437709]\n",
3326
+ "[0.14778763]\n",
3327
+ "[0.54340494]\n",
3328
+ "[0.5250094]\n",
3329
+ "[2.2881737e-07]\n",
3330
+ "[0.5564643]\n",
3331
+ "[0.5798358]\n",
3332
+ "[0.5399111]\n",
3333
+ "[2.5522847e-06]\n",
3334
+ "[9.006596e-09]\n",
3335
+ "[0.5240273]\n",
3336
+ "[0.5349244]\n",
3337
+ "[6.032185e-07]\n",
3338
+ "[0.5857084]\n",
3339
+ "[0.56299365]\n",
3340
+ "[0.5492757]\n",
3341
+ "[0.53415906]\n",
3342
+ "[0.5332004]\n",
3343
+ "[8.587793e-06]\n",
3344
+ "[0.5676922]\n",
3345
+ "[0.00062231]\n",
3346
+ "[9.206985e-07]\n",
3347
+ "[0.53143835]\n",
3348
+ "[0.55851144]\n",
3349
+ "[0.556168]\n",
3350
+ "[0.5508051]\n",
3351
+ "[0.4815476]\n",
3352
+ "[0.5981147]\n",
3353
+ "[7.4806985e-06]\n",
3354
+ "[0.5572055]\n",
3355
+ "[0.5007587]\n",
3356
+ "[4.350359e-08]\n",
3357
+ "[5.755057e-06]\n",
3358
+ "[3.3348677e-08]\n",
3359
+ "[0.5571957]\n",
3360
+ "[0.57465154]\n",
3361
+ "[0.5207184]\n",
3362
+ "[0.55768615]\n",
3363
+ "[0.52063274]\n",
3364
+ "[4.7235406e-07]\n",
3365
+ "[0.584385]\n",
3366
+ "[0.53666013]\n",
3367
+ "[0.5249085]\n",
3368
+ "[5.3484537e-06]\n",
3369
+ "[0.5009114]\n",
3370
+ "[0.5590471]\n",
3371
+ "[0.5234785]\n",
3372
+ "[4.675274e-06]\n",
3373
+ "[0.5157719]\n",
3374
+ "[0.5161381]\n",
3375
+ "[3.575994e-07]\n",
3376
+ "[5.066289e-06]\n",
3377
+ "[0.5814784]\n",
3378
+ "[0.39926854]\n",
3379
+ "[5.5387986e-06]\n",
3380
+ "[4.637192e-06]\n",
3381
+ "[0.54420483]\n",
3382
+ "[0.52575785]\n",
3383
+ "[2.1346535e-08]\n",
3384
+ "[5.524185e-07]\n",
3385
+ "[2.2865528e-07]\n",
3386
+ "[1.2239202e-07]\n",
3387
+ "[0.5275897]\n",
3388
+ "[1.072259e-06]\n",
3389
+ "[0.5078236]\n",
3390
+ "[0.51469505]\n",
3391
+ "[0.5389492]\n",
3392
+ "[0.4876441]\n",
3393
+ "[2.9004635e-08]\n",
3394
+ "[0.52224374]\n",
3395
+ "[0.56020343]\n",
3396
+ "[0.5904476]\n",
3397
+ "[0.5713251]\n",
3398
+ "[0.5558854]\n",
3399
+ "[0.5874919]\n",
3400
+ "[0.5615041]\n",
3401
+ "[0.5146619]\n",
3402
+ "[5.7776477e-05]\n",
3403
+ "[0.5559272]\n",
3404
+ "[0.50133175]\n",
3405
+ "[0.5158643]\n",
3406
+ "[0.5283613]\n",
3407
+ "[0.5205974]\n",
3408
+ "[0.5828592]\n",
3409
+ "[1.3215798e-07]\n",
3410
+ "[4.0727264e-06]\n",
3411
+ "[0.5488178]\n",
3412
+ "[0.55442166]\n",
3413
+ "[0.55827785]\n",
3414
+ "[0.00063641]\n",
3415
+ "[0.49831668]\n",
3416
+ "[0.5545019]\n",
3417
+ "[0.5269616]\n",
3418
+ "[0.5377156]\n",
3419
+ "[0.5030926]\n",
3420
+ "[1.0438354e-06]\n",
3421
+ "[0.55072623]\n",
3422
+ "[0.52681077]\n",
3423
+ "[0.5840403]\n",
3424
+ "[0.5985843]\n",
3425
+ "[0.52116835]\n",
3426
+ "[0.54256594]\n",
3427
+ "[0.5503006]\n",
3428
+ "[3.4799385e-08]\n",
3429
+ "[0.5448731]\n",
3430
+ "[0.5347383]\n",
3431
+ "[0.53532374]\n",
3432
+ "[0.41600955]\n",
3433
+ "[0.5259873]\n",
3434
+ "[0.00874694]\n",
3435
+ "[0.54447204]\n",
3436
+ "[0.58811635]\n",
3437
+ "[3.2212965e-06]\n",
3438
+ "[0.53561735]\n",
3439
+ "[0.01100488]\n",
3440
+ "[0.5113333]\n",
3441
+ "[0.06490093]\n",
3442
+ "[4.4241992e-06]\n",
3443
+ "[2.43767e-07]\n",
3444
+ "[1.6362513e-06]\n",
3445
+ "[0.52042013]\n",
3446
+ "[3.520127e-07]\n",
3447
+ "[3.9459806e-08]\n",
3448
+ "[0.55131924]\n",
3449
+ "[0.54959583]\n",
3450
+ "[1.2620314e-06]\n",
3451
+ "[0.5279211]\n",
3452
+ "[0.51209295]\n",
3453
+ "[7.929203e-08]\n",
3454
+ "[0.5099859]\n",
3455
+ "[0.55368096]\n",
3456
+ "[0.47380465]\n",
3457
+ "[0.55822164]\n",
3458
+ "[0.50399035]\n",
3459
+ "[5.561589e-07]\n",
3460
+ "[2.1314808e-07]\n",
3461
+ "[0.59307355]\n",
3462
+ "[0.52151495]\n",
3463
+ "[0.5560235]\n",
3464
+ "[0.53041005]\n",
3465
+ "[4.0466912e-07]\n",
3466
+ "[2.7517984e-07]\n",
3467
+ "[0.551051]\n",
3468
+ "[0.52283955]\n",
3469
+ "[0.42918938]\n",
3470
+ "[0.53337526]\n",
3471
+ "[7.2991656e-07]\n",
3472
+ "[0.00200089]\n",
3473
+ "[0.535969]\n",
3474
+ "[0.51447326]\n",
3475
+ "[0.00059626]\n",
3476
+ "[5.292186e-06]\n",
3477
+ "[0.02924699]\n",
3478
+ "[0.52069]\n",
3479
+ "[0.54644054]\n",
3480
+ "[5.766567e-08]\n",
3481
+ "[0.51797056]\n",
3482
+ "[0.5358861]\n",
3483
+ "[0.5431692]\n",
3484
+ "[0.5369772]\n",
3485
+ "[1.637797e-07]\n",
3486
+ "[1.06407235e-07]\n",
3487
+ "[0.5270969]\n",
3488
+ "[0.59784204]\n",
3489
+ "[0.53271294]\n",
3490
+ "[0.5571682]\n",
3491
+ "[1.9538294e-07]\n",
3492
+ "[0.58151215]\n",
3493
+ "[5.7726414e-08]\n",
3494
+ "[0.58479464]\n",
3495
+ "[8.170673e-08]\n",
3496
+ "[0.5416038]\n",
3497
+ "[0.5443517]\n",
3498
+ "[0.5327282]\n",
3499
+ "[0.5059621]\n",
3500
+ "[0.12098776]\n",
3501
+ "[5.7904618e-08]\n",
3502
+ "[0.00168928]\n",
3503
+ "[0.5214834]\n",
3504
+ "[1.15970575e-08]\n",
3505
+ "[0.51955754]\n",
3506
+ "[0.53829706]\n",
3507
+ "[0.5526386]\n",
3508
+ "[0.5476735]\n",
3509
+ "[0.58055687]\n",
3510
+ "[0.51942223]\n",
3511
+ "[1.2029823e-05]\n",
3512
+ "[5.3512344e-06]\n",
3513
+ "[1.7280168e-05]\n",
3514
+ "[0.5469572]\n",
3515
+ "[0.55971676]\n",
3516
+ "[0.52306277]\n",
3517
+ "[0.5879358]\n",
3518
+ "[0.5461231]\n",
3519
+ "[0.5707537]\n",
3520
+ "[2.0942377e-06]\n",
3521
+ "[0.51598513]\n",
3522
+ "[0.50436294]\n",
3523
+ "[0.00050376]\n",
3524
+ "[0.55643064]\n",
3525
+ "[1.697327e-07]\n",
3526
+ "[0.5368933]\n",
3527
+ "[4.34869e-06]\n",
3528
+ "[0.5647607]\n",
3529
+ "[0.5246039]\n",
3530
+ "[3.4945733e-06]\n",
3531
+ "[1.9093595e-05]\n",
3532
+ "[4.0072118e-07]\n",
3533
+ "[0.00044299]\n",
3534
+ "[0.50434715]\n",
3535
+ "[0.5567084]\n",
3536
+ "[0.54588664]\n",
3537
+ "[6.8752804e-08]\n",
3538
+ "[0.47572407]\n",
3539
+ "[1.2687067e-05]\n",
3540
+ "[8.468829e-08]\n",
3541
+ "[0.5183472]\n",
3542
+ "[7.7603977e-07]\n",
3543
+ "[1.0456072e-07]\n",
3544
+ "[0.56330854]\n",
3545
+ "[0.55338985]\n",
3546
+ "[0.5412045]\n",
3547
+ "[0.582195]\n",
3548
+ "[0.57299703]\n",
3549
+ "[0.5319386]\n",
3550
+ "[0.51388615]\n",
3551
+ "[0.5232715]\n",
3552
+ "[0.5452314]\n",
3553
+ "[4.2310546e-07]\n",
3554
+ "[0.5596685]\n",
3555
+ "[2.0491058e-07]\n",
3556
+ "[6.029193e-06]\n",
3557
+ "[0.5629379]\n",
3558
+ "[0.54867315]\n",
3559
+ "[0.53791946]\n",
3560
+ "[0.5010129]\n",
3561
+ "[0.5150354]\n",
3562
+ "[7.0983964e-07]\n",
3563
+ "[0.00421618]\n"
3564
+ ]
3565
+ }
3566
+ ],
3567
+ "source": [
3568
+ "for x in results_tf:\n",
3569
+ " if x < 0.6:\n",
3570
+ " print(x)"
3571
+ ]
3572
+ },
3573
+ {
3574
+ "cell_type": "code",
3575
+ "execution_count": 10,
3576
+ "metadata": {},
3577
+ "outputs": [
3578
+ {
3579
+ "data": {
3580
+ "text/plain": [
3581
+ "<tf.Tensor: shape=(4754,), dtype=float32, numpy=array([1., 1., 1., ..., 1., 0., 0.], dtype=float32)>"
3582
+ ]
3583
+ },
3584
+ "execution_count": 10,
3585
+ "metadata": {},
3586
+ "output_type": "execute_result"
3587
+ }
3588
+ ],
3589
+ "source": [
3590
+ "tf.squeeze(tf.round(results_tf))"
3591
+ ]
3592
+ },
3593
+ {
3594
+ "cell_type": "code",
3595
+ "execution_count": 11,
3596
+ "metadata": {},
3597
+ "outputs": [],
3598
+ "source": [
3599
+ "\n",
3600
+ "# sess = ort.InferenceSession(\"model/x_g85_lstm.onnx\")\n",
3601
+ "\n",
3602
+ "# input_name = sess.get_inputs()[0].name\n",
3603
+ "# results_ort = sess.run(None, {input_name: X_test})\n"
3604
+ ]
3605
+ },
3606
+ {
3607
+ "cell_type": "code",
3608
+ "execution_count": 12,
3609
+ "metadata": {},
3610
+ "outputs": [],
3611
+ "source": [
3612
+ "# # convert from type `list` -> `np.array`\n",
3613
+ "# results_tf = np.array(results_ort)"
3614
+ ]
3615
+ },
3616
+ {
3617
+ "cell_type": "code",
3618
+ "execution_count": 13,
3619
+ "metadata": {},
3620
+ "outputs": [],
3621
+ "source": [
3622
+ "\n",
3623
+ "\n",
3624
+ "# for ort_res, tf_res in zip(results_ort, results_tf):\n",
3625
+ "# np.testing.assert_allclose(ort_res, tf_res, rtol=1e-5, atol=1e-5)\n",
3626
+ "\n",
3627
+ "# print(\"Results match\")\n"
3628
+ ]
3629
+ },
3630
+ {
3631
+ "cell_type": "code",
3632
+ "execution_count": null,
3633
+ "metadata": {},
3634
+ "outputs": [],
3635
+ "source": []
3636
+ }
3637
+ ],
3638
+ "metadata": {
3639
+ "kernelspec": {
3640
+ "display_name": "deep_learning",
3641
+ "language": "python",
3642
+ "name": "python3"
3643
+ },
3644
+ "language_info": {
3645
+ "codemirror_mode": {
3646
+ "name": "ipython",
3647
+ "version": 3
3648
+ },
3649
+ "file_extension": ".py",
3650
+ "mimetype": "text/x-python",
3651
+ "name": "python",
3652
+ "nbconvert_exporter": "python",
3653
+ "pygments_lexer": "ipython3",
3654
+ "version": "3.12.4"
3655
+ }
3656
+ },
3657
+ "nbformat": 4,
3658
+ "nbformat_minor": 2
3659
+ }
x_g85_lstm.ipynb ADDED
@@ -0,0 +1,724 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import os\n",
10
+ "import logging\n",
11
+ "import warnings\n",
12
+ "\n",
13
+ "os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # Suppresses INFO and WARNING messages\n",
14
+ "\n",
15
+ "# Configure logging to suppress TensorFlow messages\n",
16
+ "logging.getLogger('tensorflow').setLevel(logging.ERROR) # Set level to ERROR to suppress INFO and WARNING messages\n"
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "execution_count": 2,
22
+ "metadata": {},
23
+ "outputs": [],
24
+ "source": [
25
+ "import pandas as pd\n",
26
+ "import numpy as np\n",
27
+ "from datasets import load_dataset\n",
28
+ "\n",
29
+ "import tensorflow as tf\n",
30
+ "from tensorflow.keras import layers\n"
31
+ ]
32
+ },
33
+ {
34
+ "cell_type": "code",
35
+ "execution_count": 3,
36
+ "metadata": {},
37
+ "outputs": [],
38
+ "source": [
39
+ "dataset = load_dataset(\"x-g85/x_g85_fn_dataset\", streaming=True)\n",
40
+ "\n",
41
+ "train = pd.DataFrame(dataset[\"train\"])\n",
42
+ "valid = pd.DataFrame(dataset[\"valid\"])\n",
43
+ "test = pd.DataFrame(dataset[\"test\"])"
44
+ ]
45
+ },
46
+ {
47
+ "cell_type": "code",
48
+ "execution_count": 4,
49
+ "metadata": {},
50
+ "outputs": [],
51
+ "source": [
52
+ "X_train = train[\"text\"]\n",
53
+ "y_train = train[\"label\"]\n",
54
+ "\n",
55
+ "X_valid = valid[\"text\"]\n",
56
+ "y_vaild = valid[\"label\"]\n",
57
+ "\n",
58
+ "X_test = test[\"text\"]\n",
59
+ "y_test = test[\"label\"]\n"
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "code",
64
+ "execution_count": 5,
65
+ "metadata": {},
66
+ "outputs": [
67
+ {
68
+ "data": {
69
+ "text/plain": [
70
+ "['John',\n",
71
+ " 'McCain',\n",
72
+ " 'says',\n",
73
+ " 'NSA',\n",
74
+ " 'chief',\n",
75
+ " 'Keith',\n",
76
+ " 'Alexander',\n",
77
+ " \"'should\",\n",
78
+ " 'resign',\n",
79
+ " 'or',\n",
80
+ " 'be',\n",
81
+ " \"fired'.\",\n",
82
+ " 'Senator',\n",
83
+ " 'gives',\n",
84
+ " 'interview',\n",
85
+ " 'to',\n",
86
+ " 'Der',\n",
87
+ " 'Spiegel,',\n",
88
+ " 'saying',\n",
89
+ " 'general',\n",
90
+ " 'should',\n",
91
+ " \"'be\",\n",
92
+ " 'held',\n",
93
+ " \"accountable'\",\n",
94
+ " 'for',\n",
95
+ " 'Edward',\n",
96
+ " 'Snowden',\n",
97
+ " 'leaks.']"
98
+ ]
99
+ },
100
+ "execution_count": 5,
101
+ "metadata": {},
102
+ "output_type": "execute_result"
103
+ }
104
+ ],
105
+ "source": [
106
+ "X_train[0].split()"
107
+ ]
108
+ },
109
+ {
110
+ "cell_type": "code",
111
+ "execution_count": 6,
112
+ "metadata": {},
113
+ "outputs": [
114
+ {
115
+ "data": {
116
+ "text/plain": [
117
+ "207"
118
+ ]
119
+ },
120
+ "execution_count": 6,
121
+ "metadata": {},
122
+ "output_type": "execute_result"
123
+ }
124
+ ],
125
+ "source": [
126
+ "# Calculate the rounded average number of words per sentence in one line\n",
127
+ "rounded_average_words_per_sentence = round(sum(len(sentence.split()) for sentence in X_train) / len(X_train))\n",
128
+ "\n",
129
+ "rounded_average_words_per_sentence"
130
+ ]
131
+ },
132
+ {
133
+ "cell_type": "code",
134
+ "execution_count": 7,
135
+ "metadata": {},
136
+ "outputs": [],
137
+ "source": [
138
+ "# Text Tokenization | Vectorization Parameters\n",
139
+ "max_vocab_length = 5000 # how many unique words to use (i.e num rows in embedding vector)\n",
140
+ "max_length = 300 # max number of words in a comment to use; default = 300\n",
141
+ "embed_dim = 256 # how big is each word vector"
142
+ ]
143
+ },
144
+ {
145
+ "cell_type": "code",
146
+ "execution_count": 8,
147
+ "metadata": {},
148
+ "outputs": [],
149
+ "source": [
150
+ "# Setup Text Vectorization\n",
151
+ "# Serialization Issue: https://github.com/onnx/tensorflow-onnx/issues/1886\n",
152
+ "\n",
153
+ "text_vectorizer = layers.TextVectorization(\n",
154
+ " max_tokens= max_vocab_length,\n",
155
+ " output_mode=\"int\",\n",
156
+ " output_sequence_length=max_length,\n",
157
+ " name=\"TextVec\",\n",
158
+ " \n",
159
+ ")\n",
160
+ "\n",
161
+ "text_vectorizer.adapt(X_train, batch_size=32)"
162
+ ]
163
+ },
164
+ {
165
+ "cell_type": "code",
166
+ "execution_count": 9,
167
+ "metadata": {},
168
+ "outputs": [],
169
+ "source": [
170
+ "# # Setup Text Tokenizer\n",
171
+ "# from tensorflow.keras.preprocessing.text import Tokenizer\n",
172
+ "# from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
173
+ "\n",
174
+ "# tokenizer = Tokenizer(num_words=max_vocab_length)\n",
175
+ "# tokenizer.fit_on_texts(X_train)\n",
176
+ "\n",
177
+ "\n",
178
+ "# tokenized_train = tokenizer.texts_to_sequences(X_train)\n",
179
+ "# tokenized_valid= tokenizer.texts_to_sequences(X_valid)\n",
180
+ "# tokenized_test = tokenizer.texts_to_sequences(X_test)\n",
181
+ "\n",
182
+ "# X_train = pad_sequences(tokenized_train, maxlen=max_length)\n",
183
+ "# X_valid = pad_sequences(tokenized_valid, maxlen=max_length)\n",
184
+ "# X_test = pad_sequences(tokenized_test, maxlen=max_length)\n",
185
+ "\n",
186
+ "\n",
187
+ "# # Save the tokenizer to a JSON file\n",
188
+ "# tokenizer_json = tokenizer.to_json()\n",
189
+ "# with open('model/tokenizer.json', 'w') as file:\n",
190
+ "# file.write(tokenizer_json)"
191
+ ]
192
+ },
193
+ {
194
+ "cell_type": "code",
195
+ "execution_count": 10,
196
+ "metadata": {},
197
+ "outputs": [],
198
+ "source": [
199
+ "\n",
200
+ "# Model Creation\n",
201
+ "# Issue(Serialization): https://github.com/tflearn/tflearn/issues/605\n",
202
+ "\n",
203
+ "# Input\n",
204
+ "inputs = layers.Input(shape=(1,), dtype=tf.string, name=\"InputLayer\") # For TextVectorization\n",
205
+ "x = text_vectorizer(inputs) # For TextVectorization\n",
206
+ "\n",
207
+ "# inputs = layers.Input(shape=(max_length,), name=\"InputLayer\")\n",
208
+ "\n",
209
+ "# Embedding layer\n",
210
+ "\n",
211
+ "x = layers.Embedding(input_dim=max_vocab_length, output_dim=embed_dim)(x) # For TextVectorization\n",
212
+ "# x = layers.Embedding(input_dim=max_vocab_length, output_dim=embed_dim)(inputs) \n",
213
+ "\n",
214
+ "# LSTM layers\n",
215
+ "x = layers.LSTM(100, use_cudnn=False)(x) # LSTM layer without return_sequences\n",
216
+ "x = layers.Dropout(0.5)(x) # Reduce dropout rate slightly\n",
217
+ "\n",
218
+ "# Fully connected layers\n",
219
+ "x = layers.Dense(64, activation=\"relu\")(x)\n",
220
+ "x = layers.Dropout(0.3)(x)\n",
221
+ "\n",
222
+ "x = layers.Dense(32, activation=\"relu\")(x)\n",
223
+ "x = layers.Dropout(0.2)(x)\n",
224
+ "\n",
225
+ "# Output layer\n",
226
+ "outputs = layers.Dense(1, activation=\"sigmoid\")(x) # Binary classification\n",
227
+ "\n"
228
+ ]
229
+ },
230
+ {
231
+ "cell_type": "code",
232
+ "execution_count": 11,
233
+ "metadata": {},
234
+ "outputs": [],
235
+ "source": [
236
+ "model_01= tf.keras.Model(inputs, outputs, name = \"model_01\")"
237
+ ]
238
+ },
239
+ {
240
+ "cell_type": "code",
241
+ "execution_count": 12,
242
+ "metadata": {},
243
+ "outputs": [
244
+ {
245
+ "data": {
246
+ "text/html": [
247
+ "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"model_01\"</span>\n",
248
+ "</pre>\n"
249
+ ],
250
+ "text/plain": [
251
+ "\u001b[1mModel: \"model_01\"\u001b[0m\n"
252
+ ]
253
+ },
254
+ "metadata": {},
255
+ "output_type": "display_data"
256
+ },
257
+ {
258
+ "data": {
259
+ "text/html": [
260
+ "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
261
+ "┃<span style=\"font-weight: bold\"> Layer (type) </span>┃<span style=\"font-weight: bold\"> Output Shape </span>┃<span style=\"font-weight: bold\"> Param # </span>┃\n",
262
+ "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
263
+ "│ InputLayer (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">InputLayer</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
264
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
265
+ "│ TextVec (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">TextVectorization</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">300</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
266
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
267
+ "│ embedding (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Embedding</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">300</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">256</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">1,280,000</span> │\n",
268
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
269
+ "│ lstm (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">LSTM</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">100</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">142,800</span> │\n",
270
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
271
+ "│ dropout (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">100</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
272
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
273
+ "│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">6,464</span> │\n",
274
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
275
+ "│ dropout_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
276
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
277
+ "│ dense_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">2,080</span> │\n",
278
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
279
+ "│ dropout_2 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
280
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
281
+ "│ dense_2 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">33</span> │\n",
282
+ "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
283
+ "</pre>\n"
284
+ ],
285
+ "text/plain": [
286
+ "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
287
+ "┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
288
+ "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
289
+ "│ InputLayer (\u001b[38;5;33mInputLayer\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
290
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
291
+ "│ TextVec (\u001b[38;5;33mTextVectorization\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m300\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
292
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
293
+ "│ embedding (\u001b[38;5;33mEmbedding\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m300\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m1,280,000\u001b[0m │\n",
294
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
295
+ "│ lstm (\u001b[38;5;33mLSTM\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m142,800\u001b[0m │\n",
296
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
297
+ "│ dropout (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m100\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
298
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
299
+ "│ dense (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m6,464\u001b[0m │\n",
300
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
301
+ "│ dropout_1 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
302
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
303
+ "│ dense_1 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m2,080\u001b[0m │\n",
304
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
305
+ "│ dropout_2 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
306
+ "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
307
+ "│ dense_2 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m33\u001b[0m │\n",
308
+ "└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
309
+ ]
310
+ },
311
+ "metadata": {},
312
+ "output_type": "display_data"
313
+ },
314
+ {
315
+ "data": {
316
+ "text/html": [
317
+ "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">1,431,377</span> (5.46 MB)\n",
318
+ "</pre>\n"
319
+ ],
320
+ "text/plain": [
321
+ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m1,431,377\u001b[0m (5.46 MB)\n"
322
+ ]
323
+ },
324
+ "metadata": {},
325
+ "output_type": "display_data"
326
+ },
327
+ {
328
+ "data": {
329
+ "text/html": [
330
+ "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">1,431,377</span> (5.46 MB)\n",
331
+ "</pre>\n"
332
+ ],
333
+ "text/plain": [
334
+ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m1,431,377\u001b[0m (5.46 MB)\n"
335
+ ]
336
+ },
337
+ "metadata": {},
338
+ "output_type": "display_data"
339
+ },
340
+ {
341
+ "data": {
342
+ "text/html": [
343
+ "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
344
+ "</pre>\n"
345
+ ],
346
+ "text/plain": [
347
+ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
348
+ ]
349
+ },
350
+ "metadata": {},
351
+ "output_type": "display_data"
352
+ }
353
+ ],
354
+ "source": [
355
+ "# Get the summary\n",
356
+ "model_01.summary()"
357
+ ]
358
+ },
359
+ {
360
+ "cell_type": "code",
361
+ "execution_count": 13,
362
+ "metadata": {},
363
+ "outputs": [],
364
+ "source": [
365
+ "# Model Compile\n",
366
+ "from tensorflow.keras.metrics import AUC, Precision \n",
367
+ "\n",
368
+ "model_01.compile(loss=\"binary_crossentropy\",\n",
369
+ " optimizer = tf.keras.optimizers.Adam(learning_rate=0.001),\n",
370
+ " metrics = [\"accuracy\", Precision(), AUC()])"
371
+ ]
372
+ },
373
+ {
374
+ "cell_type": "code",
375
+ "execution_count": 14,
376
+ "metadata": {},
377
+ "outputs": [
378
+ {
379
+ "name": "stdout",
380
+ "output_type": "stream",
381
+ "text": [
382
+ "Folder already exists at: model_logs\n"
383
+ ]
384
+ }
385
+ ],
386
+ "source": [
387
+ "import os\n",
388
+ "\n",
389
+ "model_logs = \"model_logs\"\n",
390
+ "\n",
391
+ "# Check if the `model_logs` directory exists, create it if not\n",
392
+ "if not os.path.exists(model_logs):\n",
393
+ " os.makedirs(model_logs)\n",
394
+ " print(f\"Folder created at: {model_logs}\")\n",
395
+ "else:\n",
396
+ " print(f\"Folder already exists at: {model_logs}\")"
397
+ ]
398
+ },
399
+ {
400
+ "cell_type": "code",
401
+ "execution_count": 15,
402
+ "metadata": {},
403
+ "outputs": [
404
+ {
405
+ "name": "stdout",
406
+ "output_type": "stream",
407
+ "text": [
408
+ "Epoch 1/10\n",
409
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1773s\u001b[0m 659ms/step - accuracy: 0.5918 - auc: 0.6342 - loss: 0.6441 - precision: 0.5722 - val_accuracy: 0.7242 - val_auc: 0.8294 - val_loss: 0.4581 - val_precision: 0.6573\n",
410
+ "Epoch 2/10\n",
411
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1743s\u001b[0m 652ms/step - accuracy: 0.7226 - auc: 0.8324 - loss: 0.4403 - precision: 0.6735 - val_accuracy: 0.7320 - val_auc: 0.8443 - val_loss: 0.4240 - val_precision: 0.6555\n",
412
+ "Epoch 3/10\n",
413
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1795s\u001b[0m 671ms/step - accuracy: 0.7393 - auc: 0.8508 - loss: 0.3992 - precision: 0.6759 - val_accuracy: 0.7465 - val_auc: 0.8536 - val_loss: 0.3860 - val_precision: 0.6696\n",
414
+ "Epoch 4/10\n",
415
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1776s\u001b[0m 664ms/step - accuracy: 0.7488 - auc: 0.8573 - loss: 0.3855 - precision: 0.6789 - val_accuracy: 0.7474 - val_auc: 0.8587 - val_loss: 0.3812 - val_precision: 0.6682\n",
416
+ "Epoch 5/10\n",
417
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1795s\u001b[0m 671ms/step - accuracy: 0.7519 - auc: 0.8631 - loss: 0.3734 - precision: 0.6765 - val_accuracy: 0.7493 - val_auc: 0.8576 - val_loss: 0.3811 - val_precision: 0.6726\n",
418
+ "Epoch 6/10\n",
419
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1810s\u001b[0m 677ms/step - accuracy: 0.7557 - auc: 0.8653 - loss: 0.3688 - precision: 0.6772 - val_accuracy: 0.7472 - val_auc: 0.8545 - val_loss: 0.3816 - val_precision: 0.6679\n",
420
+ "Epoch 7/10\n",
421
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2580s\u001b[0m 965ms/step - accuracy: 0.7593 - auc: 0.8674 - loss: 0.3672 - precision: 0.6814 - val_accuracy: 0.7459 - val_auc: 0.8539 - val_loss: 0.3945 - val_precision: 0.6731\n",
422
+ "Epoch 8/10\n",
423
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1879s\u001b[0m 703ms/step - accuracy: 0.7632 - auc: 0.8724 - loss: 0.3648 - precision: 0.6854 - val_accuracy: 0.7499 - val_auc: 0.8559 - val_loss: 0.3984 - val_precision: 0.6770\n",
424
+ "Epoch 9/10\n",
425
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━���━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1897s\u001b[0m 709ms/step - accuracy: 0.7656 - auc: 0.8766 - loss: 0.3627 - precision: 0.6930 - val_accuracy: 0.7480 - val_auc: 0.8540 - val_loss: 0.3958 - val_precision: 0.6733\n",
426
+ "Epoch 10/10\n",
427
+ "\u001b[1m2674/2674\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1933s\u001b[0m 723ms/step - accuracy: 0.7743 - auc: 0.8889 - loss: 0.3518 - precision: 0.7123 - val_accuracy: 0.7478 - val_auc: 0.8558 - val_loss: 0.3971 - val_precision: 0.6801\n"
428
+ ]
429
+ }
430
+ ],
431
+ "source": [
432
+ "\n",
433
+ "# Early Stopping\n",
434
+ "# from tensorflow.keras.callbacks import EarlyStopping\n",
435
+ "# early_stopping = EarlyStopping(monitor='val_loss', patience=5)\n",
436
+ "\n",
437
+ "# Model Fit\n",
438
+ "\n",
439
+ "history_model_01 = model_01.fit(X_train, y_train, epochs=10, batch_size=32,\n",
440
+ " validation_data = (X_valid, y_vaild),\n",
441
+ " callbacks = [tf.keras.callbacks.TensorBoard(\"model_logs\")])"
442
+ ]
443
+ },
444
+ {
445
+ "cell_type": "code",
446
+ "execution_count": 16,
447
+ "metadata": {},
448
+ "outputs": [
449
+ {
450
+ "name": "stdout",
451
+ "output_type": "stream",
452
+ "text": [
453
+ "\u001b[1m149/149\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 211ms/step\n"
454
+ ]
455
+ },
456
+ {
457
+ "data": {
458
+ "text/plain": [
459
+ "array([[0.9999999 ],\n",
460
+ " [0.5088127 ],\n",
461
+ " [0.51265997],\n",
462
+ " [0.51331687],\n",
463
+ " [0.51750326]], dtype=float32)"
464
+ ]
465
+ },
466
+ "execution_count": 16,
467
+ "metadata": {},
468
+ "output_type": "execute_result"
469
+ }
470
+ ],
471
+ "source": [
472
+ "# Model Prediction\n",
473
+ "model_01_pred_probs = model_01.predict(X_test)\n",
474
+ "model_01_pred_probs[:5]"
475
+ ]
476
+ },
477
+ {
478
+ "cell_type": "code",
479
+ "execution_count": 17,
480
+ "metadata": {},
481
+ "outputs": [],
482
+ "source": [
483
+ "# Helper Functions\n",
484
+ "\n",
485
+ "import itertools\n",
486
+ "import matplotlib.pyplot as plt\n",
487
+ "import numpy as np\n",
488
+ "from sklearn.metrics import confusion_matrix, accuracy_score, precision_recall_fscore_support\n",
489
+ "\n",
490
+ "\n",
491
+ "\n",
492
+ "def calculate_results(y_true, y_pred):\n",
493
+ " \"\"\"\n",
494
+ " Calculates model accuracy, precision, recall and f1 score of a binary classification model.\n",
495
+ "\n",
496
+ " Args:\n",
497
+ " y_true: true labels in the form of a 1D array\n",
498
+ " y_pred: predicted labels in the form of a 1D array\n",
499
+ "\n",
500
+ " Returns a dictionary of accuracy, precision, recall, f1-score.\n",
501
+ " \"\"\"\n",
502
+ " # Calculate model accuracy\n",
503
+ " model_accuracy = accuracy_score(y_true, y_pred) * 100\n",
504
+ " # Calculate model precision, recall and f1 score using \"weighted average\n",
505
+ " model_precision, model_recall, model_f1, _ = precision_recall_fscore_support(y_true, y_pred, average=\"weighted\")\n",
506
+ " model_results = {\"accuracy\": model_accuracy,\n",
507
+ " \"precision\": model_precision,\n",
508
+ " \"recall\": model_recall,\n",
509
+ " \"f1\": model_f1}\n",
510
+ " return model_results\n",
511
+ "\n",
512
+ "\n",
513
+ "def make_confusion_matrix(y_true, y_pred, classes=None, figsize=(10, 10), text_size=15, norm=False, savefig=False): \n",
514
+ " \"\"\"Makes a labelled confusion matrix comparing predictions and ground truth labels.\n",
515
+ "\n",
516
+ " If classes is passed, confusion matrix will be labelled, if not, integer class values\n",
517
+ " will be used.\n",
518
+ "\n",
519
+ " Args:\n",
520
+ " y_true: Array of truth labels (must be same shape as y_pred).\n",
521
+ " y_pred: Array of predicted labels (must be same shape as y_true).\n",
522
+ " classes: Array of class labels (e.g. string form). If `None`, integer labels are used.\n",
523
+ " figsize: Size of output figure (default=(10, 10)).\n",
524
+ " text_size: Size of output figure text (default=15).\n",
525
+ " norm: normalize values or not (default=False).\n",
526
+ " savefig: save confusion matrix to file (default=False).\n",
527
+ " \n",
528
+ " Returns:\n",
529
+ " A labelled confusion matrix plot comparing y_true and y_pred.\n",
530
+ "\n",
531
+ " Example usage:\n",
532
+ " make_confusion_matrix(y_true=test_labels, # ground truth test labels\n",
533
+ " y_pred=y_preds, # predicted labels\n",
534
+ " classes=class_names, # array of class label names\n",
535
+ " figsize=(15, 15),\n",
536
+ " text_size=10)\n",
537
+ " \"\"\" \n",
538
+ " # Create the confustion matrix\n",
539
+ " cm = confusion_matrix(y_true, y_pred)\n",
540
+ " cm_norm = cm.astype(\"float\") / cm.sum(axis=1)[:, np.newaxis] # normalize it\n",
541
+ " n_classes = cm.shape[0] # find the number of classes we're dealing with\n",
542
+ "\n",
543
+ " # Plot the figure and make it pretty\n",
544
+ " fig, ax = plt.subplots(figsize=figsize)\n",
545
+ " cax = ax.matshow(cm, cmap=plt.cm.Blues) # colors will represent how 'correct' a class is, darker == better\n",
546
+ " fig.colorbar(cax)\n",
547
+ "\n",
548
+ " # Are there a list of classes?\n",
549
+ " if classes:\n",
550
+ " labels = classes\n",
551
+ " else:\n",
552
+ " labels = np.arange(cm.shape[0])\n",
553
+ " \n",
554
+ " # Label the axes\n",
555
+ " ax.set(title=\"Confusion Matrix\",\n",
556
+ " xlabel=\"Predicted label\",\n",
557
+ " ylabel=\"True label\",\n",
558
+ " xticks=np.arange(n_classes), # create enough axis slots for each class\n",
559
+ " yticks=np.arange(n_classes), \n",
560
+ " xticklabels=labels, # axes will labeled with class names (if they exist) or ints\n",
561
+ " yticklabels=labels)\n",
562
+ " \n",
563
+ " # Make x-axis labels appear on bottom\n",
564
+ " ax.xaxis.set_label_position(\"bottom\")\n",
565
+ " ax.xaxis.tick_bottom()\n",
566
+ "\n",
567
+ " # Set the threshold for different colors\n",
568
+ " threshold = (cm.max() + cm.min()) / 2.\n",
569
+ "\n",
570
+ " # Plot the text on each cell\n",
571
+ " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n",
572
+ " if norm:\n",
573
+ " plt.text(j, i, f\"{cm[i, j]} ({cm_norm[i, j]*100:.1f}%)\",\n",
574
+ " horizontalalignment=\"center\",\n",
575
+ " color=\"white\" if cm[i, j] > threshold else \"black\",\n",
576
+ " size=text_size)\n",
577
+ " else:\n",
578
+ " plt.text(j, i, f\"{cm[i, j]}\",\n",
579
+ " horizontalalignment=\"center\",\n",
580
+ " color=\"white\" if cm[i, j] > threshold else \"black\",\n",
581
+ " size=text_size)\n",
582
+ "\n",
583
+ " # Save the figure to the current working directory\n",
584
+ " if savefig:\n",
585
+ " fig.savefig(\"confusion_matrix.png\")"
586
+ ]
587
+ },
588
+ {
589
+ "cell_type": "code",
590
+ "execution_count": 18,
591
+ "metadata": {},
592
+ "outputs": [
593
+ {
594
+ "data": {
595
+ "text/plain": [
596
+ "<tf.Tensor: shape=(1,), dtype=float32, numpy=array([1.], dtype=float32)>"
597
+ ]
598
+ },
599
+ "execution_count": 18,
600
+ "metadata": {},
601
+ "output_type": "execute_result"
602
+ }
603
+ ],
604
+ "source": [
605
+ "# Convert model 2 pred probability to labels\n",
606
+ "model_01_preds = tf.squeeze(tf.round(model_01_pred_probs))\n",
607
+ "model_01_preds[:1]"
608
+ ]
609
+ },
610
+ {
611
+ "cell_type": "code",
612
+ "execution_count": 19,
613
+ "metadata": {},
614
+ "outputs": [
615
+ {
616
+ "data": {
617
+ "text/plain": [
618
+ "{'accuracy': 74.98948254101809,\n",
619
+ " 'precision': 0.7918142582139361,\n",
620
+ " 'recall': 0.7498948254101809,\n",
621
+ " 'f1': 0.7373717047030267}"
622
+ ]
623
+ },
624
+ "execution_count": 19,
625
+ "metadata": {},
626
+ "output_type": "execute_result"
627
+ }
628
+ ],
629
+ "source": [
630
+ "calculate_results(y_true=y_test, y_pred=model_01_preds)"
631
+ ]
632
+ },
633
+ {
634
+ "cell_type": "code",
635
+ "execution_count": 20,
636
+ "metadata": {},
637
+ "outputs": [
638
+ {
639
+ "data": {
640
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAMWCAYAAAAJU+LYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABp3UlEQVR4nO3de3yP9f/H8ee1sQN2MGwzZk455SxplVNkSQc/vt8S1cihw6gopMJQKaITnWUqvnSiUDLklCG0HNJyjLA5ZR8bdv79MfvUpw0b+1y77PO473bdvruu631d1+v6fL/f2Wuv1/W+jJycnBwBAAAAgAncSjoAAAAAAK6DBAQAAACAaUhAAAAAAJiGBAQAAACAaUhAAAAAAJiGBAQAAACAaUhAAAAAAJiGBAQAAACAacqUdAAAAABASTl37pzS09NLOox8PDw85OXlVdJhOAUJCAAAAFzSuXPn5O1TSco8U9Kh5BMcHKx9+/aVyiSEBAQAAAAuKT09Xco8I89GkZK7R0mH87esdCX+Okvp6ekkIAAAAECp4+4hw0IJSE5JB+BkJCAAAABwbYZb7mIVVorFCUr33QEAAACwFBIQAAAAAKahBQsAAACuzZBkGCUdxd8sFIozUAEBAAAAYBoSEAAAAACmoQULAAAAro1ZsExVuu8OAAAAgKWQgAAAAAAwDS1YAAAAcG2GYbFZsCwUixNQAQEAAABgGhIQAAAAAKahBQsAAACujVmwTFW67w4AAACApZCAAAAAADANLVgAAABwbcyCZSoqIAAAAABMQwICAAAAwDS0YAEAAMDFWWwWrFJeIyjddwcAAADAUkhAAAAAAJiGFiwAAAC4NmbBMhUVEAAAAACmIQEBAAAAYBpasAAAAODaDIvNgmWlWJygdN8dAAAAAEshAQEAAABgGlqwAAAA4NqYBctUVEAAAAAAmIYEBAAAALiKTZw4Ua1bt5aPj48CAwPVvXt3JSQk2PefPHlSQ4YMUf369eXt7a0aNWro8ccfV3JyssN5DMPIt8ydO9dhzMqVK9WyZUt5enqqbt26iomJKXK8JCAAAABwbXmzYFlpKYJVq1YpKipK69evV2xsrDIyMtSlSxelpqZKkg4fPqzDhw/r1Vdf1fbt2xUTE6MlS5aof//++c41c+ZMHTlyxL50797dvm/fvn3q1q2bOnbsqPj4eD355JMaMGCAvv/++6J93Dk5OTlFOgIAAAAoBWw2m/z8/OTZZriMMp4lHY5dTmaa0jZMVnJysnx9fYt8/LFjxxQYGKhVq1apXbt2BY75/PPPdf/99ys1NVVlyuQ+Fm4YhubPn++QdPzTyJEjtXjxYm3fvt2+rVevXjp16pSWLFlS6PiogAAAAAAWZLPZHJa0tLRCHZfXWhUQEHDRMb6+vvbkI09UVJQqV66s66+/Xh999JH+WauIi4tT586dHcZHREQoLi6usLckiVmwAAAA4OosOgtWaGiow+axY8cqOjr6oodmZ2frySef1E033aTGjRsXOOb48eOaMGGCBg0a5LB9/PjxuuWWW1SuXDktXbpUjz32mFJSUvT4449LkhITExUUFORwTFBQkGw2m86ePStvb+9C3R4JCAAAAGBBBw8edGjB8vS8dJtYVFSUtm/frrVr1xa432azqVu3bmrUqFG+ZGb06NH271u0aKHU1FRNnjzZnoAUF1qwAAAAAAvy9fV1WC6VgAwePFiLFi3SDz/8oOrVq+fbf/r0ad12223y8fHR/PnzVbZs2Yuer02bNvrzzz/trV/BwcFKSkpyGJOUlCRfX99CVz8kKiAAAABwdZcx85RTFTGWnJwcDRkyRPPnz9fKlStVq1atfGNsNpsiIiLk6empb775Rl5eXpc8b3x8vCpWrGhPfMLDw/Xtt986jImNjVV4eHiR4iUBAQAAAK5iUVFRmjNnjr7++mv5+PgoMTFRkuTn5ydvb2/ZbDZ16dJFZ86c0aeffmp/qF2SqlSpInd3dy1cuFBJSUm64YYb5OXlpdjYWL300kt6+umn7dd55JFHNG3aNI0YMUIPPfSQVqxYoc8++0yLFy8uUrxMwwsAAACXZJ+GN/wZ603DG/dyoafhNS7wAP3MmTPVt29frVy5Uh07dixwzL59+1SzZk0tWbJEo0aN0u7du5WTk6O6devq0Ucf1cCBA+Xm9ndFZuXKlRo6dKh+/fVXVa9eXaNHj1bfvn2LdH8kIAAAAHBJ9gTkxlEyyly6JcksOZnnlLZu4mW/B8TqLNTsBgAAAKC0IwEBAAAAYBoeQgcAAIBrczNyF6uwUixOQAUEAAAAgGlIQAAAAACYhhYsAAAAuLar/EWEV5vSfXcAAAAALIUEBAAAAIBpaMECAACAazOM3MUqrBSLE1ABAQAAAGAaEhAALm/Xrl3q0qWL/Pz8ZBiGFixYUKzn379/vwzDUExMTLGe92rWoUMHdejQoaTDAACUABIQAJawZ88ePfzww6pdu7a8vLzk6+urm266SW+88YbOnj3r1GtHRkZq27ZtevHFF/XJJ5/ouuuuc+r1zNS3b18ZhiFfX98CP8ddu3bJMAwZhqFXX321yOc/fPiwoqOjFR8fXwzRAkAJyZsFy0pLKcYzIABK3OLFi/Xf//5Xnp6eevDBB9W4cWOlp6dr7dq1Gj58uHbs2KH333/fKdc+e/as4uLi9Nxzz2nw4MFOuUZYWJjOnj2rsmXLOuX8l1KmTBmdOXNGCxcu1D333OOwb/bs2fLy8tK5c+cu69yHDx/WuHHjVLNmTTVv3rzQxy1duvSyrgcAuPqRgAAoUfv27VOvXr0UFhamFStWqGrVqvZ9UVFR2r17txYvXuy06x87dkyS5O/v77RrGIYhLy8vp53/Ujw9PXXTTTfpf//7X74EZM6cOerWrZu+/PJLU2I5c+aMypUrJw8PD1OuBwCwntJd3wFgeZMmTVJKSopmzJjhkHzkqVu3rp544gn7emZmpiZMmKA6derI09NTNWvW1LPPPqu0tDSH42rWrKk77rhDa9eu1fXXXy8vLy/Vrl1bH3/8sX1MdHS0wsLCJEnDhw+XYRiqWbOmpNzWpbzv/yk6OlrGv2YniY2N1c033yx/f39VqFBB9evX17PPPmvff6FnQFasWKG2bduqfPny8vf31913362dO3cWeL3du3erb9++8vf3l5+fn/r166czZ85c+IP9l969e+u7777TqVOn7Nt++ukn7dq1S7179843/uTJk3r66afVpEkTVahQQb6+vuratat++eUX+5iVK1eqdevWkqR+/frZW7ny7rNDhw5q3LixNm/erHbt2qlcuXL2z+Xfz4BERkbKy8sr3/1HRESoYsWKOnz4cKHvFQCKLG8WLCstpRgJCIAStXDhQtWuXVs33nhjocYPGDBAY8aMUcuWLfXaa6+pffv2mjhxonr16pVv7O7du/Wf//xHt956q6ZMmaKKFSuqb9++2rFjhySpR48eeu211yRJ9913nz755BO9/vrrRYp/x44duuOOO5SWlqbx48drypQpuuuuu/Tjjz9e9Lhly5YpIiJCR48eVXR0tIYNG6Z169bppptu0v79+/ONv+eee3T69GlNnDhR99xzj2Ji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6afKzs7Whx9+KON8w+3MmTPl7++vlStXqkuXLnr99dc1atQo9ejRQ5L07rvv6vvvv7/gtX///Xd99tlnio2NVefOnSVJtWvXtu/P+2tUYGCg/P39JeVWTF566SUtW7ZM4eHh9mPWrl2r9957T+3bt9c777yjOnXqaMqUKZKk+vXra9u2bXrllVeK9Nk8//zz9u9r1qypp59+WnPnznVIQM6dO6ePP/5Y1apVkyS99dZb6tatm6ZMmaLg4GCNHTtWU6ZMsX8mtWrV0q+//qr33nuPBAQAitHBgwfl6+trX/f09LzkMVFRUdq+fbvWrl3rsH3QoEH275s0aaKqVauqU6dO2rNnj+rUqVN8QRcCCQiAUmPRokWqUKGCMjIylJ2drd69ezv8pahJkyYOPay//PKLdu/eLR8fH4fznDt3Tnv27FFycrKOHDmiNm3a2PeVKVNG1113Xb42rDzx8fFyd3dX+/btCx337t27debMGd16660O29PT09WiRQtJ0s6dOx3ikGRPVopi3rx5evPNN7Vnzx6lpKQoMzPT4R83SapRo4Y9+ci7TnZ2thISEuTj46M9e/aof//+GjhwoH1MZmam/Pz8ihwPAODCfH198/2MvpjBgwdr0aJFWr16tapXr37RsXn/puzevVt16tRRcHCwNm7c6DAmKSlJki743MjlIgEBUGp07NhR77zzjjw8PBQSEqIyZRx/xJUvX95hPSUlRa1atbK3Fv1TlSpVLiuGvJaqokhJSZEkLV682OEXf6lwf+0qrLi4OPXp00fjxo1TRESE/Pz8NHfuXHtVpSixfvDBB/kSInd392KLFQDMdDkzTzlTUWPJycnRkCFDNH/+fK1cuVK1atW65DF5U6VXrVpVUu4fm1588UUdPXpUgYGBkqTY2Fj5+vqqUaNGRQvoEkhAAJQa5cuXV926dQs9vmXLlpo3b54CAwMv+BemqlWrasOGDfZZRDIzM7V582a1bNmywPFNmjRRdna2Vq1aZW/B+qe8CkxWVpZ9W6NGjeTp6akDBw5csHLSsGFD+wP1edavX3/pm/yHdevWKSwsTM8995x92x9//JFv3IEDB3T48GGFhITYr+Pm5qb69esrKChIISEh2rt3r/r06VOk6wMAnCMqKkpz5szR119/LR8fH/szG35+fvL29taePXs0Z84c3X777apUqZK2bt2qoUOHql27dmratKkkqUuXLmrUqJEeeOABTZo0SYmJiXr++ecVFRVVrH8Mk5gFC4AL69OnjypXrqy7775ba9as0b59+7Ry5Uo9/vjj+vPPPyVJTzzxhF5++WUtWLBAv/32mx577LGLvsOjZs2aioyM1EMPPaQFCxbYz/nZZ59JksLCwmQYhhYtWqRjx44pJSVFPj4+evrppzV06FDNmjVLe/bs0ZYtW/TWW29p1qxZkqRHHnlEu3bt0vDhw5WQkKA5c+YoJiamSPd7zTXX6MCBA5o7d6727NmjN998U/Pnz883zsvLS5GRkfrll1+0Zs0aPf7447rnnnvsJfhx48Zp4sSJevPNN/X7779r27ZtmjlzpqZOnVqkeAAAxeOdd95RcnKyOnTooKpVq9qXefPmScr949eyZcvUpUsXNWjQQE899ZR69uyphQsX2s/h7u6uRYsWyd3dXeHh4br//vv14IMPavz48cUeLxUQAC6rXLlyWr16tUaOHKkePXro9OnTqlatmjp16mSviDz11FM6cuSIIiMj5ebmpoceekj/93//l29a2n9655139Oyzz+qxxx7TiRMnVKNGDT377LOSpGrVqmncuHF65pln1K9fPz344IOKiYnRhAkTVKVKFU2cOFF79+6Vv7+/WrZsaT+uRo0a+vLLLzV06FC99dZbuv766/XSSy/poYceKvT93nXXXRo6dKgGDx6stLQ0devWTaNHj843o0rdunXVo0cP3X777Tp58qTuuOMOh2l2BwwYoHLlymny5MkaPny4ypcvryZNmpTI2+ABALrgc4l5QkNDtWrVqkueJywsTN9++21xhXVBRs6lIgYAAABKIZvNJj8/P+0/crJID3s7m81mU82qAUpOTrZUXMWFFiwAAAAApqEFCwAAAC7tap8F62pDBQQAAACAaUhAAAAAAJiGFiwAAAC4NOP8l1VYKRZnoAICAAAAwDQkIAAAAABMQwsWAAAAXBqzYJmLCggAAAAA05CAAAAAADANLVgAAABwacb5xSqsFIszUAEBAAAAYBoSEAAAAACmoQULAAAAro0eLFNRAQEAAABgGhIQAAAAAKahBQsAAAAuzTj/ZRVWisUZqIAAAAAAMA0JCAAAAADT0IIFAAAAl2YYuYtVWCkWZ6ACAgAAAMA0JCAAAAAATEMLFgAAAFwa7yE0FxUQAAAAAKYhAQEAAABgGlqwAAAA4NrowTIVFRAAAAAApiEBAQAAAGAaWrAAAADg0ozzX1ZhpVicgQoIAAAAANOQgAAAAAAwDS1YAAAAcGmGkbtYhZVicQYqIAAAAABMQwUEAAAALs1ms5V0CA6sFk9xIwEBAACAS/Lw8FBwcLCuqRVa0qHkExwcLA8Pj5IOwymMnJycnJIOAgAAACgJ586dU3p6ekmHkY+Hh4e8vLxKOgynIAEBAAAAYBoeQgcAAABgGhIQAAAAAKYhAQEAAABgGhIQAAAAAKYhAQEAAABgGhIQAAAAAKYhAQEAAABgmv8HwgEjRl50iAUAAAAASUVORK5CYII=",
641
+ "text/plain": [
642
+ "<Figure size 1000x1000 with 2 Axes>"
643
+ ]
644
+ },
645
+ "metadata": {},
646
+ "output_type": "display_data"
647
+ }
648
+ ],
649
+ "source": [
650
+ "make_confusion_matrix(y_true = y_test, y_pred = model_01_preds)"
651
+ ]
652
+ },
653
+ {
654
+ "cell_type": "code",
655
+ "execution_count": 21,
656
+ "metadata": {},
657
+ "outputs": [],
658
+ "source": [
659
+ "import tf2onnx\n",
660
+ "import onnx"
661
+ ]
662
+ },
663
+ {
664
+ "cell_type": "code",
665
+ "execution_count": 22,
666
+ "metadata": {},
667
+ "outputs": [],
668
+ "source": [
669
+ "\n",
670
+ "model_01.save(\"model/x_g85_lstm.keras\")"
671
+ ]
672
+ },
673
+ {
674
+ "cell_type": "code",
675
+ "execution_count": 23,
676
+ "metadata": {},
677
+ "outputs": [],
678
+ "source": [
679
+ "# # Define the input signature\n",
680
+ "# input_signature = [tf.TensorSpec((None, 1), dtype=tf.string, name=\"input\")] # For `TextVectorization`\n",
681
+ "\n",
682
+ "# # input_signature = [tf.TensorSpec((None, max_length), name=\"input\")]\n",
683
+ "\n",
684
+ "# # Convert the Keras model to ONNX\n",
685
+ "# onnx_model, _ = tf2onnx.convert.from_keras(model_01, input_signature, opset=18, \n",
686
+ "# custom_ops={\n",
687
+ "# \"StaticRegexReplace\": \"ai.onnx.contrib\", # For TextVectorization\n",
688
+ "# \"StringSplitV2\": \"ai.onnx.contrib\", # For TextVectorization\n",
689
+ "# })\n",
690
+ "\n",
691
+ "# # Save the ONNX model\n",
692
+ "# onnx.save(onnx_model, \"model/x_g85_lstm.onnx\")"
693
+ ]
694
+ },
695
+ {
696
+ "cell_type": "code",
697
+ "execution_count": null,
698
+ "metadata": {},
699
+ "outputs": [],
700
+ "source": []
701
+ }
702
+ ],
703
+ "metadata": {
704
+ "kernelspec": {
705
+ "display_name": "deep_learning",
706
+ "language": "python",
707
+ "name": "python3"
708
+ },
709
+ "language_info": {
710
+ "codemirror_mode": {
711
+ "name": "ipython",
712
+ "version": 3
713
+ },
714
+ "file_extension": ".py",
715
+ "mimetype": "text/x-python",
716
+ "name": "python",
717
+ "nbconvert_exporter": "python",
718
+ "pygments_lexer": "ipython3",
719
+ "version": "3.12.4"
720
+ }
721
+ },
722
+ "nbformat": 4,
723
+ "nbformat_minor": 2
724
+ }