Copy disabled (too large)
Download .txt
Showing preview only (10,329K chars total). Download the full file to get everything.
Repository: youssefHosni/Data-Science-Portofolio
Branch: main
Commit: cfb6f1cdd497
Files: 135
Total size: 9.8 MB
Directory structure:
gitextract_3mffmjth/
├── Computer Vision/
│ ├── Pose Estimation & Squat Counter/
│ │ ├── Pose Estimation and squat counter using MoveNet.ipynb
│ │ ├── Readme.md
│ │ └── requirments
│ └── Real Time Sign Language Interpretation App/
│ ├── IBM_cloud_configuration.md.txt
│ ├── ReactComputerVisionTemplate/
│ │ ├── Public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ ├── readme.md
│ │ │ └── robots.txt
│ │ ├── Readme.md
│ │ ├── package.json
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── readme.md
│ │ └── utilities.js
│ ├── Readme.md
│ └── Sign-language_detection.ipynb
├── Data Visualization/
│ └── Python/
│ ├── Immigration_to_Canda_Data_Visualization.ipynb
│ ├── Readme.dm
│ └── Spatial visualization of San Francisco incidents.ipynb
├── Deep Learning/
│ └── Classification/
│ └── Melenoma_Classification/
│ ├── Readme.md
│ ├── deep-learning-models/
│ │ ├── CNN_model.py
│ │ ├── __init__.py
│ │ ├── main.py
│ │ ├── readme.md
│ │ └── training.py
│ ├── evaluation-metrics/
│ │ ├── __init__.py
│ │ ├── classification_metrics.py
│ │ ├── f1_score.py
│ │ └── readme.md
│ ├── loading and storing/
│ │ ├── __init__.py
│ │ ├── loading_images.py
│ │ ├── loading_storing_h5py.py
│ │ └── readme.md
│ ├── main.py
│ ├── preprocessing/
│ │ ├── __init__.py
│ │ ├── exploration.py
│ │ ├── preprocessing.py
│ │ └── readme.md
│ └── readme.md
├── Machine Learning/
│ ├── Classification/
│ │ ├── Alzhimers CV-BOLD Classification/
│ │ │ ├── Best_mask.py
│ │ │ ├── Best_mask2.py
│ │ │ ├── Model.py
│ │ │ ├── confidence_interval_mask.py
│ │ │ ├── data_preprocessing.py
│ │ │ ├── deep learning/
│ │ │ │ ├── CNN_based_models/
│ │ │ │ │ ├── AlexNet.py
│ │ │ │ │ ├── CNN.py
│ │ │ │ │ ├── CNN_feature_extractor.py
│ │ │ │ │ ├── DenseNet121.py
│ │ │ │ │ ├── InceptionResNetV2.py
│ │ │ │ │ ├── LeNet.py
│ │ │ │ │ ├── ResNet50.py
│ │ │ │ │ ├── VGG.py
│ │ │ │ │ ├── VGG_pretrained.py
│ │ │ │ │ ├── ZFNet.py
│ │ │ │ │ ├── optimizers.py
│ │ │ │ │ ├── readme.md
│ │ │ │ │ └── simple_model.py
│ │ │ │ ├── evaluation/
│ │ │ │ │ ├── metrics.py
│ │ │ │ │ ├── model_evaluation.py
│ │ │ │ │ └── readme.md
│ │ │ │ ├── main.py
│ │ │ │ ├── preprocessing/
│ │ │ │ │ ├── data_augmentation.py
│ │ │ │ │ ├── data_preprocessing.py
│ │ │ │ │ ├── preprocessing_methods.py
│ │ │ │ │ └── readme.md
│ │ │ │ └── storing_loading/
│ │ │ │ ├── generate_result_.py
│ │ │ │ ├── load_data.py
│ │ │ │ └── readme.md
│ │ │ ├── generate_result.py
│ │ │ ├── hyper_opt.py
│ │ │ ├── load_data.py
│ │ │ ├── load_models.py
│ │ │ ├── main.py
│ │ │ ├── pykliep.py
│ │ │ ├── readme.md
│ │ │ ├── sample_test.py
│ │ │ ├── shuffle.py
│ │ │ └── writing.py
│ │ └── Sensor-activity-recognition/
│ │ ├── codes/
│ │ │ ├── classes_accuarcy.m
│ │ │ ├── classification.m
│ │ │ ├── create_feature_map.m
│ │ │ ├── main.m
│ │ │ ├── performance_evaluation.m
│ │ │ ├── readme.md
│ │ │ └── scalingANDoutliers.m
│ │ └── readme.md
│ ├── Clustering/
│ │ ├── Customer identification for mail order products/
│ │ │ ├── Identify Customer Segments.ipynb
│ │ │ ├── LICENSE
│ │ │ └── README.md
│ │ ├── Finding-the-best-Tornoto-neighborhood-to-open-a-new-gym/
│ │ │ ├── Finding best neighborhood for new gym opening in toronto city.ipynb
│ │ │ ├── LICENSE
│ │ │ └── Readme.md
│ │ └── Readme.md
│ └── Regression/
│ ├── Automobile price prediction/
│ │ ├── Automobile Price Prediction .ipynb
│ │ └── Readme.md
│ └── Readme.md
├── Natural_Language_processing/
│ ├── Data-Science-Resume-Selector/
│ │ ├── Resume Selector with Naive Bayes .ipynb
│ │ ├── readme.md
│ │ └── resume.csv
│ ├── Sentiment-analysis/
│ │ ├── README.md
│ │ ├── SageMaker Project.ipynb
│ │ ├── sevre/
│ │ │ ├── model.py
│ │ │ ├── predict.py
│ │ │ ├── requirements.txt
│ │ │ └── utils.py
│ │ ├── train/
│ │ │ ├── model.py
│ │ │ ├── requirements.txt
│ │ │ └── train.py
│ │ └── website/
│ │ └── index.html
│ └── plagiarism-detector-web-app/
│ ├── 1_Data_Exploration.ipynb
│ ├── 2_Plagiarism_Feature_Engineering.ipynb
│ ├── 3_Training_a_Model.ipynb
│ ├── README.md
│ ├── helpers.py
│ ├── palagrism_data/
│ │ ├── test.csv
│ │ └── train.csv
│ ├── problem_unittests.py
│ ├── source_pytorch/
│ │ ├── model.py
│ │ ├── predict.py
│ │ └── train.py
│ └── source_sklearn/
│ └── train.py
├── Readme.md
├── Spark/
│ ├── Cluster Analysis of the San Diego Weather Data/
│ │ ├── Cluster Analysis of the San Diego Weather Data.ipynb
│ │ └── readme.md
│ └── San Diego Rainforest Fire Predicition/
│ ├── Readme.md
│ └── San Diego Rainforest Fire Prediction.ipynb
└── time-series-analysis/
├── Power-consumption-forecasting/
│ ├── Energy_Consumption_Solution.ipynb
│ ├── json_energy_data/
│ │ ├── readme.md
│ │ ├── test.json
│ │ └── train.json
│ ├── readme.md
│ └── txt_preprocessing.py
└── readme.md
================================================
FILE CONTENTS
================================================
================================================
FILE: Computer Vision/Pose Estimation & Squat Counter/Pose Estimation and squat counter using MoveNet.ipynb
================================================
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pose Estimation & Squat Counter"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pose estimation refers to a general problem in computer vision techniques that detect human figures in images and videos, so that one could determine, for example, where someone’s elbow shows up in an image. It is important to be aware of the fact that pose estimation merely estimates where key body joints are and does not recognize who is in an image or video. The pose estimation models takes a processed camera image as the input and outputs information about keypoints. The keypoints detected are indexed by a part ID, with a confidence score between 0.0 and 1.0. The confidence score indicates the probability that a keypoint exists in that position. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 0. Install and Import Dependencies\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Install the dependices used for developing this project"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: tensorflow==2.4.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (2.4.1)\n",
"Requirement already satisfied: tensorflow-gpu==2.4.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (2.4.1)\n",
"Requirement already satisfied: opencv-python in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (4.5.4.58)\n",
"Requirement already satisfied: matplotlib in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (3.3.2)\n",
"Requirement already satisfied: keras-preprocessing~=1.1.2 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.1.2)\n",
"Requirement already satisfied: wrapt~=1.12.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.12.1)\n",
"Requirement already satisfied: numpy~=1.19.2 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.19.2)\n",
"Requirement already satisfied: tensorflow-estimator<2.5.0,>=2.4.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (2.4.0)\n",
"Requirement already satisfied: opt-einsum~=3.3.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (3.3.0)\n",
"Requirement already satisfied: google-pasta~=0.2 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (0.2.0)\n",
"Requirement already satisfied: six~=1.15.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.15.0)\n",
"Requirement already satisfied: grpcio~=1.32.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.32.0)\n",
"Requirement already satisfied: termcolor~=1.1.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.1.0)\n",
"Requirement already satisfied: astunparse~=1.6.3 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.6.3)\n",
"Requirement already satisfied: typing-extensions~=3.7.4 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (3.7.4.3)\n",
"Requirement already satisfied: wheel~=0.35 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (0.35.1)\n",
"Requirement already satisfied: tensorboard~=2.4 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (2.7.0)\n",
"Requirement already satisfied: absl-py~=0.10 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (0.11.0)\n",
"Requirement already satisfied: protobuf>=3.9.2 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (3.13.0)\n",
"Requirement already satisfied: flatbuffers~=1.12.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (1.12)\n",
"Requirement already satisfied: gast==0.3.3 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (0.3.3)\n",
"Requirement already satisfied: h5py~=2.10.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorflow==2.4.1) (2.10.0)\n",
"Requirement already satisfied: cycler>=0.10 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from matplotlib) (0.10.0)\n",
"Requirement already satisfied: python-dateutil>=2.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from matplotlib) (2.8.1)\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from matplotlib) (2.4.7)\n",
"Requirement already satisfied: certifi>=2020.06.20 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from matplotlib) (2021.5.30)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from matplotlib) (1.3.0)\n",
"Requirement already satisfied: pillow>=6.2.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from matplotlib) (8.0.1)\n",
"Requirement already satisfied: requests<3,>=2.21.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (2.24.0)\n",
"Requirement already satisfied: setuptools>=41.0.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (50.3.0.post20201006)\n",
"Requirement already satisfied: werkzeug>=0.11.15 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (0.16.1)\n",
"Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (0.6.1)\n",
"Requirement already satisfied: markdown>=2.6.8 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (3.3.2)\n",
"Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (0.4.2)\n",
"Requirement already satisfied: google-auth<3,>=1.6.3 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (1.23.0)\n",
"Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from tensorboard~=2.4->tensorflow==2.4.1) (1.6.0)\n",
"Requirement already satisfied: chardet<4,>=3.0.2 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow==2.4.1) (3.0.4)\n",
"Requirement already satisfied: idna<3,>=2.5 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow==2.4.1) (2.10)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow==2.4.1) (1.25.11)\n",
"Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from markdown>=2.6.8->tensorboard~=2.4->tensorflow==2.4.1) (4.0.1)\n",
"Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow==2.4.1) (1.3.0)\n",
"Requirement already satisfied: rsa<5,>=3.1.4; python_version >= \"3.5\" in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard~=2.4->tensorflow==2.4.1) (4.6)\n",
"Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard~=2.4->tensorflow==2.4.1) (0.2.8)\n",
"Requirement already satisfied: cachetools<5.0,>=2.0.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard~=2.4->tensorflow==2.4.1) (4.1.1)\n",
"Requirement already satisfied: zipp>=0.5 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard~=2.4->tensorflow==2.4.1) (3.4.0)\n",
"Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow==2.4.1) (3.1.0)\n",
"Requirement already satisfied: pyasn1>=0.1.3 in c:\\users\\youss\\anaconda3\\envs\\new_enviroment\\lib\\site-packages (from rsa<5,>=3.1.4; python_version >= \"3.5\"->google-auth<3,>=1.6.3->tensorboard~=2.4->tensorflow==2.4.1) (0.4.8)\n"
]
}
],
"source": [
"!pip install tensorflow==2.4.1 tensorflow-gpu==2.4.1 opencv-python matplotlib\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import the libraries that will be used in the project "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"import cv2\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Load the model "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load the MoveNet model from tensorflow hub "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"interpreter = tf.lite.Interpreter(model_path='lite-model_movenet_singlepose_lightning_3.tflite')\n",
"interpreter.allocate_tensors()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Draw Keypoints"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def draw_keypoints(frame, keypoints, confidence_threshold):\n",
" \"\"\" Detect and draw the keypoints\n",
" \n",
" Parameters\n",
" -------------\n",
" frame : Array \n",
" The frame from the web cam of shape 480*640*3\n",
" keypoints: Array\n",
" The detected keypints with the scores \n",
" confidence_threshold: Float\n",
" The threshold used to compare the keypoints score to it.\n",
" \n",
" Outputs \n",
" ------------\n",
" None \n",
" \n",
" \"\"\"\n",
" # extract the shape from the frame \n",
" y, x, _ = frame.shape\n",
" \n",
" # Scale the detected keypoints \n",
" shaped = np.squeeze(np.multiply(keypoints, [y,x,1]))\n",
" \n",
" # looping over all the keypoints and draw circle on it, if it passes the threshold\n",
" for kp in shaped:\n",
" ky, kx, kp_conf = kp\n",
" if kp_conf > confidence_threshold:\n",
" cv2.circle(frame, (int(kx), int(ky)), 4, (0,255,0), -1)\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. Draw Edges "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# The differnet connections between the coordinates\n",
"EDGES = {\n",
" (0, 1): (255,0,255),\n",
" (0, 2): (0,255,255),\n",
" (1, 3): (255,0,255),\n",
" (2, 4): (255,0,255),\n",
" (0, 5): (255,0,255),\n",
" (0, 6): (0,255,255),\n",
" (5, 7): (255,0,255),\n",
" (7, 9): (255,0,255),\n",
" (6, 8): (0,255,255),\n",
" (8, 10): (0,255,255),\n",
" (5, 6): (255,255,0),\n",
" (5, 11): (255,0,255),\n",
" (6, 12): (0,255,255),\n",
" (11, 12): (255,255,0),\n",
" (11, 13): (255,0,255),\n",
" (13, 15): (255,0,255),\n",
" (12, 14): (0,255,255),\n",
" (14, 16): (0,255,255)\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def draw_connections(frame, keypoints, edges, confidence_threshold):\n",
" \"\"\" Drawing the connection lines between the keypoints.\n",
" \n",
" Parameters\n",
" -------------\n",
" frame : Array \n",
" The frame from the web cam of shape 480*640*3\n",
" keypoints: Array\n",
" The detected keypints with the scores \n",
" edges: dict\n",
" The different connections between the keypoints\n",
" confidence_threshold: Float\n",
" The threshold used to compare the keypoints score to it.\n",
" \n",
" Outputs \n",
" ------------\n",
" None\n",
" \n",
" \"\"\"\n",
" \n",
" # extract the shape from the frame \n",
" y, x, c = frame.shape\n",
" \n",
" # Scale the detected keypoints \n",
" shaped = np.squeeze(np.multiply(keypoints, [y,x,1]))\n",
" \n",
" # Looping over the edges and draw them if the scores of the two keypoints passing the threshold\n",
" for edge, color in edges.items():\n",
" p1, p2 = edge\n",
" y1, x1, c1 = shaped[p1]\n",
" y2, x2, c2 = shaped[p2]\n",
" \n",
" if (c1 > confidence_threshold) & (c2 > confidence_threshold): \n",
" cv2.line(frame, (int(x1), int(y1)), (int(x2), int(y2)), color, 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Detect Squats "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def count_squats(frame, keypoints, confidence_threshold, squat_counter, count_bool ):\n",
" \"\"\" Counting the number of squats\n",
" \n",
" Parameters\n",
" -------------\n",
" frame : Array \n",
" The frame from the web cam of shape 480*640*3\n",
" keypoints: Array\n",
" The detected keypints with the scores \n",
" confidence_threshold: Float\n",
" The threshold used to compare the keypoints score to it.\n",
" squat_counter: Int \n",
" This variable is used to save the number of squats \n",
" count_bool: bool\n",
" It is used to detect new squats so the counter would incrment the squat counter\n",
"\n",
" Outputs \n",
" ------------\n",
" squat_counter: Int\n",
" This variable is used to save the number of squats\n",
" count_bool: bool\n",
" It is used to detect new squats so the counter would incrment the squat counter\n",
" \"\"\"\n",
" \n",
" \n",
" # extract the shape of the frame \n",
" y, x, c = frame.shape\n",
" # scale the keypoints \n",
" shaped = np.squeeze(np.multiply(keypoints, [y,x,1]))\n",
" \n",
" # extract the y,x,c for the left and right hip and left and right knee \n",
" y_left_hip,x_left_hip,c_left_hip = shaped[11]\n",
" y_right_hip,x_right_hip,c_righ_hip = shaped[12]\n",
" \n",
" y_left_knee,x_left_knee,c_left_knee = shaped[13]\n",
" y_right_knee,x_right_knee,c_righ_knee = shaped[14]\n",
"\n",
" # check that if it is a new squat \n",
" if count_bool:\n",
" # check that the key points passes the threshold \n",
" if (c_left_hip > confidence_threshold) & (c_righ_hip > confidence_threshold) & (c_left_knee > confidence_threshold) & (c_righ_knee > confidence_threshold): \n",
" # check if you are in the squat position \n",
" if (y_left_hip >= y_left_knee -20 ) & (y_right_hip >= y_right_knee-20):\n",
" squat_counter = squat_counter + 1\n",
" count_bool = False\n",
" else:\n",
" # check if you are out of the squat position\n",
" if (y_left_hip + 50 <= y_left_knee ) & (y_right_hip + 50 <= y_right_knee ):\n",
" count_bool = True\n",
"\n",
" \n",
" # print the number of squats on the current frame \n",
" bottomLeftCornerOfText = (10,400)\n",
" fontScale = 2\n",
" fontColor = (225,0,0)\n",
" lineType = 2\n",
" \n",
" cv2.putText(frame,\n",
" 'Number of Squats'+' '+str(squat_counter), \n",
" bottomLeftCornerOfText, \n",
" 1, \n",
" fontScale,\n",
" fontColor,\n",
" lineType) \n",
" \n",
" bottomLeftCornerOfText = (10,440)\n",
" cv2.putText(frame,\n",
" 'Calories burnt '+' '+str(squat_counter*0.32)+ 'Kcal', \n",
" bottomLeftCornerOfText, \n",
" 1, \n",
" fontScale,\n",
" fontColor,\n",
" lineType) \n",
"\n",
"\n",
" return squat_counter, count_bool "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 5. Make Detection "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[[[0.6840428 0.5527301 0.5836677 ]\n",
" [0.6241096 0.62245923 0.3835004 ]\n",
" [0.63577664 0.48867226 0.46483675]\n",
" [0.6807646 0.70086277 0.516172 ]\n",
" [0.6872697 0.42421937 0.48242253]\n",
" [0.87069005 0.7904166 0.10309696]\n",
" [0.8798249 0.32679248 0.07911959]\n",
" [0.8564374 0.8603663 0.00974765]\n",
" [0.6207938 0.42968518 0.04147208]\n",
" [0.7220762 0.7269329 0.05055588]\n",
" [0.714226 0.43366235 0.01586255]\n",
" [0.7146558 0.68590254 0.01219729]\n",
" [0.6831602 0.4282207 0.01627809]\n",
" [0.8661159 0.8608576 0.00691494]\n",
" [0.61375767 0.41140723 0.01260599]\n",
" [0.77901596 0.7380668 0.03804553]\n",
" [0.6882274 0.3262884 0.00381345]]]]\n",
"[[[[0.6820399 0.6192878 0.55325663]\n",
" [0.62217534 0.6952981 0.5404918 ]\n",
" [0.61695635 0.54832226 0.63956136]\n",
" [0.6829556 0.7679507 0.6079084 ]\n",
" [0.6640356 0.4764024 0.64150167]\n",
" [0.84298193 0.89501804 0.1695598 ]\n",
" [0.8783197 0.3193054 0.31949326]\n",
" [0.9672824 0.9783071 0.01221436]\n",
" [0.95559955 0.2566758 0.01282397]\n",
" [0.8391371 0.8007523 0.00705695]\n",
" [0.8674494 0.44332665 0.00769243]\n",
" [0.7043006 0.69888943 0.00915173]\n",
" [0.5743251 0.43019387 0.01083797]\n",
" [0.6457625 0.728356 0.03991181]\n",
" [0.8656484 0.21367274 0.01156422]\n",
" [0.6636485 0.81777704 0.01183605]\n",
" [0.8536143 0.2558865 0.00709575]]]]\n",
"[[[[0.68664527 0.64108616 0.44211847]\n",
" [0.6282809 0.7211227 0.5259638 ]\n",
" [0.61686015 0.57168037 0.54217637]\n",
" [0.69180155 0.7923465 0.48358774]\n",
" [0.659664 0.50133175 0.62953067]\n",
" [0.8276471 0.9585308 0.23187649]\n",
" [0.88393086 0.34617662 0.34295332]\n",
" [0.9714924 0.9674295 0.02820086]\n",
" [0.95438355 0.28591895 0.01559058]\n",
" [0.8473041 0.86086845 0.01015627]\n",
" [0.85575956 0.47252524 0.01219228]\n",
" [0.7319834 0.7065512 0.01423562]\n",
" [0.9755888 0.23531711 0.05853954]\n",
" [0.65196943 0.7549826 0.06043577]\n",
" [0.87115264 0.31382865 0.00624064]\n",
" [0.67928165 0.8366569 0.0157083 ]\n",
" [0.85850066 0.29700875 0.00813267]]]]\n",
"[[[[0.6984977 0.67394346 0.6441855 ]\n",
" [0.6436386 0.74211144 0.538808 ]\n",
" [0.6224741 0.609249 0.47180766]\n",
" [0.7017481 0.7981175 0.66197276]\n",
" [0.65431666 0.52634346 0.6410807 ]\n",
" [0.86695427 0.91149205 0.27685374]\n",
" [0.8731886 0.3749162 0.32026672]\n",
" [0.96923846 0.9602375 0.06213504]\n",
" [0.9547968 0.29064184 0.01941714]\n",
" [0.98068845 0.97220814 0.05660442]\n",
" [0.86424935 0.4695115 0.01093841]\n",
" [0.7341733 0.65354836 0.01847112]\n",
" [0.9672915 0.25934002 0.07426378]\n",
" [0.66603094 0.7766272 0.04981044]\n",
" [0.87383354 0.31896412 0.01306927]\n",
" [0.70216274 0.8386923 0.01436976]\n",
" [0.8665185 0.30955768 0.01434603]]]]\n",
"[[[[0.7106022 0.68605137 0.52497935]\n",
" [0.65655994 0.76314896 0.64693 ]\n",
" [0.6248641 0.627326 0.51857525]\n",
" [0.7062997 0.8211937 0.5815507 ]\n",
" [0.6506792 0.54236037 0.5409069 ]\n",
" [0.8570814 0.9296551 0.19241408]\n",
" [0.8712926 0.42744118 0.20814505]\n",
" [0.9663362 0.9569721 0.04971537]\n",
" [0.8964347 0.3366583 0.01476359]\n",
" [0.80130833 0.979526 0.07238978]\n",
" [0.8084089 0.5150757 0.01308715]\n",
" [0.75780797 0.6829774 0.02451187]\n",
" [0.9090111 0.26601854 0.07675087]\n",
" [0.6720841 0.7549636 0.07029587]\n",
" [0.86840177 0.33225936 0.02799067]\n",
" [0.7672576 0.85102785 0.01551214]\n",
" [0.8630514 0.31469375 0.02671126]]]]\n",
"[[[[0.73341906 0.73335356 0.56076515]\n",
" [0.68366396 0.79806274 0.37394172]\n",
" [0.64118946 0.67364806 0.53883785]\n",
" [0.7215256 0.83925104 0.47249365]\n",
" [0.6550133 0.5712266 0.5894798 ]\n",
" [0.84625375 0.92894983 0.23584637]\n",
" [0.87147796 0.50141263 0.23698562]\n",
" [0.96449614 0.9527643 0.04496536]\n",
" [0.86726236 0.3583287 0.0449329 ]\n",
" [0.9644569 0.95270526 0.07912678]\n",
" [0.73426 0.5473283 0.02766526]\n",
" [0.77987593 0.6872426 0.02824962]\n",
" [0.65791327 0.53972304 0.01882213]\n",
" [0.6781322 0.7775759 0.02428129]\n",
" [0.87486386 0.42028293 0.01284248]\n",
" [0.7326511 0.90294254 0.0309701 ]\n",
" [0.86827457 0.3385479 0.03602368]]]]\n",
"[[[[0.7339 0.74418116 0.6168282 ]\n",
" [0.68184507 0.81344783 0.28446865]\n",
" [0.65515643 0.6868242 0.41929108]\n",
" [0.7158713 0.85861444 0.35799056]\n",
" [0.66585004 0.57652915 0.5085107 ]\n",
" [0.8281633 0.94653386 0.24044713]\n",
" [0.8686056 0.48777637 0.20871788]\n",
" [0.9640355 0.954435 0.03548926]\n",
" [0.87392825 0.345608 0.046974 ]\n",
" [0.7708764 0.9600522 0.09448475]\n",
" [0.77901334 0.5542194 0.03185531]\n",
" [0.77704763 0.7492758 0.03232861]\n",
" [0.9903606 0.47420463 0.0419932 ]\n",
" [0.8663807 0.98547596 0.00907394]\n",
" [0.86749476 0.45352265 0.00973287]\n",
" [0.72576874 0.9046935 0.03854874]\n",
" [0.8756642 0.33436975 0.04709202]]]]\n",
"[[[[0.73212564 0.7408534 0.5505803 ]\n",
" [0.6796328 0.81614554 0.47655913]\n",
" [0.6514404 0.6884935 0.2941422 ]\n",
" [0.71816874 0.8734218 0.32614243]\n",
" [0.6525413 0.59252733 0.52868235]\n",
" [0.82605624 0.9344531 0.21160889]\n",
" [0.83748245 0.5023004 0.20395494]\n",
" [0.96263456 0.9487561 0.0415746 ]\n",
" [0.864715 0.37179434 0.04721814]\n",
" [0.9660792 0.95056784 0.05836377]\n",
" [0.86798954 0.3607543 0.07561395]\n",
" [0.7802274 0.77577275 0.03940138]\n",
" [0.6631396 0.5538566 0.02192691]\n",
" [0.86609524 0.9643755 0.00696144]\n",
" [0.8723905 0.32754296 0.03258988]\n",
" [0.7299485 0.9165284 0.04723418]\n",
" [0.8668362 0.33385473 0.04916912]]]]\n",
"[[[[0.72360826 0.7474421 0.45094842]\n",
" [0.6724286 0.8152306 0.4491464 ]\n",
" [0.64751077 0.68910253 0.40588233]\n",
" [0.69930315 0.8832723 0.37103146]\n",
" [0.6637298 0.60420597 0.3436939 ]\n",
" [0.8381835 0.9648568 0.14189288]\n",
" [0.8544235 0.5095369 0.26440817]\n",
" [0.90756214 0.97762835 0.03634018]\n",
" [0.87458265 0.39367926 0.02192071]\n",
" [0.87581134 0.9447882 0.03606662]\n",
" [0.8115889 0.55100465 0.01949328]\n",
" [0.76127064 0.8255569 0.0249522 ]\n",
" [0.79521513 0.5699699 0.01433003]\n",
" [0.85156554 0.95248294 0.0140886 ]\n",
" [0.87484074 0.49469548 0.01200324]\n",
" [0.7118101 0.9221598 0.04137242]\n",
" [0.8691747 0.34156474 0.02846178]]]]\n",
"[[[[0.72063327 0.7570757 0.54367095]\n",
" [0.68355405 0.84720796 0.44737196]\n",
" [0.6176057 0.71036214 0.4074795 ]\n",
" [0.74880636 0.88970125 0.31929708]\n",
" [0.6024712 0.61237824 0.49468625]\n",
" [0.8817396 0.91138405 0.1473287 ]\n",
" [0.8338749 0.52801687 0.20348006]\n",
" [0.96441483 0.963776 0.01719382]\n",
" [0.582221 0.6012718 0.05600482]\n",
" [0.73542154 0.9746634 0.09119019]\n",
" [0.6016393 0.59735894 0.04081231]\n",
" [0.5666878 0.5700535 0.00777784]\n",
" [0.8979172 0.26397082 0.05487922]\n",
" [0.7793538 0.9486736 0.00832471]\n",
" [0.8663616 0.3365035 0.01664335]\n",
" [0.7534616 0.8389517 0.02620381]\n",
" [0.8632414 0.3198333 0.02912647]]]]\n",
"[[[[0.72370905 0.76031464 0.53905654]\n",
" [0.6817347 0.8470387 0.56970704]\n",
" [0.6213503 0.7075119 0.5262821 ]\n",
" [0.74080104 0.88157505 0.4406641 ]\n",
" [0.6096218 0.6090061 0.48691043]\n",
" [0.8251678 0.9680478 0.18711737]\n",
" [0.83833617 0.4935801 0.20652261]\n",
" [0.7644057 0.991379 0.11004969]\n",
" [0.8645515 0.28152466 0.02771068]\n",
" [0.7305745 0.97419804 0.07004765]\n",
" [0.59706414 0.608757 0.04094833]\n",
" [0.5656246 0.57448554 0.01019835]\n",
" [0.9060676 0.24418041 0.04820272]\n",
" [0.67899597 0.85525846 0.01172802]\n",
" [0.8700632 0.30803713 0.01520512]\n",
" [0.7312669 0.86341035 0.01730204]\n",
" [0.8646494 0.31765807 0.01996124]]]]\n",
"[[[[0.7289134 0.7649898 0.4276616 ]\n",
" [0.69320285 0.85199094 0.49464664]\n",
" [0.62824243 0.7103367 0.30461365]\n",
" [0.75603026 0.8864478 0.347238 ]\n",
" [0.62431544 0.606166 0.43018496]\n",
" [0.87840617 0.93396485 0.15853512]\n",
" [0.8355612 0.48775017 0.2519893 ]\n",
" [0.9671078 0.9636823 0.0251064 ]\n",
" [0.862549 0.2775507 0.03641549]\n",
" [0.9765701 0.96915996 0.03634718]\n",
" [0.59864485 0.6107563 0.05693859]\n",
" [0.5550308 0.5601955 0.00789928]\n",
" [0.9081046 0.2639327 0.07422289]\n",
" [0.69260716 0.8579559 0.01719305]\n",
" [0.8678836 0.30038935 0.02376428]\n",
" [0.74510455 0.90167403 0.02286294]\n",
" [0.8611171 0.31087914 0.03332806]]]]\n",
"[[[[0.7209605 0.7625477 0.5755867 ]\n",
" [0.6978325 0.8422167 0.5455994 ]\n",
" [0.6337745 0.71369183 0.37568933]\n",
" [0.76668304 0.88116133 0.4336744 ]\n",
" [0.6272028 0.6230296 0.45464742]\n",
" [0.8810527 0.921034 0.14801845]\n",
" [0.82979715 0.54756874 0.27632582]\n",
" [0.96419567 0.9537384 0.04169065]\n",
" [0.8580246 0.2803682 0.03674555]\n",
" [0.9663391 0.95234 0.06092733]\n",
" [0.7238053 0.5787752 0.04799965]\n",
" [0.6066611 0.60467166 0.01456067]\n",
" [0.88879174 0.21283662 0.07302842]\n",
" [0.7439797 0.83542264 0.0203771 ]\n",
" [0.8611444 0.32475108 0.03621942]\n",
" [0.7783127 0.81732476 0.03330705]\n",
" [0.8565961 0.31519884 0.03818506]]]]\n",
"[[[[0.7415284 0.75811505 0.48477137]\n",
" [0.72648776 0.8346343 0.39395565]\n",
" [0.6677816 0.7165514 0.45695975]\n",
" [0.7709576 0.88304013 0.27341962]\n",
" [0.6621436 0.6518728 0.24517736]\n",
" [0.86994624 0.891641 0.15908083]\n",
" [0.7390319 0.59029084 0.18337363]\n",
" [0.97136253 0.9644959 0.03599411]\n",
" [0.75062865 0.57478034 0.09727031]\n",
" [0.86192083 0.8831917 0.02141917]\n",
" [0.74257565 0.58377004 0.08442608]\n",
" [0.7700175 0.70350266 0.04466474]\n",
" [0.87227887 0.5578596 0.11199096]\n",
" [0.8056253 0.82263565 0.01418027]\n",
" [0.84833163 0.5638592 0.0734579 ]\n",
" [0.839942 0.77502316 0.02829883]\n",
" [0.8445523 0.5419569 0.07579428]]]]\n",
"[[[[0.74132204 0.75340074 0.4986621 ]\n",
" [0.72095096 0.8332243 0.48939663]\n",
" [0.65552676 0.7175299 0.33233643]\n",
" [0.7733916 0.86605734 0.29479474]\n",
" [0.6166108 0.63633156 0.49074864]\n",
" [0.9084341 0.8708379 0.10840851]\n",
" [0.7478833 0.56898195 0.2570684 ]\n",
" [0.966603 0.9568579 0.02487043]\n",
" [0.5841755 0.64525473 0.09134683]\n",
" [0.83425397 0.81878865 0.02980921]\n",
" [0.59114134 0.6372491 0.07103974]\n",
" [0.6092971 0.6044595 0.01511648]\n",
" [0.88911957 0.23692447 0.08175927]\n",
" [0.78521836 0.8003652 0.00606585]\n",
" [0.85505456 0.29902452 0.02961284]\n",
" [0.7744896 0.75139445 0.01642966]\n",
" [0.8460814 0.32961464 0.03449306]]]]\n",
"[[[[0.7389559 0.7422377 0.41100168]\n",
" [0.72863144 0.8028439 0.34462982]\n",
" [0.6739572 0.7212097 0.2954826 ]\n",
" [0.7819215 0.84635943 0.17901227]\n",
" [0.6352315 0.65158224 0.41863182]\n",
" [0.86393833 0.8221857 0.1042251 ]\n",
" [0.6894311 0.58531314 0.22321177]\n",
" [0.96291685 0.9207324 0.01834622]\n",
" [0.82906914 0.559093 0.09821627]\n",
" [0.85670555 0.82069534 0.02657786]\n",
" [0.717667 0.5880313 0.08450636]\n",
" [0.6319113 0.6303072 0.02928758]\n",
" [0.58662426 0.46858937 0.01840657]\n",
" [0.772437 0.75691366 0.01398319]\n",
" [0.85938233 0.5232986 0.04368311]\n",
" [0.79989886 0.7416663 0.04349098]\n",
" [0.83800375 0.5433117 0.04825521]]]]\n",
"[[[[0.7438152 0.7732593 0.36964053]\n",
" [0.7406062 0.8290383 0.30757546]\n",
" [0.6804167 0.74861264 0.24570847]\n",
" [0.79379386 0.8446498 0.23294789]\n",
" [0.637591 0.6541475 0.4543069 ]\n",
" [0.8728699 0.8023082 0.09059924]\n",
" [0.6984155 0.59561265 0.20686811]\n",
" [0.8074013 0.83396924 0.03185296]\n",
" [0.6595943 0.670223 0.05727953]\n",
" [0.84824955 0.8186693 0.03820381]\n",
" [0.71958435 0.5956156 0.05430561]\n",
" [0.64732033 0.6212274 0.03428721]\n",
" [0.6112186 0.46082014 0.01186711]\n",
" [0.72991604 0.7729763 0.0128645 ]\n",
" [0.852713 0.40874255 0.03538665]\n",
" [0.8249433 0.8073494 0.05238432]\n",
" [0.74449575 0.6220698 0.01128387]]]]\n",
"[[[[0.76005715 0.7588267 0.43838495]\n",
" [0.7570309 0.8202678 0.32365245]\n",
" [0.69745296 0.73607844 0.34139523]\n",
" [0.8049647 0.84340656 0.27584606]\n",
" [0.66584146 0.65686166 0.36908036]\n",
" [0.88089657 0.80768573 0.15443945]\n",
" [0.7133486 0.5864952 0.21350238]\n",
" [0.82080185 0.8281354 0.03532538]\n",
" [0.84349525 0.5672263 0.11388057]\n",
" [0.85164404 0.8029463 0.0388608 ]\n",
" [0.737229 0.592161 0.08952934]\n",
" [0.67542046 0.64512676 0.04381049]\n",
" [0.74766314 0.5628767 0.06994385]\n",
" [0.80606556 0.805962 0.03091258]\n",
" [0.86157393 0.52514905 0.04676276]\n",
" [0.8378348 0.82971656 0.04393387]\n",
" [0.7725198 0.5931633 0.02831215]]]]\n",
"[[[[0.7434932 0.76033616 0.4328169 ]\n",
" [0.7424494 0.8387589 0.48088524]\n",
" [0.6630163 0.73217964 0.47881222]\n",
" [0.81206954 0.8629026 0.27217224]\n",
" [0.65467167 0.6562547 0.30136806]\n",
" [0.8899757 0.8189551 0.07111314]\n",
" [0.70516914 0.57312155 0.2461864 ]\n",
" [0.9624735 0.89811414 0.01385009]\n",
" [0.81370866 0.14419791 0.10264826]\n",
" [0.84099716 0.82425106 0.04413849]\n",
" [0.7239143 0.5961007 0.05027622]\n",
" [0.6284929 0.60087264 0.02762604]\n",
" [0.57272995 0.3930386 0.01105878]\n",
" [0.75023097 0.7756502 0.01257861]\n",
" [0.8581116 0.35670942 0.04454452]\n",
" [0.78620577 0.75894153 0.03470743]\n",
" [0.8505025 0.5562112 0.03584966]]]]\n",
"[[[[0.7791338 0.7415407 0.4394577 ]\n",
" [0.76750654 0.8168844 0.3868952 ]\n",
" [0.7311392 0.7234799 0.3924648 ]\n",
" [0.8073274 0.8522062 0.21981609]\n",
" [0.69908446 0.6627358 0.3037238 ]\n",
" [0.8700942 0.8152606 0.11505225]\n",
" [0.70586586 0.5790442 0.24848798]\n",
" [0.8254322 0.83070207 0.04368359]\n",
" [0.853095 0.4199264 0.1565454 ]\n",
" [0.8596503 0.8049392 0.03338468]\n",
" [0.7451779 0.58560413 0.0819239 ]\n",
" [0.710891 0.640639 0.06754917]\n",
" [0.7438867 0.52697086 0.06661648]\n",
" [0.81216085 0.7406749 0.01560172]\n",
" [0.85444295 0.38307303 0.08062053]\n",
" [0.8445511 0.72674984 0.05205598]\n",
" [0.84831166 0.54177064 0.03231645]]]]\n",
"[[[[0.79224646 0.73648775 0.35791284]\n",
" [0.77853817 0.8182827 0.3416469 ]\n",
" [0.73625535 0.7133619 0.345384 ]\n",
" [0.79700255 0.8744897 0.18377057]\n",
" [0.6917922 0.65860176 0.37433177]\n",
" [0.88789266 0.8662152 0.1510453 ]\n",
" [0.69587886 0.58898747 0.23969105]\n",
" [0.8323575 0.8469295 0.04028302]\n",
" [0.83078027 0.09755427 0.17764717]\n",
" [0.8577553 0.82605165 0.04700318]\n",
" [0.74976224 0.5948601 0.04716501]\n",
" [0.71092457 0.6532774 0.05562329]\n",
" [0.762257 0.54994315 0.0614157 ]\n",
" [0.83484983 0.74450344 0.01186496]\n",
" [0.8706965 0.40045553 0.03327966]\n",
" [0.8510915 0.6709355 0.03935644]\n",
" [0.8686732 0.43542784 0.01922315]]]]\n",
"[[[[0.7958128 0.77524304 0.2803486 ]\n",
" [0.7702824 0.8228287 0.2789644 ]\n",
" [0.756695 0.74025625 0.46384236]\n",
" [0.7905399 0.8877961 0.22895905]\n",
" [0.7362444 0.67542857 0.294921 ]\n",
" [0.8304682 0.8851509 0.07858935]\n",
" [0.73192334 0.6318788 0.1681726 ]\n",
" [0.8121221 0.871998 0.08014911]\n",
" [0.8471114 0.6049919 0.14825335]\n",
" [0.807728 0.83868444 0.05815127]\n",
" [0.75926846 0.6158713 0.04482198]\n",
" [0.84870744 0.67920125 0.0603717 ]\n",
" [0.6565156 0.60746825 0.0411846 ]\n",
" [0.83315724 0.8330989 0.03620517]\n",
" [0.8547868 0.60548663 0.05852035]\n",
" [0.845411 0.82369894 0.05341819]\n",
" [0.85692424 0.61067235 0.05133811]]]]\n",
"[[[[0.81691927 0.77897716 0.33255738]\n",
" [0.8021359 0.8406893 0.32881925]\n",
" [0.77090776 0.7431566 0.4618711 ]\n",
" [0.8156426 0.8864078 0.24773967]\n",
" [0.7382986 0.6717581 0.40088364]\n",
" [0.849261 0.8778399 0.07849357]\n",
" [0.7468993 0.5964108 0.2155034 ]\n",
" [0.8258166 0.8813488 0.04840332]\n",
" [0.8686638 0.59144515 0.10417101]\n",
" [0.84464 0.8485071 0.07046691]\n",
" [0.7686038 0.6096127 0.05150709]\n",
" [0.70957744 0.63340724 0.06009179]\n",
" [0.6448951 0.5384364 0.01699933]\n",
" [0.83027667 0.82416534 0.0182606 ]\n",
" [0.8628098 0.60248345 0.04332983]\n",
" [0.8473829 0.8399524 0.0454793 ]\n",
" [0.84694004 0.64850795 0.02534494]]]]\n",
"[[[[0.8166462 0.7418384 0.28747484]\n",
" [0.8028173 0.78681344 0.23542649]\n",
" [0.77924013 0.7242006 0.3713429 ]\n",
" [0.81020993 0.836082 0.15657815]\n",
" [0.7328438 0.6771035 0.27181366]\n",
" [0.8744329 0.796119 0.1434974 ]\n",
" [0.6911905 0.6046989 0.19563022]\n",
" [0.8300241 0.84400624 0.05593154]\n",
" [0.854973 0.5837642 0.11941707]\n",
" [0.83544797 0.83324504 0.05308747]\n",
" [0.7399725 0.60642445 0.04237086]\n",
" [0.6800015 0.60656756 0.06868902]\n",
" [0.8537428 0.18401621 0.13304022]\n",
" [0.8556089 0.604069 0.03816503]\n",
" [0.8686132 0.39743543 0.11446375]\n",
" [0.85495234 0.6577891 0.03308937]\n",
" [0.86521316 0.5225619 0.04737186]]]]\n",
"[[[[0.8301599 0.77538574 0.34073114]\n",
" [0.80561775 0.8201852 0.31301504]\n",
" [0.7828773 0.73662245 0.40008324]\n",
" [0.8125779 0.868624 0.19750774]\n",
" [0.7377194 0.65514857 0.31487018]\n",
" [0.8522022 0.86200917 0.05713457]\n",
" [0.73243046 0.61033165 0.16619965]\n",
" [0.8321783 0.8363793 0.07033214]\n",
" [0.84672034 0.6090038 0.085906 ]\n",
" [0.8484615 0.83900034 0.07052785]\n",
" [0.7686639 0.61793685 0.03554899]\n",
" [0.5506879 0.82962656 0.03379753]\n",
" [0.6321712 0.5808437 0.0187422 ]\n",
" [0.8356097 0.78680205 0.01105419]\n",
" [0.8636967 0.61761105 0.0226635 ]\n",
" [0.84840846 0.8242809 0.03643548]\n",
" [0.8489215 0.5983918 0.01976576]]]]\n",
"[[[[0.8017274 0.7382804 0.30778337]\n",
" [0.7854444 0.7798998 0.23528957]\n",
" [0.7730836 0.71856755 0.3311372 ]\n",
" [0.7894635 0.8197538 0.14253989]\n",
" [0.74201787 0.65135455 0.2808144 ]\n",
" [0.8558887 0.8019748 0.12813756]\n",
" [0.7258861 0.61655533 0.08696705]\n",
" [0.82580256 0.8390267 0.03821144]\n",
" [0.6424019 0.6621706 0.03475571]\n",
" [0.8132474 0.8336991 0.05069292]\n",
" [0.7071214 0.64559513 0.02649754]\n",
" [0.6251601 0.71453464 0.01036817]\n",
" [0.61548764 0.57231104 0.01390886]\n",
" [0.83703446 0.7673763 0.00596926]\n",
" [0.7930343 0.62614024 0.01069576]\n",
" [0.8355776 0.8224343 0.04243693]\n",
" [0.83043015 0.599877 0.01472509]]]]\n",
"[[[[0.81589574 0.76034284 0.35977817]\n",
" [0.7875974 0.820429 0.47300896]\n",
" [0.7586104 0.7311668 0.30993098]\n",
" [0.81961334 0.8671427 0.24233496]\n",
" [0.7340617 0.64596105 0.34941375]\n",
" [0.90474147 0.8472899 0.14937168]\n",
" [0.79660976 0.57204205 0.20244011]\n",
" [0.8107161 0.8443433 0.0507153 ]\n",
" [0.8319067 0.6107743 0.05826956]\n",
" [0.84788626 0.8462478 0.05254194]\n",
" [0.7896594 0.6044929 0.0418404 ]\n",
" [0.72748226 0.6068002 0.02891421]\n",
" [0.8496636 0.16668439 0.10149127]\n",
" [0.8231845 0.79402447 0.00937766]\n",
" [0.8725753 0.35541487 0.02517772]\n",
" [0.84310097 0.82357323 0.03842619]\n",
" [0.82643235 0.2080177 0.04431945]]]]\n",
"[[[[0.7999727 0.759449 0.3669182 ]\n",
" [0.77757037 0.8176578 0.33864808]\n",
" [0.74233216 0.7235563 0.38741702]\n",
" [0.8107654 0.88255644 0.2459479 ]\n",
" [0.738989 0.65063107 0.277441 ]\n",
" [0.8887674 0.88326764 0.06617218]\n",
" [0.7948567 0.6206742 0.10736829]\n",
" [0.82005924 0.84150946 0.05292198]\n",
" [0.751162 0.65339226 0.0417065 ]\n",
" [0.7916732 0.8549973 0.05632946]\n",
" [0.73731816 0.6860926 0.03623003]\n",
" [0.8852049 0.37215695 0.10408768]\n",
" [0.6266287 0.5843344 0.02204952]\n",
" [0.79693735 0.8424698 0.02094916]\n",
" [0.7950818 0.62428546 0.01867026]\n",
" [0.83729327 0.71637726 0.02207243]\n",
" [0.8689573 0.49426946 0.0099299 ]]]]\n",
"[[[[0.8021304 0.75760293 0.2947176 ]\n",
" [0.7792121 0.79989 0.23537761]\n",
" [0.76042956 0.7246975 0.33198494]\n",
" [0.80414224 0.8564806 0.19840729]\n",
" [0.7642739 0.6591767 0.32555905]\n",
" [0.86771786 0.85431576 0.12294221]\n",
" [0.8044476 0.6260819 0.15547094]\n",
" [0.8289565 0.8411546 0.07899407]\n",
" [0.7632202 0.6432915 0.057623 ]\n",
" [0.80356145 0.83130026 0.04806978]\n",
" [0.74197835 0.663488 0.05620006]\n",
" [0.85696596 0.2326945 0.17558008]\n",
" [0.70053256 0.6027984 0.05415556]\n",
" [0.80627716 0.8361992 0.03790954]\n",
" [0.84734386 0.5946643 0.03672037]\n",
" [0.8575184 0.7101807 0.02751794]\n",
" [0.8279409 0.58913714 0.04515705]]]]\n",
"[[[[0.8017954 0.72805965 0.21660385]\n",
" [0.77980965 0.77610457 0.20784739]\n",
" [0.7616385 0.6983768 0.2604215 ]\n",
" [0.80816 0.8531798 0.16533491]\n",
" [0.7627244 0.6683959 0.18628865]\n",
" [0.85048527 0.8790037 0.11416197]\n",
" [0.8058158 0.62921834 0.16226801]\n",
" [0.8391832 0.8763997 0.03966159]\n",
" [0.7780017 0.63158333 0.08047649]\n",
" [0.77856106 0.82263386 0.0362781 ]\n",
" [0.750904 0.6434412 0.04305735]\n",
" [0.76501215 0.7670006 0.01927161]\n",
" [0.74059284 0.604735 0.05085942]\n",
" [0.83552086 0.64763397 0.05019411]\n",
" [0.85820603 0.5522162 0.02193293]\n",
" [0.8380107 0.6033213 0.05056161]\n",
" [0.8816268 0.45974502 0.01927784]]]]\n",
"[[[[0.7759342 0.70330644 0.41346976]\n",
" [0.74626374 0.7610334 0.3390171 ]\n",
" [0.7153163 0.6659102 0.43979552]\n",
" [0.8016924 0.86089414 0.28324398]\n",
" [0.73845875 0.6147288 0.37434804]\n",
" [0.85371304 0.9392244 0.10946167]\n",
" [0.8176903 0.5532714 0.19665769]\n",
" [0.7126914 0.6637784 0.03244942]\n",
" [0.86016655 0.40091205 0.07112011]\n",
" [0.71490943 0.62922484 0.02363399]\n",
" [0.83017445 0.24969856 0.0516113 ]\n",
" [0.73584574 0.45135587 0.03588802]\n",
" [0.80081487 0.15664169 0.11103815]\n",
" [0.74863 0.63665354 0.0531283 ]\n",
" [0.8442781 0.08412519 0.04288763]\n",
" [0.7820029 0.6323353 0.04884446]\n",
" [0.79837865 0.18358439 0.02828476]]]]\n",
"[[[[0.771567 0.6737525 0.5034905 ]\n",
" [0.74269575 0.74809945 0.36400053]\n",
" [0.70613885 0.64114285 0.5974873 ]\n",
" [0.81020033 0.8454308 0.36670732]\n",
" [0.71986693 0.60607636 0.28152806]\n",
" [0.9157712 0.9007863 0.06064284]\n",
" [0.8513443 0.53207606 0.25558323]\n",
" [0.9660162 0.9523269 0.02736655]\n",
" [0.8558351 0.38893294 0.06050885]\n",
" [0.8282303 0.8789486 0.02121091]\n",
" [0.83317685 0.5477953 0.05849579]\n",
" [0.7906847 0.6107794 0.04935563]\n",
" [0.8511771 0.14190058 0.1154708 ]\n",
" [0.76807916 0.6093771 0.06444481]\n",
" [0.8588797 0.36531365 0.03213161]\n",
" [0.8664626 0.3936692 0.01776052]\n",
" [0.8307711 0.20092988 0.02488142]]]]\n",
"[[[[0.75762385 0.64873856 0.50331736]\n",
" [0.72396934 0.72850084 0.3801214 ]\n",
" [0.6982963 0.61768925 0.69336987]\n",
" [0.80415213 0.8237026 0.44751972]\n",
" [0.71863574 0.5782688 0.39393538]\n",
" [0.8812094 0.88498634 0.14651963]\n",
" [0.8672201 0.51194537 0.28568685]\n",
" [0.8763257 0.9729955 0.02587017]\n",
" [0.8470495 0.3779082 0.04638246]\n",
" [0.78126526 0.86427665 0.02265373]\n",
" [0.83639574 0.5283173 0.05375907]\n",
" [0.79611677 0.6197127 0.0477815 ]\n",
" [0.8685086 0.1467157 0.08596838]\n",
" [0.7511759 0.594918 0.12039894]\n",
" [0.8595214 0.37696335 0.0287579 ]\n",
" [0.8268753 0.5402838 0.04208136]\n",
" [0.8070922 0.15360525 0.02429909]]]]\n",
"[[[[0.76739526 0.6364012 0.62677276]\n",
" [0.7211596 0.7163435 0.54448485]\n",
" [0.71064997 0.5986792 0.5101595 ]\n",
" [0.77697676 0.82350963 0.5069401 ]\n",
" [0.724671 0.56418747 0.3979115 ]\n",
" [0.87602305 0.9192321 0.14297989]\n",
" [0.8709743 0.46438754 0.16543278]\n",
" [0.8829292 0.97996086 0.03632066]\n",
" [0.84611076 0.37967128 0.03674161]\n",
" [0.7604935 0.8890742 0.029138 ]\n",
" [0.83004993 0.52552986 0.02476206]\n",
" [0.82098836 0.6727385 0.03174612]\n",
" [0.8575813 0.13710761 0.10467967]\n",
" [0.77052486 0.75538176 0.0391911 ]\n",
" [0.8493818 0.3631944 0.01954728]\n",
" [0.8534124 0.37432116 0.01182804]\n",
" [0.852214 0.1245805 0.01168469]]]]\n",
"[[[[0.7737717 0.6113608 0.6128011 ]\n",
" [0.7223167 0.69514555 0.5405883 ]\n",
" [0.7160942 0.5745485 0.40356886]\n",
" [0.7773874 0.8037157 0.51364166]\n",
" [0.7326872 0.55034935 0.44702438]\n",
" [0.8848202 0.8878452 0.12761411]\n",
" [0.87498707 0.4776748 0.22495478]\n",
" [0.93888533 0.98089546 0.01871106]\n",
" [0.8686768 0.43386468 0.02138314]\n",
" [0.76673883 0.8515965 0.02812418]\n",
" [0.78760993 0.52043384 0.0187057 ]\n",
" [0.8413467 0.67407507 0.04064956]\n",
" [0.85092354 0.12937218 0.12900394]\n",
" [0.74837965 0.57331103 0.05885684]\n",
" [0.8504149 0.1837093 0.02033612]\n",
" [0.8569051 0.3184994 0.01910859]\n",
" [0.85851884 0.10400312 0.0110164 ]]]]\n",
"[[[[0.772902 0.57769704 0.4892063 ]\n",
" [0.72111976 0.66710895 0.4956916 ]\n",
" [0.7146384 0.54590726 0.45924175]\n",
" [0.7788942 0.7890661 0.5070981 ]\n",
" [0.73369926 0.5157444 0.31283557]\n",
" [0.9053332 0.88439363 0.07068518]\n",
" [0.8688065 0.4407922 0.21235871]\n",
" [0.85445344 0.97291887 0.01453772]\n",
" [0.8285312 0.32288375 0.05205837]\n",
" [0.69739485 0.86158645 0.02871481]\n",
" [0.7360771 0.522458 0.01666674]\n",
" [0.8376739 0.6292467 0.0478372 ]\n",
" [0.8432393 0.12880702 0.08767328]\n",
" [0.7630407 0.5494658 0.07072955]\n",
" [0.83432543 0.15345684 0.04794163]\n",
" [0.8304504 0.16811566 0.02775833]\n",
" [0.77084565 0.01755529 0.01395142]]]]\n",
"[[[[0.7730965 0.5770776 0.5590786 ]\n",
" [0.71890426 0.6611822 0.52614814]\n",
" [0.71518433 0.5371387 0.54789966]\n",
" [0.77448916 0.7754785 0.533072 ]\n",
" [0.7312113 0.5002576 0.428252 ]\n",
" [0.90574586 0.8775179 0.0666098 ]\n",
" [0.8762698 0.41825145 0.169438 ]\n",
" [0.76912606 0.86121625 0.02865505]\n",
" [0.8327334 0.3118266 0.03871086]\n",
" [0.7073299 0.8517577 0.03192347]\n",
" [0.82532346 0.48943138 0.01996723]\n",
" [0.83856785 0.63081384 0.04329321]\n",
" [0.6743867 0.32271335 0.01388875]\n",
" [0.7482712 0.6855658 0.04269686]\n",
" [0.8476292 0.13601424 0.03011525]\n",
" [0.8379957 0.22341722 0.01060799]\n",
" [0.7840488 0.02046445 0.0204511 ]]]]\n",
"[[[[0.77824736 0.57404554 0.6665987 ]\n",
" [0.7185134 0.65543866 0.42532766]\n",
" [0.714741 0.5282404 0.43389618]\n",
" [0.76711285 0.7651429 0.5507663 ]\n",
" [0.7317023 0.4886708 0.5190551 ]\n",
" [0.9064278 0.882941 0.06521195]\n",
" [0.88184804 0.39697108 0.17961049]\n",
" [0.8539972 0.936636 0.0073939 ]\n",
" [0.83033526 0.2757661 0.04650402]\n",
" [0.72186947 0.8313681 0.02526122]\n",
" [0.8272692 0.48448834 0.01881263]\n",
" [0.8618218 0.65268517 0.04234383]\n",
" [0.8489217 0.12577847 0.06905749]\n",
" [0.7706121 0.7004441 0.05012417]\n",
" [0.84800875 0.15908785 0.03268138]\n",
" [0.8542504 0.3138783 0.01331121]\n",
" [0.78800035 0.04508083 0.01496696]]]]\n",
"[[[[0.7762724 0.5637889 0.53664696]\n",
" [0.71907854 0.64673716 0.39160877]\n",
" [0.71982783 0.52247405 0.39762124]\n",
" [0.7630677 0.7591807 0.63723505]\n",
" [0.741332 0.4878567 0.58455616]\n",
" [0.9284987 0.8783965 0.04510456]\n",
" [0.8939428 0.4550742 0.15126485]\n",
" [0.8863632 0.9377364 0.00719142]\n",
" [0.77472425 0.49115583 0.0386959 ]\n",
" [0.741186 0.8124692 0.03053534]\n",
" [0.82454515 0.48579478 0.02137452]\n",
" [0.8389318 0.63184917 0.03067815]\n",
" [0.68935597 0.36821526 0.01587147]\n",
" [0.77148306 0.69767165 0.03891298]\n",
" [0.8493599 0.15078339 0.02869645]\n",
" [0.78627515 0.27981794 0.00726897]\n",
" [0.77968043 0.02933883 0.0086562 ]]]]\n",
"[[[[7.8102082e-01 5.5038869e-01 6.2742060e-01]\n",
" [7.1840215e-01 6.3198328e-01 4.6241024e-01]\n",
" [7.1907997e-01 5.0819510e-01 5.6389230e-01]\n",
" [7.6015943e-01 7.4994582e-01 5.0743753e-01]\n",
" [7.3556989e-01 4.8248130e-01 4.6361378e-01]\n",
" [9.0756822e-01 8.7831700e-01 5.8653980e-02]\n",
" [9.0342802e-01 4.0152341e-01 1.1071187e-01]\n",
" [9.6840537e-01 9.5997715e-01 2.3704857e-02]\n",
" [7.7711010e-01 4.8533246e-01 4.9193054e-02]\n",
" [7.6245803e-01 7.8301591e-01 2.1536350e-02]\n",
" [8.2797468e-01 4.9282986e-01 3.2599628e-02]\n",
" [8.0035627e-01 6.7152178e-01 1.8400550e-02]\n",
" [6.9070768e-01 3.9814898e-01 1.8114090e-02]\n",
" [7.9779851e-01 6.4259082e-01 2.0022124e-02]\n",
" [8.4415913e-01 1.6158922e-01 2.4224490e-02]\n",
" [8.2371825e-01 2.6013637e-01 8.0698133e-03]\n",
" [8.2104301e-01 8.5276365e-04 5.3675473e-03]]]]\n",
"[[[[0.77590656 0.54394305 0.5674689 ]\n",
" [0.7226605 0.612228 0.4809562 ]\n",
" [0.7234461 0.5052027 0.51194495]\n",
" [0.7623212 0.72336125 0.48430628]\n",
" [0.73606944 0.48225474 0.46241355]\n",
" [0.88311017 0.79914296 0.13700509]\n",
" [0.8719186 0.4170897 0.2592985 ]\n",
" [0.87203354 0.8792368 0.0126543 ]\n",
" [0.78644556 0.47869882 0.04625863]\n",
" [0.8135392 0.77633405 0.05860072]\n",
" [0.61240304 0.30892614 0.23035869]\n",
" [0.82108355 0.65262437 0.04752946]\n",
" [0.7457561 0.4340361 0.04013741]\n",
" [0.7922532 0.6554245 0.04244339]\n",
" [0.8009185 0.27640373 0.00649589]\n",
" [0.79345465 0.30487692 0.00785962]\n",
" [0.6206129 0.29742575 0.04685038]]]]\n",
"[[[[0.77699924 0.52854604 0.5732588 ]\n",
" [0.72760975 0.60537463 0.3691579 ]\n",
" [0.72474444 0.49607146 0.592804 ]\n",
" [0.7671087 0.72144 0.47494143]\n",
" [0.73622555 0.47852528 0.33667693]\n",
" [0.8932867 0.78588355 0.09412453]\n",
" [0.8413812 0.4152078 0.27242345]\n",
" [0.8422607 0.8164222 0.02300701]\n",
" [0.62514776 0.33340275 0.2882731 ]\n",
" [0.7499935 0.75182796 0.03512225]\n",
" [0.6428234 0.31844637 0.24571967]\n",
" [0.80252635 0.63470733 0.03446946]\n",
" [0.72507113 0.40228102 0.05593401]\n",
" [0.7980317 0.616588 0.03340602]\n",
" [0.62910724 0.3364279 0.07356995]\n",
" [0.82258624 0.28041166 0.02031785]\n",
" [0.718616 0.02217123 0.03902742]]]]\n",
"[[[[0.7799368 0.520776 0.48530626]\n",
" [0.7309002 0.5963754 0.48791558]\n",
" [0.7252711 0.48525625 0.55424154]\n",
" [0.75759554 0.7210505 0.36554992]\n",
" [0.72409964 0.4632784 0.3699712 ]\n",
" [0.8777095 0.7909006 0.14713264]\n",
" [0.78953993 0.3822896 0.20989498]\n",
" [0.8485435 0.8102027 0.03283232]\n",
" [0.6381301 0.31808394 0.25215244]\n",
" [0.785838 0.76181406 0.05206212]\n",
" [0.6577897 0.32194233 0.20383644]\n",
" [0.74268794 0.6996863 0.07297105]\n",
" [0.7068571 0.38236272 0.09894127]\n",
" [0.7884135 0.5245371 0.05710956]\n",
" [0.63489354 0.34380186 0.10075805]\n",
" [0.68888795 0.3966671 0.04991692]\n",
" [0.68894 0.0226535 0.03551465]]]]\n",
"[[[[0.7790424 0.5010887 0.45211935]\n",
" [0.7305107 0.5784902 0.4770169 ]\n",
" [0.7215977 0.47187042 0.5741691 ]\n",
" [0.7463654 0.72943777 0.5188243 ]\n",
" [0.7136054 0.45595348 0.3130358 ]\n",
" [0.86065215 0.8221099 0.13080543]\n",
" [0.80416954 0.36801022 0.26421535]\n",
" [0.86504185 0.83572686 0.00888073]\n",
" [0.82327193 0.18725264 0.07461569]\n",
" [0.78501046 0.749326 0.0266729 ]\n",
" [0.6684475 0.3228618 0.31930605]\n",
" [0.66048205 0.6828952 0.0421809 ]\n",
" [0.7353982 0.3561738 0.05093333]\n",
" [0.823239 0.5665941 0.0195784 ]\n",
" [0.8427636 0.17173384 0.01707003]\n",
" [0.8245245 0.18264738 0.01957324]\n",
" [0.70993537 0.01824834 0.02967259]]]]\n",
"[[[[0.7708584 0.5027436 0.52374166]\n",
" [0.7249858 0.5777546 0.45926908]\n",
" [0.71830916 0.4723812 0.63419944]\n",
" [0.7529042 0.72337437 0.39176932]\n",
" [0.71254414 0.45057237 0.3749107 ]\n",
" [0.8577656 0.8038189 0.17580727]\n",
" [0.777617 0.3542838 0.27157968]\n",
" [0.85139084 0.7969562 0.04436487]\n",
" [0.8112444 0.18111037 0.09210649]\n",
" [0.8201699 0.7659899 0.05973971]\n",
" [0.6713485 0.3224713 0.24619386]\n",
" [0.8013243 0.6259339 0.02756384]\n",
" [0.730201 0.3692013 0.0847033 ]\n",
" [0.80974793 0.5723386 0.05688861]\n",
" [0.7962267 0.19647145 0.01457116]\n",
" [0.675246 0.35567433 0.05059743]\n",
" [0.72164285 0.02844046 0.01056162]]]]\n",
"[[[[0.7744119 0.48327777 0.51800853]\n",
" [0.7258622 0.5580203 0.44693503]\n",
" [0.7260327 0.45701474 0.43577218]\n",
" [0.7695267 0.7170845 0.50835603]\n",
" [0.72692966 0.45029828 0.29198924]\n",
" [0.87559175 0.7989664 0.10489792]\n",
" [0.829352 0.3833487 0.3663897 ]\n",
" [0.8521378 0.7928915 0.04555216]\n",
" [0.65896934 0.31362027 0.21087933]\n",
" [0.8209202 0.7587234 0.0690237 ]\n",
" [0.6708743 0.32924855 0.20467287]\n",
" [0.8683917 0.6057423 0.01529822]\n",
" [0.8103346 0.3622515 0.05557474]\n",
" [0.81192136 0.51063377 0.0539096 ]\n",
" [0.83437717 0.16487226 0.02705401]\n",
" [0.75562614 0.04826161 0.01379803]\n",
" [0.7066488 0.01817477 0.04151541]]]]\n",
"[[[[0.7727647 0.4752375 0.53804517]\n",
" [0.7200916 0.5447191 0.4666954 ]\n",
" [0.7220577 0.45963687 0.5433058 ]\n",
" [0.7667129 0.7171971 0.48664564]\n",
" [0.7241878 0.47432908 0.2355426 ]\n",
" [0.8855332 0.7861928 0.1194112 ]\n",
" [0.86483395 0.4071399 0.33667767]\n",
" [0.8451406 0.799785 0.02861196]\n",
" [0.6959902 0.03507941 0.17509633]\n",
" [0.8047451 0.75238264 0.04440039]\n",
" [0.64123386 0.3243164 0.27260777]\n",
" [0.6782739 0.7207792 0.03577751]\n",
" [0.8214884 0.34878713 0.0122852 ]\n",
" [0.8108961 0.45707732 0.02676746]\n",
" [0.70564574 0.03008116 0.05009115]\n",
" [0.69516724 0.01689647 0.04256704]\n",
" [0.6966907 0.02609253 0.05966026]]]]\n",
"[[[[0.76460695 0.44489437 0.59016895]\n",
" [0.7109852 0.51725036 0.4159863 ]\n",
" [0.7117397 0.44191238 0.56756955]\n",
" [0.7575392 0.71823525 0.50570583]\n",
" [0.718524 0.5207506 0.27959004]\n",
" [0.92380357 0.7852182 0.0587019 ]\n",
" [0.8918318 0.4231345 0.20492554]\n",
" [0.962432 0.81169146 0.01237598]\n",
" [0.69727343 0.0314117 0.21940565]\n",
" [0.8273033 0.7459523 0.06589925]\n",
" [0.63198924 0.3160734 0.3024021 ]\n",
" [1.0000788 0.6724328 0.01009262]\n",
" [0.8839042 0.1923022 0.03356898]\n",
" [0.98754466 0.339169 0.01005369]\n",
" [0.7046098 0.03805664 0.07643005]\n",
" [0.700331 0.02347043 0.01401034]\n",
" [0.6305613 0.31080535 0.04087836]]]]\n",
"[[[[0.77455413 0.4318601 0.54228985]\n",
" [0.71478355 0.49822173 0.43119103]\n",
" [0.71903825 0.42455107 0.6693121 ]\n",
" [0.7501079 0.70468843 0.39758396]\n",
" [0.72974294 0.47954902 0.18632951]\n",
" [0.9376322 0.7873987 0.03667542]\n",
" [0.9099468 0.40063792 0.1952441 ]\n",
" [0.94776267 0.7922067 0.00924978]\n",
" [0.7304358 0.41154358 0.07567596]\n",
" [0.84267354 0.71953124 0.05840877]\n",
" [0.8391782 0.45028663 0.04572576]\n",
" [0.9982864 0.6294228 0.00984764]\n",
" [0.8864393 0.19435203 0.02608883]\n",
" [0.848801 0.19073468 0.01741993]\n",
" [0.7068128 0.02967282 0.06959763]\n",
" [0.69926524 0.01019385 0.01703939]\n",
" [0.69926524 0.01027587 0.0222753 ]]]]\n",
"[[[[0.7640722 0.4331672 0.6271343 ]\n",
" [0.7064786 0.49735105 0.3081984 ]\n",
" [0.7177617 0.4238304 0.59911317]\n",
" [0.7575867 0.6874434 0.37783834]\n",
" [0.7274754 0.47226688 0.2448569 ]\n",
" [0.907133 0.76223797 0.04225373]\n",
" [0.8869362 0.4058813 0.31067842]\n",
" [0.68513083 0.74136853 0.03270128]\n",
" [0.7275038 0.4003838 0.08762354]\n",
" [0.78403366 0.7274153 0.05642506]\n",
" [0.8453618 0.4426266 0.03716266]\n",
" [0.9072422 0.63311934 0.01100025]\n",
" [0.86790645 0.37976784 0.00902301]\n",
" [0.7219626 0.04431248 0.03868836]\n",
" [0.72533965 0.03575478 0.06894228]\n",
" [0.56108844 0.30399477 0.02737972]\n",
" [0.5645411 0.2849872 0.11455765]]]]\n",
"[[[[0.74794257 0.43637186 0.42194313]\n",
" [0.7002655 0.5028752 0.41796097]\n",
" [0.70979357 0.4299689 0.41447368]\n",
" [0.7623943 0.67516077 0.4468929 ]\n",
" [0.734854 0.43665886 0.2786918 ]\n",
" [0.9137024 0.73074096 0.03457573]\n",
" [0.8635816 0.34447965 0.35481948]\n",
" [0.6822373 0.7298757 0.08804375]\n",
" [0.8207563 0.20390004 0.24705458]\n",
" [0.76913214 0.728101 0.07368761]\n",
" [0.5619056 0.25283217 0.37859142]\n",
" [0.73894495 0.6714458 0.03079084]\n",
" [0.71984494 0.40830112 0.04019415]\n",
" [0.72259235 0.45188814 0.03680557]\n",
" [0.8384759 0.20086741 0.03430548]\n",
" [0.5567266 0.27335688 0.03437394]\n",
" [0.5628952 0.2515685 0.15619415]]]]\n",
"[[[[0.7565755 0.4486246 0.49177969]\n",
" [0.7155633 0.5234673 0.3454054 ]\n",
" [0.72304726 0.43142188 0.4762474 ]\n",
" [0.7699594 0.66400796 0.3467222 ]\n",
" [0.74389756 0.41370445 0.41959697]\n",
" [0.87628114 0.7101321 0.11247119]\n",
" [0.8460953 0.3441752 0.40050796]\n",
" [0.7758355 0.72829914 0.09217703]\n",
" [0.83067286 0.20632593 0.33291888]\n",
" [0.7823527 0.71184254 0.12727222]\n",
" [0.5663022 0.2402266 0.3360097 ]\n",
" [0.7992806 0.63735914 0.062543 ]\n",
" [0.7463095 0.41973993 0.12136522]\n",
" [0.7618367 0.53188396 0.11625984]\n",
" [0.8528522 0.27860677 0.05076903]\n",
" [0.759509 0.4240583 0.03900692]\n",
" [0.57182 0.23414344 0.13000199]]]]\n",
"[[[[0.76363295 0.48195684 0.42179364]\n",
" [0.7314319 0.5626757 0.25879118]\n",
" [0.72733015 0.44835076 0.4340974 ]\n",
" [0.76849866 0.67149657 0.30637178]\n",
" [0.75252146 0.40864572 0.46590626]\n",
" [0.87066764 0.6824229 0.1072503 ]\n",
" [0.8449547 0.3411963 0.3703912 ]\n",
" [0.82960427 0.7132324 0.0466471 ]\n",
" [0.84061784 0.20145962 0.2797718 ]\n",
" [0.8113959 0.702306 0.07390243]\n",
" [0.59345585 0.20917156 0.2271617 ]\n",
" [0.7839253 0.6100868 0.0409945 ]\n",
" [0.77056587 0.41133392 0.07466978]\n",
" [0.756683 0.54931855 0.06239119]\n",
" [0.7807655 0.37574518 0.05420026]\n",
" [0.7382587 0.48362398 0.03990644]\n",
" [0.5941374 0.19838999 0.15143028]]]]\n",
"[[[[0.76214355 0.431794 0.3680842 ]\n",
" [0.7260587 0.52818894 0.3716961 ]\n",
" [0.72641224 0.41901964 0.4421377 ]\n",
" [0.7674222 0.66193247 0.2754797 ]\n",
" [0.7368107 0.41400808 0.31274092]\n",
" [0.8775923 0.7020333 0.08086273]\n",
" [0.8276991 0.3396259 0.4421761 ]\n",
" [0.83156097 0.7191366 0.02100283]\n",
" [0.8431887 0.20505457 0.40512764]\n",
" [0.8067075 0.64506084 0.05677742]\n",
" [0.5970363 0.19354713 0.21077749]\n",
" [0.8170675 0.61597717 0.064257 ]\n",
" [0.7769717 0.39492306 0.0947535 ]\n",
" [0.7687174 0.46790314 0.07728329]\n",
" [0.8466575 0.25300202 0.01529983]\n",
" [0.81715435 0.6537407 0.09600317]\n",
" [0.58563995 0.19612297 0.11306542]]]]\n",
"[[[[0.781886 0.44971043 0.2685266 ]\n",
" [0.7394252 0.5039253 0.3132639 ]\n",
" [0.742342 0.42608935 0.4225821 ]\n",
" [0.7550017 0.5845418 0.10248545]\n",
" [0.7469245 0.4196868 0.25459427]\n",
" [0.84266555 0.59562165 0.12146109]\n",
" [0.80316687 0.41898435 0.18866071]\n",
" [0.8446676 0.6086459 0.03789669]\n",
" [0.777431 0.4482064 0.05403897]\n",
" [0.773179 0.607558 0.04986039]\n",
" [0.777651 0.4039452 0.1273208 ]\n",
" [0.7460381 0.5611495 0.05152142]\n",
" [0.72120595 0.44574878 0.0697065 ]\n",
" [0.76186943 0.48776743 0.05579966]\n",
" [0.8493599 0.32260865 0.01971975]\n",
" [0.781273 0.41327712 0.06521457]\n",
" [0.61681414 0.14915994 0.09812921]]]]\n",
"[[[[0.7621676 0.46370327 0.22874612]\n",
" [0.7339113 0.5731962 0.4038288 ]\n",
" [0.7300968 0.4230638 0.44830847]\n",
" [0.7549163 0.64242417 0.22876298]\n",
" [0.728399 0.42620322 0.29416728]\n",
" [0.86911714 0.66719747 0.13018936]\n",
" [0.83922803 0.3971328 0.25013113]\n",
" [0.6946721 0.71642196 0.12968403]\n",
" [0.82373977 0.41129956 0.05287871]\n",
" [0.7968439 0.67931235 0.0634459 ]\n",
" [0.8049557 0.47532484 0.07193503]\n",
" [0.87605333 0.6039883 0.04472888]\n",
" [0.84354913 0.44022286 0.06581026]\n",
" [0.7581272 0.58821094 0.03378245]\n",
" [0.855556 0.30135578 0.05656019]\n",
" [0.8183562 0.40735924 0.03696746]\n",
" [0.8532986 0.24314243 0.03500122]]]]\n",
"[[[[0.7671949 0.58988845 0.38347924]\n",
" [0.7464118 0.61666 0.30584407]\n",
" [0.7458002 0.55476665 0.37304986]\n",
" [0.74688196 0.65042603 0.34116203]\n",
" [0.7466694 0.48522568 0.25392008]\n",
" [0.75062776 0.6862559 0.24447894]\n",
" [0.79983485 0.44191083 0.2785905 ]\n",
" [0.7859363 0.7308736 0.11629605]\n",
" [0.814943 0.4023759 0.2984181 ]\n",
" [0.82393193 0.6767883 0.12550065]\n",
" [0.8360994 0.43051457 0.16446719]\n",
" [0.7271949 0.6537527 0.11495668]\n",
" [0.74953294 0.4956517 0.08738667]\n",
" [0.7913945 0.6971632 0.09008765]\n",
" [0.78831697 0.4367295 0.06743845]\n",
" [0.75135505 0.7016487 0.14912894]\n",
" [0.75739115 0.5115696 0.08491433]]]]\n",
"[[[[0.75756824 0.5698364 0.31096673]\n",
" [0.74301946 0.5924553 0.27497292]\n",
" [0.7421968 0.5327917 0.33672523]\n",
" [0.74694335 0.6169443 0.247738 ]\n",
" [0.7472069 0.46294278 0.23619673]\n",
" [0.7832452 0.6437605 0.16188377]\n",
" [0.800348 0.45110905 0.15717342]\n",
" [0.7241628 0.7449658 0.26027814]\n",
" [0.81439483 0.3903728 0.17025864]\n",
" [0.7540304 0.67125857 0.0970524 ]\n",
" [0.7710326 0.46743235 0.0860377 ]\n",
" [0.79265565 0.6234056 0.09937748]\n",
" [0.79701364 0.50550103 0.09984076]\n",
" [0.8146608 0.6418382 0.04716361]\n",
" [0.78832865 0.45080742 0.04014117]\n",
" [0.7970173 0.6284652 0.07604948]\n",
" [0.7788644 0.49052608 0.05617052]]]]\n",
"[[[[0.80894625 0.54733735 0.26849127]\n",
" [0.77968144 0.57293767 0.30718192]\n",
" [0.7959894 0.5076071 0.31057215]\n",
" [0.75969076 0.6142453 0.24323693]\n",
" [0.76898146 0.46182418 0.19989601]\n",
" [0.7310583 0.6696756 0.22871795]\n",
" [0.77021474 0.41154015 0.19190988]\n",
" [0.7217128 0.74194163 0.27157116]\n",
" [0.8229989 0.39031744 0.2340711 ]\n",
" [0.83010954 0.69702494 0.10551709]\n",
" [0.8483245 0.43726027 0.10819197]\n",
" [0.70804894 0.6434923 0.2089664 ]\n",
" [0.7006406 0.47417828 0.14766335]\n",
" [0.717081 0.73363566 0.27188534]\n",
" [0.802209 0.47646484 0.04352635]\n",
" [0.79018897 0.72014976 0.15044135]\n",
" [0.8207376 0.5078734 0.06496212]]]]\n",
"[[[[0.78908753 0.57018656 0.22159025]\n",
" [0.7710189 0.5908757 0.3048209 ]\n",
" [0.7719896 0.5463278 0.2866087 ]\n",
" [0.7410172 0.6123562 0.23727089]\n",
" [0.7625464 0.48887622 0.23221764]\n",
" [0.72530574 0.6532324 0.27210426]\n",
" [0.7688215 0.4342878 0.22557786]\n",
" [0.735908 0.73448694 0.2474572 ]\n",
" [0.817708 0.39684105 0.20483238]\n",
" [0.85235894 0.682532 0.12910339]\n",
" [0.85063255 0.45954785 0.0788185 ]\n",
" [0.7513816 0.6082458 0.18717155]\n",
" [0.75438845 0.48380563 0.16897142]\n",
" [0.7336406 0.7323525 0.2245565 ]\n",
" [0.79452336 0.48066628 0.07471406]\n",
" [0.82861483 0.69948673 0.09624356]\n",
" [0.8147451 0.51726234 0.0719915 ]]]]\n",
"[[[[0.76133835 0.54316175 0.30957764]\n",
" [0.7432611 0.5626973 0.3366865 ]\n",
" [0.74629736 0.5136689 0.44381112]\n",
" [0.75184655 0.5908944 0.2806378 ]\n",
" [0.7603411 0.4658527 0.27835387]\n",
" [0.7960955 0.6320169 0.24347031]\n",
" [0.8254565 0.42530784 0.27765483]\n",
" [0.7486088 0.71426266 0.26142156]\n",
" [0.79011464 0.4250736 0.07585621]\n",
" [0.74816465 0.66876864 0.13379169]\n",
" [0.7544416 0.48478574 0.11134174]\n",
" [0.80507624 0.60926235 0.09042612]\n",
" [0.8022749 0.50113666 0.10226297]\n",
" [0.7422399 0.70673674 0.13937205]\n",
" [0.758762 0.44502205 0.12474993]\n",
" [0.8229193 0.70673275 0.07479715]\n",
" [0.80243814 0.533473 0.04079366]]]]\n",
"[[[[0.7984616 0.5525228 0.16918781]\n",
" [0.78802985 0.57676256 0.22390756]\n",
" [0.7846997 0.52644694 0.2343958 ]\n",
" [0.76375645 0.6157901 0.13424239]\n",
" [0.7638003 0.47807306 0.1609723 ]\n",
" [0.727041 0.6441 0.17132407]\n",
" [0.7547848 0.41900796 0.23719114]\n",
" [0.75154006 0.7084393 0.2163069 ]\n",
" [0.84118164 0.38325208 0.1401684 ]\n",
" [0.8189721 0.6913504 0.11379424]\n",
" [0.83743757 0.38225067 0.10047296]\n",
" [0.7446302 0.5846853 0.18750998]\n",
" [0.7454926 0.44685763 0.28501713]\n",
" [0.7746624 0.68784654 0.15139243]\n",
" [0.77562916 0.45155096 0.18769428]\n",
" [0.81541455 0.694684 0.10736781]\n",
" [0.83305144 0.37953302 0.15608811]]]]\n",
"[[[[0.7984616 0.5525228 0.16918781]\n",
" [0.78802985 0.57676256 0.22390756]\n",
" [0.7846997 0.52644694 0.2343958 ]\n",
" [0.76375645 0.6157901 0.13424239]\n",
" [0.7638003 0.47807306 0.1609723 ]\n",
" [0.727041 0.6441 0.17132407]\n",
" [0.7547848 0.41900796 0.23719114]\n",
" [0.75154006 0.7084393 0.2163069 ]\n",
" [0.84118164 0.38325208 0.1401684 ]\n",
" [0.8189721 0.6913504 0.11379424]\n",
" [0.83743757 0.38225067 0.10047296]\n",
" [0.7446302 0.5846853 0.18750998]\n",
" [0.7454926 0.44685763 0.28501713]\n",
" [0.7746624 0.68784654 0.15139243]\n",
" [0.77562916 0.45155096 0.18769428]\n",
" [0.81541455 0.694684 0.10736781]\n",
" [0.83305144 0.37953302 0.15608811]]]]\n",
"[[[[0.7672925 0.5261167 0.28242052]\n",
" [0.75601876 0.5336282 0.34628782]\n",
" [0.7527248 0.50812095 0.2756328 ]\n",
" [0.7549605 0.5702915 0.26589304]\n",
" [0.7556371 0.4904183 0.25416625]\n",
" [0.8007835 0.618788 0.19364357]\n",
" [0.8025002 0.48465273 0.199758 ]\n",
" [0.7571194 0.6936356 0.12121141]\n",
" [0.77802277 0.47180128 0.09681919]\n",
" [0.7767308 0.67931855 0.06700408]\n",
" [0.7662129 0.49807358 0.13327643]\n",
" [0.86439174 0.60012263 0.11726633]\n",
" [0.8610067 0.5297006 0.15170285]\n",
" [0.8506658 0.58018565 0.06354716]\n",
" [0.82495606 0.37877735 0.12243327]\n",
" [0.8406123 0.56738836 0.05753475]\n",
" [0.84806216 0.3622218 0.10732055]]]]\n",
"[[[[0.7932126 0.53097975 0.3668025 ]\n",
" [0.77482283 0.54574037 0.3577507 ]\n",
" [0.7763363 0.5093138 0.35639745]\n",
" [0.7662618 0.58643687 0.3540405 ]\n",
" [0.7733079 0.48368046 0.22100243]\n",
" [0.7907364 0.6293207 0.21685138]\n",
" [0.8165876 0.4839345 0.22090986]\n",
" [0.7588966 0.69964135 0.2019049 ]\n",
" [0.8221556 0.47065708 0.08801067]\n",
" [0.76110244 0.70230114 0.13489726]\n",
" [0.7865882 0.47764492 0.11743939]\n",
" [0.79919 0.6166565 0.08831266]\n",
" [0.79911375 0.5078567 0.12032181]\n",
" [0.84668916 0.5553598 0.05008999]\n",
" [0.8198321 0.3990905 0.08755171]\n",
" [0.76036 0.71295375 0.10862619]\n",
" [0.76481503 0.4179457 0.10949823]]]]\n",
"[[[[0.8062324 0.5256725 0.31950134]\n",
" [0.7892785 0.5300495 0.35965824]\n",
" [0.78879917 0.51832306 0.26473325]\n",
" [0.7766411 0.557066 0.28754628]\n",
" [0.7800033 0.5261364 0.26226586]\n",
" [0.8026248 0.6032462 0.2096909 ]\n",
" [0.82199705 0.5714336 0.23567623]\n",
" [0.769274 0.7080679 0.2619747 ]\n",
" [0.8236716 0.56129533 0.07244092]\n",
" [0.81550735 0.5575416 0.08850038]\n",
" [0.8154103 0.5194564 0.10374159]\n",
" [0.8543577 0.61483234 0.06966642]\n",
" [0.8530277 0.611709 0.05249655]\n",
" [0.7688396 0.71476614 0.07837185]\n",
" [0.82566416 0.4033922 0.05939111]\n",
" [0.77462745 0.71904206 0.05605903]\n",
" [0.8448135 0.3911917 0.03984633]]]]\n",
"[[[[0.80097616 0.5149057 0.33350223]\n",
" [0.78819895 0.5196163 0.34311292]\n",
" [0.7889979 0.52304435 0.23852485]\n",
" [0.7818248 0.5316495 0.31217384]\n",
" [0.7848438 0.5444945 0.24178281]\n",
" [0.8301205 0.5407747 0.25831544]\n",
" [0.83393776 0.58765405 0.25000185]\n",
" [0.86291575 0.53158826 0.09887534]\n",
" [0.862754 0.6062379 0.12201986]\n",
" [0.8447554 0.5130582 0.09109807]\n",
" [0.83207095 0.55235183 0.11801863]\n",
" [0.90451163 0.5841603 0.05070409]\n",
" [0.89832675 0.59714806 0.02873099]\n",
" [0.78476113 0.7149653 0.13861102]\n",
" [0.8371055 0.4025378 0.07465369]\n",
" [1.0050311 0.47581387 0.01435894]\n",
" [0.8525881 0.3800543 0.04409385]]]]\n",
"[[[[0.7860083 0.51813424 0.3280307 ]\n",
" [0.77604693 0.52264583 0.42765605]\n",
" [0.77637005 0.51159227 0.32244343]\n",
" [0.78013074 0.5443634 0.4116524 ]\n",
" [0.78134364 0.5082768 0.29914558]\n",
" [0.82553196 0.5666163 0.2726015 ]\n",
" [0.8231446 0.50332916 0.30612895]\n",
" [0.8584869 0.603305 0.15678298]\n",
" [0.8415997 0.5022386 0.1779831 ]\n",
" [0.84198534 0.55535954 0.12724838]\n",
" [0.8345547 0.5105295 0.16284269]\n",
" [0.8825092 0.55303127 0.13614896]\n",
" [0.8792455 0.5220404 0.16361213]\n",
" [0.85480714 0.5383073 0.13194776]\n",
" [0.85223645 0.5210688 0.12583348]\n",
" [0.8583106 0.54844105 0.0784874 ]\n",
" [0.8573143 0.5300959 0.07347 ]]]]\n",
"[[[[0.79818815 0.5004858 0.33693045]\n",
" [0.7825241 0.5112016 0.31895632]\n",
" [0.7846903 0.48726434 0.30058223]\n",
" [0.78668875 0.5471262 0.3913656 ]\n",
" [0.7866359 0.46357855 0.2129969 ]\n",
" [0.842029 0.56809264 0.19308352]\n",
" [0.84413856 0.45613736 0.20668557]\n",
" [0.86838436 0.5740836 0.10950032]\n",
" [0.8664218 0.45758817 0.11911345]\n",
" [0.8534865 0.5402635 0.08656612]\n",
" [0.8566774 0.47991413 0.16931841]\n",
" [0.909841 0.5431167 0.07175171]\n",
" [0.90646285 0.47857925 0.09787324]\n",
" [0.86914885 0.52296156 0.06209704]\n",
" [0.8407227 0.39937717 0.08363292]\n",
" [0.8544874 0.5085566 0.04909736]\n",
" [0.84936327 0.3985663 0.04758716]]]]\n",
"[[[[0.8286619 0.5157033 0.2658304 ]\n",
" [0.8160763 0.5246623 0.2296626 ]\n",
" [0.81825036 0.5132966 0.21494204]\n",
" [0.8163146 0.5437702 0.25487673]\n",
" [0.8206247 0.51604015 0.17796806]\n",
" [0.8566588 0.5725334 0.19581112]\n",
" [0.8599152 0.5292168 0.20742485]\n",
" [0.88836235 0.57621104 0.07062033]\n",
" [0.88685316 0.5349937 0.11317006]\n",
" [0.86695814 0.54238605 0.0702731 ]\n",
" [0.86040014 0.5084529 0.13584748]\n",
" [0.9215345 0.5973635 0.04274744]\n",
" [0.92254555 0.5516655 0.04888672]\n",
" [0.8073269 0.73008794 0.133591 ]\n",
" [0.8637924 0.39323843 0.08405837]\n",
" [0.8641793 0.39294893 0.06202444]\n",
" [0.8632684 0.3926508 0.05796289]]]]\n",
"[[[[0.83520865 0.486392 0.21366811]\n",
" [0.82170296 0.5101218 0.19952711]\n",
" [0.8210666 0.48768502 0.19456887]\n",
" [0.82691514 0.5454804 0.20124546]\n",
" [0.8244158 0.49570835 0.1737892 ]\n",
" [0.8706281 0.55355144 0.13560459]\n",
" [0.8697712 0.508849 0.14753023]\n",
" [0.88279957 0.5527232 0.05922496]\n",
" [0.88385004 0.5156967 0.06180435]\n",
" [0.86041063 0.5225477 0.06692415]\n",
" [0.8627314 0.48866576 0.07629341]\n",
" [0.91433215 0.54926383 0.04205528]\n",
" [0.93186563 0.50775707 0.03629416]\n",
" [0.7907576 0.7389721 0.11356872]\n",
" [0.8550152 0.3975583 0.0532096 ]\n",
" [0.99673903 0.47735783 0.01128092]\n",
" [0.8576531 0.42327476 0.04276404]]]]\n",
"[[[[0.81013703 0.51836395 0.20843804]\n",
" [0.7918966 0.53768146 0.21190023]\n",
" [0.80219615 0.513316 0.19052488]\n",
" [0.8011209 0.57287216 0.21776587]\n",
" [0.80811757 0.5146384 0.13736463]\n",
" [0.8405334 0.59595186 0.17587435]\n",
" [0.848613 0.5077742 0.14902431]\n",
" [0.85561705 0.6123121 0.07951128]\n",
" [0.8592136 0.4257239 0.10087183]\n",
" [0.84650207 0.57483935 0.08646342]\n",
" [0.854143 0.47219786 0.09896925]\n",
" [0.90428936 0.5841868 0.07415295]\n",
" [0.9064733 0.5224309 0.08605951]\n",
" [0.7742841 0.74209154 0.16162789]\n",
" [0.7739443 0.7330903 0.16687265]\n",
" [0.86138046 0.5600315 0.05282 ]\n",
" [0.8563034 0.44970858 0.0383845 ]]]]\n",
"[[[[0.79447436 0.52822804 0.25556576]\n",
" [0.78079504 0.53858155 0.3427357 ]\n",
" [0.78590286 0.51447916 0.19863936]\n",
" [0.7904997 0.57494074 0.21233141]\n",
" [0.79143107 0.51889455 0.16635478]\n",
" [0.84655905 0.599092 0.24192151]\n",
" [0.83997434 0.51452863 0.2084381 ]\n",
" [0.8726105 0.5915072 0.10425273]\n",
" [0.8549471 0.51768404 0.09849516]\n",
" [0.8574864 0.5712755 0.13486671]\n",
" [0.85059726 0.48189244 0.1301949 ]\n",
" [0.9078235 0.594118 0.08032483]\n",
" [0.9046469 0.5281553 0.10679373]\n",
" [0.7632975 0.7431671 0.2291719 ]\n",
" [0.7623427 0.73639536 0.23880646]\n",
" [0.9905853 0.5213815 0.0213508 ]\n",
" [0.8547709 0.42543432 0.06448603]]]]\n",
"[[[[0.7899458 0.52729803 0.3117947 ]\n",
" [0.7815708 0.53785145 0.31261528]\n",
" [0.78153634 0.5239332 0.2792351 ]\n",
" [0.7855046 0.5688783 0.3991542 ]\n",
" [0.7833669 0.52044547 0.23110414]\n",
" [0.82712257 0.59006 0.31545115]\n",
" [0.8214166 0.5261702 0.31629518]\n",
" [0.8526401 0.5902849 0.19714269]\n",
" [0.84758484 0.51668453 0.1751621 ]\n",
" [0.8430444 0.5725484 0.18106899]\n",
" [0.84422994 0.52152514 0.17769697]\n",
" [0.88781303 0.57357514 0.20972425]\n",
" [0.88639927 0.52196294 0.21049571]\n",
" [0.8711011 0.5623111 0.13014227]\n",
" [0.8537359 0.4261881 0.10546878]\n",
" [0.8623497 0.5329238 0.09826082]\n",
" [0.85915273 0.46325815 0.06223854]]]]\n",
"[[[[0.7959401 0.5423884 0.31984603]\n",
" [0.7851747 0.5450109 0.32337695]\n",
" [0.7868012 0.53926647 0.33501592]\n",
" [0.7856872 0.56385195 0.36238086]\n",
" [0.78755283 0.54309297 0.2835406 ]\n",
" [0.83302706 0.5918093 0.2526496 ]\n",
" [0.823213 0.55421346 0.2869861 ]\n",
" [0.8586332 0.5869985 0.15190783]\n",
" [0.8455081 0.5563213 0.17391416]\n",
" [0.8529004 0.56354785 0.15562522]\n",
" [0.84167576 0.54514384 0.1506828 ]\n",
" [0.8741605 0.60130227 0.09186229]\n",
" [0.87147397 0.5773344 0.15420288]\n",
" [0.85143703 0.56215435 0.10306251]\n",
" [0.84934175 0.5549012 0.10699856]\n",
" [0.85420036 0.5691092 0.08704466]\n",
" [0.8518944 0.55961394 0.08013821]]]]\n",
"[[[[0.7880396 0.55725324 0.29774046]\n",
" [0.77686703 0.5579761 0.3272862 ]\n",
" [0.77660555 0.5482569 0.3255621 ]\n",
" [0.7806515 0.5662253 0.37016693]\n",
" [0.78092873 0.5393263 0.36933395]\n",
" [0.82692313 0.5887415 0.34210318]\n",
" [0.82269144 0.5447901 0.33397657]\n",
" [0.85004914 0.6028241 0.16207063]\n",
" [0.84064645 0.5528498 0.19574353]\n",
" [0.8564443 0.6037116 0.13688943]\n",
" [0.8421521 0.5567849 0.20720291]\n",
" [0.8598711 0.59299695 0.19668087]\n",
" [0.85741687 0.5665689 0.23224625]\n",
" [0.8466073 0.5762514 0.15317756]\n",
" [0.84640217 0.5556127 0.14400324]\n",
" [0.858269 0.57057536 0.1190379 ]\n",
" [0.85871375 0.55204225 0.11009631]]]]\n",
"[[[[0.79950905 0.55867565 0.27832597]\n",
" [0.7818606 0.55991995 0.32517275]\n",
" [0.7810241 0.543665 0.30325913]\n",
" [0.7805283 0.5720909 0.26161864]\n",
" [0.7852191 0.5234108 0.22427934]\n",
" [0.8307512 0.59916043 0.19095415]\n",
" [0.83875847 0.54863054 0.2181836 ]\n",
" [0.7717516 0.6536155 0.12200049]\n",
" [0.79966277 0.5817658 0.1149489 ]\n",
" [0.7831501 0.6407782 0.08120152]\n",
" [0.8146178 0.56887025 0.14035681]\n",
" [0.8508781 0.6286378 0.08343944]\n",
" [0.8478707 0.5741421 0.1040242 ]\n",
" [0.8457558 0.6207505 0.0523605 ]\n",
" [0.8252153 0.5020939 0.08927095]\n",
" [0.85665965 0.6147846 0.07697445]\n",
" [0.84626746 0.5540719 0.08185753]]]]\n",
"[[[[0.80512035 0.5757197 0.27830064]\n",
" [0.78944755 0.5923182 0.30040073]\n",
" [0.78572774 0.55318403 0.37882963]\n",
" [0.79041636 0.61269 0.24952033]\n",
" [0.78813434 0.48607427 0.21469316]\n",
" [0.8186127 0.6328059 0.14559874]\n",
" [0.8305681 0.44987655 0.18004498]\n",
" [0.7688774 0.75873756 0.24276 ]\n",
" [0.7932186 0.4537863 0.06058198]\n",
" [0.7749509 0.75895107 0.07725152]\n",
" [0.78699535 0.53381586 0.08482137]\n",
" [0.79032636 0.57416564 0.05947271]\n",
" [0.7819979 0.4411157 0.13202482]\n",
" [0.8271622 0.6466769 0.0359554 ]\n",
" [0.82413 0.46637297 0.16010463]\n",
" [0.82844466 0.6506194 0.05179888]\n",
" [0.8225366 0.5680051 0.09280017]]]]\n",
"[[[[0.8109555 0.5409974 0.3039332 ]\n",
" [0.7931446 0.59012866 0.35788643]\n",
" [0.77869165 0.46383834 0.30628932]\n",
" [0.8105109 0.61457485 0.32624257]\n",
" [0.82624817 0.39785838 0.29958862]\n",
" [0.8413996 0.66299844 0.2164599 ]\n",
" [0.88605154 0.3730501 0.13669387]\n",
" [0.7791297 0.7504207 0.31446254]\n",
" [0.85354966 0.34484383 0.08397916]\n",
" [0.7819178 0.7602947 0.14830565]\n",
" [0.83918154 0.376085 0.0838117 ]\n",
" [0.768813 0.6157632 0.08152395]\n",
" [0.78922486 0.4309357 0.09147188]\n",
" [0.80367655 0.69797194 0.10287368]\n",
" [0.8382677 0.39935672 0.24905282]\n",
" [0.79731697 0.66665375 0.1166454 ]\n",
" [0.7655949 0.4968675 0.07572654]]]]\n",
"[[[[0.8021902 0.47723037 0.34149945]\n",
" [0.77184963 0.525907 0.26662198]\n",
" [0.7860613 0.4245736 0.28173178]\n",
" [0.8048427 0.59958506 0.2733292 ]\n",
" [0.8256526 0.37700045 0.3877904 ]\n",
" [0.84253645 0.6648502 0.25546974]\n",
" [0.884771 0.3673609 0.29883933]\n",
" [0.7906646 0.7587614 0.32331783]\n",
" [0.8681185 0.3302264 0.12355316]\n",
" [0.7894752 0.76449096 0.15003458]\n",
" [0.8602873 0.3502969 0.13506523]\n",
" [0.8036618 0.659835 0.10687384]\n",
" [0.8000231 0.44045112 0.12449118]\n",
" [0.81682384 0.6994529 0.11478001]\n",
" [0.83402216 0.36922663 0.23759565]\n",
" [0.7998309 0.6499587 0.09745547]\n",
" [0.8116232 0.42879194 0.07543734]]]]\n",
"[[[[0.8179821 0.45948285 0.5109023 ]\n",
" [0.7686095 0.5148422 0.49242842]\n",
" [0.79275197 0.4161384 0.32852072]\n",
" [0.7972588 0.60975885 0.45118627]\n",
" [0.83578336 0.39517134 0.3804184 ]\n",
" [0.85683435 0.6978878 0.2571426 ]\n",
" [0.9220597 0.38898188 0.26699936]\n",
" [0.7816856 0.7662599 0.45653257]\n",
" [0.9733542 0.02183704 0.08110592]\n",
" [0.7688358 0.77017975 0.17952532]\n",
" [0.858247 0.4087934 0.02900571]\n",
" [0.84196514 0.7203571 0.07317823]\n",
" [0.7995016 0.5029545 0.0843778 ]\n",
" [0.78060436 0.7786354 0.12345263]\n",
" [0.8298266 0.36685222 0.05478838]\n",
" [0.83503795 0.39398754 0.05166614]\n",
" [0.84970915 0.4007306 0.1188553 ]]]]\n",
"[[[[0.8185377 0.47793874 0.4433303 ]\n",
" [0.7661997 0.5270885 0.49331146]\n",
" [0.78907466 0.43087873 0.38485163]\n",
" [0.7937376 0.61272585 0.43399256]\n",
" [0.82770526 0.40922353 0.4657224 ]\n",
" [0.86580575 0.69693255 0.23604873]\n",
" [0.94191235 0.3996993 0.13022953]\n",
" [0.79461616 0.76001966 0.24035987]\n",
" [0.95203114 0.0154308 0.08241555]\n",
" [0.79462427 0.6751449 0.10618547]\n",
" [0.8663077 0.4010734 0.03711188]\n",
" [0.8307669 0.7055218 0.04958567]\n",
" [0.8365263 0.4644254 0.13474405]\n",
" [0.7845328 0.76281965 0.13558301]\n",
" [0.81342715 0.38318413 0.03974336]\n",
" [0.8015954 0.45049664 0.02751109]\n",
" [0.8472825 0.42049748 0.11210176]]]]\n",
"[[[[0.8242921 0.4876885 0.60048693]\n",
" [0.76825273 0.54037875 0.43411607]\n",
" [0.791154 0.4405008 0.3232589 ]\n",
" [0.79656446 0.62843966 0.411213 ]\n",
" [0.82361454 0.41936773 0.39941415]\n",
" [0.8689734 0.70340866 0.23433056]\n",
" [0.9315946 0.41798216 0.13580826]\n",
" [0.80078435 0.76342404 0.27522075]\n",
" [0.81895584 0.39071378 0.03538111]\n",
" [0.7965242 0.69455546 0.13607052]\n",
" [0.85507387 0.4190447 0.03750336]\n",
" [0.8357195 0.7797643 0.05501699]\n",
" [0.8576658 0.46430242 0.1318303 ]\n",
" [0.78918743 0.7689011 0.10708037]\n",
" [0.81622636 0.3846869 0.03204349]\n",
" [0.8438895 0.4504807 0.05138087]\n",
" [0.8509153 0.4077683 0.08690572]]]]\n",
"[[[[0.8182838 0.5005827 0.49834323]\n",
" [0.7645601 0.5577186 0.54751486]\n",
" [0.78584903 0.4528123 0.4153954 ]\n",
" [0.798176 0.641682 0.385314 ]\n",
" [0.8194217 0.4271241 0.4551766 ]\n",
" [0.8683319 0.720191 0.23929659]\n",
" [0.92954683 0.41811535 0.12999645]\n",
" [0.80989647 0.7524881 0.16692564]\n",
" [0.95554537 0.3276168 0.01002583]\n",
" [0.8019203 0.70469415 0.10482049]\n",
" [0.8651072 0.4162304 0.03311843]\n",
" [0.80546635 0.70199597 0.0512583 ]\n",
" [0.8324765 0.44940826 0.12108752]\n",
" [0.7928895 0.7466189 0.14319125]\n",
" [0.8079963 0.39779615 0.03459862]\n",
" [0.836209 0.50123334 0.02365348]\n",
" [0.8405051 0.44578367 0.0704965 ]]]]\n",
"[[[[0.8218336 0.5124738 0.61590636]\n",
" [0.76963377 0.5735367 0.4799574 ]\n",
" [0.7835643 0.46678042 0.5009158 ]\n",
" [0.8015232 0.6562816 0.5195028 ]\n",
" [0.81600374 0.4331267 0.45696855]\n",
" [0.8592319 0.7421392 0.30666718]\n",
" [0.92248404 0.42448303 0.16504407]\n",
" [0.8042686 0.9431812 0.13852113]\n",
" [0.80585086 0.42718947 0.02560309]\n",
" [0.79055566 0.7520137 0.06949115]\n",
" [0.8628298 0.43874854 0.03169274]\n",
" [0.7850677 0.7023248 0.09461683]\n",
" [0.71457165 0.4218527 0.11135018]\n",
" [0.8120539 0.7444253 0.17066485]\n",
" [0.7920412 0.411015 0.0435448 ]\n",
" [0.79952085 0.50925314 0.02505207]\n",
" [0.834875 0.46913344 0.0988678 ]]]]\n",
"[[[[0.81712 0.5212922 0.5184851 ]\n",
" [0.77107143 0.5800297 0.35164607]\n",
" [0.7790638 0.47605976 0.5588532 ]\n",
" [0.81259656 0.6673933 0.46787018]\n",
" [0.8120837 0.4443024 0.39159533]\n",
" [0.88542366 0.73728216 0.22748998]\n",
" [0.92134166 0.4351356 0.161443 ]\n",
" [0.83804274 0.75561774 0.06651434]\n",
" [0.8110461 0.43673128 0.02018735]\n",
" [0.8034693 0.7417834 0.08329642]\n",
" [0.86286354 0.45499736 0.02396125]\n",
" [0.7821002 0.7081984 0.10374343]\n",
" [0.71130085 0.43960863 0.05356812]\n",
" [0.81307095 0.7036166 0.16222647]\n",
" [0.8106713 0.42388365 0.06420863]\n",
" [0.83190477 0.4962687 0.03561172]\n",
" [0.83154726 0.46422228 0.07762504]]]]\n",
"[[[[0.82339144 0.5229171 0.42164427]\n",
" [0.7776782 0.58617485 0.53405094]\n",
" [0.7815889 0.4833781 0.4375651 ]\n",
" [0.82827586 0.67271864 0.48151553]\n",
" [0.81034225 0.44961482 0.4253627 ]\n",
" [0.9263847 0.7031096 0.17746758]\n",
" [0.9139857 0.43962312 0.14278138]\n",
" [0.8353287 0.7440642 0.06811988]\n",
" [0.808 0.4368218 0.03351861]\n",
" [0.7984071 0.72527933 0.10557339]\n",
" [0.83711267 0.45433778 0.03560725]\n",
" [0.7869083 0.71359897 0.06630003]\n",
" [0.72690934 0.40665603 0.02950248]\n",
" [0.82044387 0.6443975 0.08588552]\n",
" [0.822062 0.41985807 0.02268192]\n",
" [0.83714914 0.45738277 0.03769577]\n",
" [0.84316796 0.461792 0.05334568]]]]\n",
"[[[[0.82298845 0.5419865 0.4645687 ]\n",
" [0.7793175 0.60591096 0.48127282]\n",
" [0.78447175 0.49433005 0.5405983 ]\n",
" [0.83781695 0.69024724 0.44191617]\n",
" [0.83027405 0.45730954 0.44173974]\n",
" [0.93831694 0.7048944 0.09379366]\n",
" [0.9338604 0.4495685 0.0872688 ]\n",
" [0.8336407 0.74177 0.0346995 ]\n",
" [0.807857 0.45538852 0.02327085]\n",
" [0.780324 0.72224015 0.0585424 ]\n",
" [0.83554685 0.4596464 0.02217677]\n",
" [0.81398076 0.70957494 0.04813683]\n",
" [0.69895047 0.41781387 0.02948967]\n",
" [0.8336297 0.6334127 0.08071294]\n",
" [0.82629895 0.4266115 0.03934073]\n",
" [0.8366686 0.4781408 0.04041681]\n",
" [0.8450091 0.46141356 0.04374775]]]]\n",
"[[[[0.8254413 0.55881333 0.4192076 ]\n",
" [0.78325725 0.6264314 0.4376616 ]\n",
" [0.7827837 0.5103634 0.58597374]\n",
" [0.8456148 0.7097439 0.41181138]\n",
" [0.83804387 0.46405405 0.44934353]\n",
" [0.98301595 0.782592 0.05381134]\n",
" [0.9709344 0.4524494 0.09015399]\n",
" [0.9603292 0.8676729 0.01628679]\n",
" [0.801435 0.4651317 0.02453613]\n",
" [0.8502219 0.7578808 0.03261518]\n",
" [0.8394672 0.4720621 0.02192447]\n",
" [0.7474139 0.75243795 0.05482963]\n",
" [0.721493 0.41534197 0.03285816]\n",
" [0.8259613 0.70536274 0.10369924]\n",
" [0.8156148 0.45626602 0.07406345]\n",
" [0.8475396 0.52383214 0.02758306]\n",
" [0.82918036 0.70251983 0.07779163]]]]\n",
"[[[[0.82171345 0.56482244 0.40399313]\n",
" [0.7830264 0.6339494 0.55030054]\n",
" [0.7811896 0.5150837 0.5743691 ]\n",
" [0.84731245 0.7197031 0.34368327]\n",
" [0.82950544 0.4746576 0.49139002]\n",
" [0.9815559 0.782041 0.06224945]\n",
" [0.9673452 0.4536606 0.10795316]\n",
" [0.9614603 0.87084216 0.01337782]\n",
" [0.8188137 0.48502955 0.02672559]\n",
" [0.84468615 0.74272335 0.02599481]\n",
" [0.8369138 0.48392475 0.01951957]\n",
" [0.8520536 0.736792 0.052953 ]\n",
" [0.72068113 0.43995023 0.03669581]\n",
" [0.81325483 0.7280442 0.10323486]\n",
" [0.81695986 0.46890187 0.07331067]\n",
" [0.8353902 0.5332433 0.03624126]\n",
" [0.8391824 0.4785435 0.05381998]]]]\n",
"[[[[0.81945705 0.57268447 0.5914203 ]\n",
" [0.78213763 0.64043045 0.55854183]\n",
" [0.7809957 0.52659523 0.51070076]\n",
" [0.8416595 0.72058547 0.32827514]\n",
" [0.81724393 0.48463878 0.5186548 ]\n",
" [0.9468781 0.7602184 0.08337355]\n",
" [0.9300492 0.4691295 0.13895038]\n",
" [0.9611732 0.86823523 0.01414657]\n",
" [0.82096124 0.48649663 0.03643057]\n",
" [0.83970153 0.75131416 0.0256578 ]\n",
" [0.8426031 0.48032308 0.0277665 ]\n",
" [0.8515114 0.735563 0.0707258 ]\n",
" [0.7624731 0.4639446 0.06701162]\n",
" [0.8140793 0.72947264 0.10281157]\n",
" [0.82063806 0.47666413 0.09730625]\n",
" [0.8222492 0.7603132 0.10826588]\n",
" [0.82965064 0.47722372 0.06022701]]]]\n",
"[[[[0.8178508 0.5718795 0.5728657 ]\n",
" [0.7795307 0.6361372 0.59689283]\n",
" [0.7763264 0.52456903 0.49579793]\n",
" [0.8426362 0.71662295 0.3283627 ]\n",
" [0.8143252 0.47658527 0.41573578]\n",
" [0.9369918 0.76024455 0.10505456]\n",
" [0.9294264 0.4595058 0.10955676]\n",
" [0.9602144 0.8712592 0.01560226]\n",
" [0.9562143 0.3913133 0.00936952]\n",
" [0.85556114 0.7669913 0.02692384]\n",
" [0.8643316 0.47960752 0.03230554]\n",
" [0.7289854 0.75223345 0.10307705]\n",
" [0.750281 0.44350109 0.05275604]\n",
" [0.8245021 0.73527193 0.09965149]\n",
" [0.83463925 0.46903628 0.07340458]\n",
" [0.84057873 0.76620674 0.10614288]\n",
" [0.83836746 0.47220263 0.0534029 ]]]]\n",
"[[[[0.8155369 0.58518237 0.57220614]\n",
" [0.77726614 0.6491486 0.53451484]\n",
" [0.77377605 0.5349491 0.50650835]\n",
" [0.83033776 0.7241146 0.31049454]\n",
" [0.8121934 0.48493773 0.468354 ]\n",
" [0.9007653 0.7675786 0.23407093]\n",
" [0.92545104 0.4705788 0.15165481]\n",
" [0.9621873 0.8925226 0.01794317]\n",
" [0.9559908 0.3890235 0.01021138]\n",
" [0.85283136 0.7736582 0.02542803]\n",
" [0.8687656 0.4718843 0.02754861]\n",
" [0.7276966 0.7554035 0.12451458]\n",
" [0.73504317 0.46778414 0.06636891]\n",
" [0.8132724 0.6953324 0.11094293]\n",
" [0.79937935 0.48217905 0.11601073]\n",
" [0.81969357 0.6225308 0.03152198]\n",
" [0.8363819 0.47589236 0.06446096]]]]\n",
"[[[[0.81162405 0.5857822 0.5380653 ]\n",
" [0.77460164 0.6522456 0.44407904]\n",
" [0.77249265 0.5357132 0.46098498]\n",
" [0.83660835 0.7316059 0.28580883]\n",
" [0.81681556 0.48861206 0.504922 ]\n",
" [0.94455636 0.77922344 0.08565608]\n",
" [0.9251889 0.4766216 0.14867863]\n",
" [0.9618682 0.8706049 0.01564282]\n",
" [0.9571375 0.39068496 0.01411656]\n",
" [0.852247 0.77246034 0.02297229]\n",
" [0.86637294 0.4878765 0.03831941]\n",
" [0.83367276 0.7578412 0.0786899 ]\n",
" [0.7672931 0.46976238 0.06331542]\n",
" [0.82191706 0.727208 0.08469817]\n",
" [0.82337016 0.4957866 0.15089124]\n",
" [0.8323529 0.5482688 0.0473263 ]\n",
" [0.8421433 0.48114634 0.06693417]]]]\n",
"[[[[0.8133658 0.5945663 0.51733583]\n",
" [0.7777772 0.65709317 0.56139684]\n",
" [0.7749915 0.54489887 0.50497967]\n",
" [0.8350849 0.7320449 0.36649188]\n",
" [0.8041868 0.5018979 0.5016984 ]\n",
" [0.92855895 0.76584333 0.13414145]\n",
" [0.91216016 0.489878 0.20659623]\n",
" [0.72125053 0.76720786 0.08178443]\n",
" [0.8085653 0.5037699 0.03947285]\n",
" [0.81274855 0.764894 0.03742981]\n",
" [0.85892284 0.47847039 0.0232816 ]\n",
" [0.8139407 0.7552911 0.06688613]\n",
" [0.748309 0.48809835 0.07676435]\n",
" [0.7655889 0.75514627 0.11539435]\n",
" [0.824901 0.49726516 0.11668664]\n",
" [0.8187182 0.6428818 0.02961436]\n",
" [0.8347348 0.49957252 0.06100056]]]]\n",
"[[[[0.81395596 0.60040164 0.46418062]\n",
" [0.78089035 0.66451794 0.45452428]\n",
" [0.7745783 0.5486535 0.4964705 ]\n",
" [0.8431989 0.74518657 0.31505498]\n",
" [0.81629866 0.49949616 0.40067807]\n",
" [0.969326 0.7809402 0.07777414]\n",
" [0.92804337 0.49000725 0.14470974]\n",
" [0.9595071 0.85245216 0.0147 ]\n",
" [0.9550065 0.3896153 0.01249555]\n",
" [0.8548476 0.78346956 0.02485299]\n",
" [0.86684775 0.48325223 0.0341315 ]\n",
" [0.8544869 0.7603139 0.06629631]\n",
" [0.7622862 0.4895129 0.0732469 ]\n",
" [0.8210353 0.74878573 0.08917725]\n",
" [0.82818246 0.5006825 0.14112341]\n",
" [0.82602686 0.54278964 0.06699538]\n",
" [0.8314974 0.49182662 0.05494872]]]]\n",
"[[[[0.8146055 0.6000658 0.3981633 ]\n",
" [0.7801568 0.6636242 0.46503147]\n",
" [0.7726533 0.54976404 0.5844791 ]\n",
" [0.8364927 0.74227273 0.3290434 ]\n",
" [0.813138 0.503343 0.45565113]\n",
" [0.9354424 0.8027719 0.09669781]\n",
" [0.926677 0.4929875 0.15772355]\n",
" [0.96147346 0.8921304 0.01860914]\n",
" [0.82636154 0.5107515 0.031746 ]\n",
" [0.8148637 0.7833586 0.03343317]\n",
" [0.85728043 0.49098584 0.02628082]\n",
" [0.7470498 0.77786493 0.08241266]\n",
" [0.7423164 0.47282097 0.04784846]\n",
" [0.82222223 0.75528026 0.0772014 ]\n",
" [0.8191961 0.5002274 0.13092148]\n",
" [0.82939476 0.5508739 0.0469172 ]\n",
" [0.83509874 0.4991549 0.05538037]]]]\n",
"[[[[0.81859225 0.6090093 0.5505796 ]\n",
" [0.7824804 0.67153066 0.62169635]\n",
" [0.7747344 0.56017065 0.38932678]\n",
" [0.84251946 0.74947065 0.44544026]\n",
" [0.813015 0.5098641 0.4749625 ]\n",
" [0.9216167 0.78912306 0.1601131 ]\n",
" [0.9236487 0.49124154 0.19114804]\n",
" [0.8851826 0.97239816 0.02669847]\n",
" [0.95602596 0.41579795 0.01708615]\n",
" [0.8199166 0.79147184 0.03311205]\n",
" [0.86146986 0.47736394 0.02418545]\n",
" [0.8354105 0.7650294 0.07001016]\n",
" [0.730047 0.50516635 0.08926398]\n",
" [0.81888986 0.7576562 0.08121705]\n",
" [0.82682836 0.50094724 0.1374448 ]\n",
" [0.8219873 0.5688585 0.04453161]\n",
" [0.83476204 0.4975172 0.05086982]]]]\n",
"[[[[0.81420153 0.60592616 0.5290204 ]\n",
" [0.78011644 0.6690235 0.47367355]\n",
" [0.7738297 0.55808055 0.45714277]\n",
" [0.842411 0.74873966 0.397303 ]\n",
" [0.81295717 0.5106671 0.46728408]\n",
" [0.9179529 0.80545807 0.15000457]\n",
" [0.9236013 0.4972555 0.19579005]\n",
" [0.9641602 0.8939458 0.02040228]\n",
" [0.85419697 0.5149048 0.03321859]\n",
" [0.8384504 0.79286736 0.04454699]\n",
" [0.8561248 0.49784264 0.04067716]\n",
" [0.7662933 0.7848861 0.07924765]\n",
" [0.7451004 0.5070934 0.09800711]\n",
" [0.8259709 0.76150966 0.09384993]\n",
" [0.8304411 0.5033817 0.13568583]\n",
" [0.819853 0.59056103 0.04016146]\n",
" [0.83408785 0.49991617 0.05660516]]]]\n",
"[[[[0.8141464 0.60228205 0.4883234 ]\n",
" [0.7805252 0.6649201 0.45365864]\n",
" [0.7730572 0.5521958 0.549164 ]\n",
" [0.83295465 0.7409905 0.3883256 ]\n",
" [0.8048987 0.5129697 0.51950043]\n",
" [0.91842306 0.789844 0.15436509]\n",
" [0.92114395 0.49608177 0.24718401]\n",
" [0.7789891 0.9810609 0.07557181]\n",
" [0.8511207 0.5115055 0.052035 ]\n",
" [0.83248484 0.78790176 0.04707178]\n",
" [0.8570981 0.500525 0.04535913]\n",
" [0.85024273 0.6903846 0.04227528]\n",
" [0.78651994 0.50867236 0.08143967]\n",
" [0.8217229 0.7623541 0.11816093]\n",
" [0.83364433 0.5027772 0.12355429]\n",
" [0.8192544 0.7995934 0.10553372]\n",
" [0.8503859 0.505437 0.06765497]]]]\n",
"[[[[0.8148066 0.6097187 0.5412942 ]\n",
" [0.7805048 0.6686913 0.5278399 ]\n",
" [0.7706058 0.56067914 0.47054422]\n",
" [0.8327756 0.74104345 0.38225898]\n",
" [0.80189025 0.5155616 0.5444443 ]\n",
" [0.8955889 0.80425876 0.1864368 ]\n",
" [0.9105606 0.4848857 0.11838156]\n",
" [0.7615287 0.97954434 0.05871865]\n",
" [0.83343244 0.5115973 0.04257315]\n",
" [0.80731666 0.7939625 0.04752755]\n",
" [0.8461818 0.50744545 0.02738667]\n",
" [0.7479166 0.7878015 0.08806503]\n",
" [0.7307648 0.5023318 0.07680583]\n",
" [0.82308507 0.77041984 0.12283951]\n",
" [0.82598424 0.4992003 0.07826102]\n",
" [0.7984297 0.6032779 0.04284814]\n",
" [0.77008766 0.7119726 0.06137997]]]]\n",
"[[[[0.81666195 0.60558105 0.5125046 ]\n",
" [0.7831041 0.6655187 0.43383008]\n",
" [0.77284145 0.5562631 0.49887523]\n",
" [0.8305091 0.7362659 0.4491663 ]\n",
" [0.79506266 0.5105172 0.48078227]\n",
" [0.9036004 0.784753 0.20998928]\n",
" [0.90821254 0.49246103 0.23862469]\n",
" [0.8341243 0.80590075 0.03457281]\n",
" [0.8344432 0.50787216 0.05946833]\n",
" [0.83960366 0.7907028 0.04292408]\n",
" [0.8535878 0.49718842 0.03748733]\n",
" [0.8330605 0.7640971 0.08428463]\n",
" [0.74495506 0.4711258 0.04266965]\n",
" [0.8251983 0.76547694 0.11153543]\n",
" [0.8317299 0.49547958 0.07339197]\n",
" [0.81677336 0.59996724 0.04061306]\n",
" [0.848564 0.48965153 0.03788477]]]]\n",
"[[[[0.81198907 0.6029429 0.39042497]\n",
" [0.7758117 0.6648052 0.40853554]\n",
" [0.7676265 0.55278116 0.57466525]\n",
" [0.8180527 0.73266095 0.41453254]\n",
" [0.7887058 0.5022381 0.40779942]\n",
" [0.89343804 0.7904104 0.2287431 ]\n",
" [0.8923492 0.479542 0.2142973 ]\n",
" [0.832137 0.8128705 0.0353508 ]\n",
" [0.8330021 0.5049719 0.06085834]\n",
" [0.83506906 0.80556816 0.04356998]\n",
" [0.8499043 0.47916716 0.03877571]\n",
" [0.8149833 0.7685667 0.08376586]\n",
" [0.73447704 0.4828703 0.07904029]\n",
" [0.81466854 0.76596564 0.13676584]\n",
" [0.83554786 0.48790607 0.06947616]\n",
" [0.79500616 0.77890867 0.12716225]\n",
" [0.8300728 0.4822986 0.04652482]]]]\n",
"[[[[0.8057317 0.61033475 0.5827045 ]\n",
" [0.77016795 0.66823125 0.31879887]\n",
" [0.7580478 0.5563582 0.4621454 ]\n",
" [0.81044453 0.7304127 0.5362642 ]\n",
" [0.7790131 0.50371003 0.46822447]\n",
" [0.89048314 0.7826879 0.17003831]\n",
" [0.888142 0.47038537 0.2858447 ]\n",
" [0.8318399 0.8086576 0.01824257]\n",
" [0.7338669 0.11298193 0.12204507]\n",
" [0.8012907 0.77532554 0.02572769]\n",
" [0.8552129 0.48126122 0.07969657]\n",
" [0.7292123 0.7729969 0.09850079]\n",
" [0.74164885 0.4658659 0.05662188]\n",
" [0.8083078 0.756076 0.10564169]\n",
" [0.81221855 0.46513245 0.04882753]\n",
" [0.82241905 0.7088759 0.05038929]\n",
" [0.84977555 0.47685274 0.04751787]]]]\n",
"[[[[0.8150773 0.6118246 0.5607729 ]\n",
" [0.7655196 0.67386925 0.48697466]\n",
" [0.7653195 0.5527365 0.5974574 ]\n",
" [0.80121684 0.7420677 0.47306326]\n",
" [0.7874221 0.49400148 0.57802236]\n",
" [0.8766358 0.80213946 0.23844707]\n",
" [0.890953 0.453979 0.22953841]\n",
" [0.7643587 0.97301996 0.06999761]\n",
" [0.83737123 0.06026041 0.07738483]\n",
" [0.8117485 0.7983967 0.03159028]\n",
" [0.85736465 0.488141 0.05557579]\n",
" [0.7084042 0.7793776 0.10402316]\n",
" [0.6948068 0.48520356 0.10249385]\n",
" [0.80201745 0.77112454 0.16408947]\n",
" [0.75974 0.4800024 0.12422195]\n",
" [0.81823933 0.7327479 0.04950055]\n",
" [0.8439064 0.4781623 0.04381353]]]]\n",
"[[[[0.80291843 0.624673 0.5247427 ]\n",
" [0.75440705 0.68620294 0.43134552]\n",
" [0.75151557 0.5659584 0.2917642 ]\n",
" [0.79706067 0.7485986 0.47947243]\n",
" [0.7814628 0.5044355 0.57672775]\n",
" [0.92764896 0.8258525 0.08059785]\n",
" [0.8992983 0.48059532 0.19913644]\n",
" [0.8025462 0.97329444 0.03171462]\n",
" [0.9471974 0.38434035 0.01045209]\n",
" [0.8270797 0.80310935 0.01916179]\n",
" [0.8638668 0.48495334 0.02598912]\n",
" [0.7477561 0.81874365 0.05897626]\n",
" [0.71194375 0.48307082 0.06962457]\n",
" [0.76856494 0.7338954 0.08169821]\n",
" [0.8234484 0.50126064 0.09292042]\n",
" [0.77284944 0.800688 0.06636795]\n",
" [0.8330297 0.4818337 0.03794056]]]]\n",
"[[[[0.79376596 0.6240055 0.507825 ]\n",
" [0.74200934 0.6870055 0.47510052]\n",
" [0.74169433 0.56530356 0.37665582]\n",
" [0.7911663 0.74934185 0.4671371 ]\n",
" [0.7802268 0.49609563 0.6217139 ]\n",
" [0.91202843 0.8239614 0.08306718]\n",
" [0.89579654 0.47247618 0.22426501]\n",
" [0.8689662 0.97629917 0.03677022]\n",
" [0.9405183 0.38419387 0.00857204]\n",
" [0.7983637 0.7911286 0.02148303]\n",
" [0.85013604 0.48205075 0.02479362]\n",
" [0.5939306 0.7282454 0.04804125]\n",
" [0.6820048 0.46785542 0.04105785]\n",
" [0.7872282 0.7097143 0.05281606]\n",
" [0.79603386 0.49067336 0.05486748]\n",
" [0.7794933 0.7994232 0.02747664]\n",
" [0.8301301 0.47416598 0.02588999]]]]\n",
"[[[[0.7967981 0.61492395 0.6115899 ]\n",
" [0.7406769 0.6772799 0.51808095]\n",
" [0.7432107 0.5530331 0.41339958]\n",
" [0.7874311 0.74281526 0.43583927]\n",
" [0.7751219 0.49274492 0.59004074]\n",
" [0.8886344 0.82194585 0.14753854]\n",
" [0.88687223 0.47122115 0.32227612]\n",
" [0.8635454 0.9790698 0.04203525]\n",
" [0.95551336 0.36621878 0.01345736]\n",
" [0.8185848 0.7878468 0.02210039]\n",
" [0.85092306 0.47538036 0.03806743]\n",
" [0.60961235 0.7270056 0.07644865]\n",
" [0.6754348 0.4840244 0.06446731]\n",
" [0.79161614 0.72813666 0.07862464]\n",
" [0.79859513 0.47761664 0.08973864]\n",
" [0.8153598 0.76629126 0.03042954]\n",
" [0.8318715 0.46646976 0.03931373]]]]\n",
"[[[[0.7920642 0.6003627 0.45206586]\n",
" [0.73274565 0.66830957 0.47985116]\n",
" [0.73250836 0.5353111 0.36489743]\n",
" [0.7758473 0.7370473 0.5248966 ]\n",
" [0.76871383 0.47269294 0.65764266]\n",
" [0.9050138 0.8267626 0.10016304]\n",
" [0.88527787 0.45632988 0.27539307]\n",
" [0.8522279 0.9773209 0.04275331]\n",
" [0.9456229 0.36586642 0.00945982]\n",
" [0.8051338 0.77265966 0.01318657]\n",
" [0.85256386 0.46037886 0.0293881 ]\n",
" [0.5947366 0.7259989 0.07344607]\n",
" [0.67346376 0.44128078 0.04271176]\n",
" [0.7494318 0.7219419 0.07970336]\n",
" [0.76745766 0.4592892 0.04765794]\n",
" [0.7821557 0.77243197 0.02335775]\n",
" [0.8342824 0.45296538 0.02325618]]]]\n",
"[[[[0.78474724 0.58522844 0.5449063 ]\n",
" [0.7178452 0.658298 0.42852998]\n",
" [0.7249111 0.5184369 0.5438792 ]\n",
" [0.7587656 0.73562187 0.5812285 ]\n",
" [0.75946516 0.46690464 0.61127734]\n",
" [0.89338875 0.82654953 0.13398322]\n",
" [0.89691925 0.45548713 0.22825134]\n",
" [0.85348034 0.9789273 0.04578838]\n",
" [0.9385378 0.36521214 0.00723311]\n",
" [0.77283996 0.7674197 0.01845762]\n",
" [0.8404342 0.46650657 0.02883562]\n",
" [0.57387006 0.69841754 0.0536328 ]\n",
" [0.62322634 0.4402625 0.02696478]\n",
" [0.7792403 0.6846634 0.0435757 ]\n",
" [0.7110393 0.44827855 0.02224496]\n",
" [0.77999014 0.49344748 0.02673262]\n",
" [0.818442 0.46055746 0.02312773]]]]\n",
"[[[[0.7734128 0.58721757 0.5780176 ]\n",
" [0.70533246 0.65405107 0.3231939 ]\n",
" [0.7179252 0.52291155 0.39298138]\n",
" [0.7411852 0.7348826 0.6144285 ]\n",
" [0.75059575 0.45915163 0.5182115 ]\n",
" [0.86767 0.83435243 0.1647687 ]\n",
" [0.8745446 0.44770688 0.26091352]\n",
" [0.8480052 0.98458004 0.05019853]\n",
" [0.9353303 0.33353084 0.00663269]\n",
" [0.73845947 0.7601275 0.02907005]\n",
" [0.83153075 0.4690307 0.02349693]\n",
" [0.6494252 0.7617582 0.04913643]\n",
" [0.6070029 0.4527287 0.04561314]\n",
" [0.7628341 0.6983173 0.07617363]\n",
" [0.69655085 0.44564077 0.06734782]\n",
" [0.700082 0.77245677 0.05323946]\n",
" [0.74896944 0.7128579 0.05210665]]]]\n",
"[[[[0.7823632 0.58576524 0.56777877]\n",
" [0.7138116 0.6510074 0.38344744]\n",
" [0.72518504 0.51986337 0.53470594]\n",
" [0.7462129 0.7297868 0.5518045 ]\n",
" [0.76315254 0.4608843 0.5469727 ]\n",
" [0.8865146 0.8365566 0.1212756 ]\n",
" [0.8838789 0.43163618 0.20058471]\n",
" [0.85509676 0.98035896 0.03128636]\n",
" [0.93328303 0.33405834 0.00519466]\n",
" [0.75336903 0.75390786 0.01802105]\n",
" [0.82826006 0.46522295 0.01490086]\n",
" [0.61298114 0.73812973 0.0342823 ]\n",
" [0.610807 0.4488555 0.03982383]\n",
" [0.7760917 0.6832808 0.04107314]\n",
" [0.7004775 0.44511303 0.0314841 ]\n",
" [0.7671145 0.5082083 0.02388683]\n",
" [0.76955837 0.7182113 0.03383559]]]]\n",
"[[[[0.7652348 0.56950426 0.6336075 ]\n",
" [0.69279516 0.6441871 0.4795193 ]\n",
" [0.70423055 0.50372285 0.47958496]\n",
" [0.7305524 0.72324985 0.399981 ]\n",
" [0.74591416 0.45237154 0.6630566 ]\n",
" [0.89089227 0.8561842 0.06471828]\n",
" [0.88506126 0.429332 0.2169204 ]\n",
" [0.8489748 0.98312753 0.02448076]\n",
" [0.9558488 0.27444243 0.00694934]\n",
" [0.7241826 0.7488534 0.01703092]\n",
" [0.8351509 0.46809578 0.01594236]\n",
" [0.6462852 0.760667 0.03209302]\n",
" [0.61604345 0.43726635 0.01821423]\n",
" [0.75832313 0.6592816 0.04004934]\n",
" [0.6950397 0.4343836 0.01839831]\n",
" [0.77733827 0.54625726 0.01308832]\n",
" [0.67211145 0.7243239 0.03540266]]]]\n",
"[[[[0.76273537 0.57042384 0.63390636]\n",
" [0.68933856 0.6449995 0.47473493]\n",
" [0.7002611 0.5030141 0.4870311 ]\n",
" [0.7308459 0.72562563 0.48602027]\n",
" [0.7426979 0.44941133 0.7259726 ]\n",
" [0.8885995 0.8543873 0.08845091]\n",
" [0.88708866 0.4280377 0.18760031]\n",
" [0.86373544 0.9841148 0.0261786 ]\n",
" [0.9569866 0.24793133 0.0073697 ]\n",
" [0.72592086 0.75190467 0.01654014]\n",
" [0.8375802 0.46339297 0.01285118]\n",
" [0.7333786 0.74342406 0.03363839]\n",
" [0.617611 0.43494993 0.01728803]\n",
" [0.74446297 0.67287964 0.04401442]\n",
" [0.6935467 0.4326198 0.02170223]\n",
" [0.66088986 0.76218194 0.03153673]\n",
" [0.7102585 0.7149179 0.03496578]]]]\n",
"[[[[0.7640289 0.5728608 0.61903507]\n",
" [0.6958046 0.6423277 0.5841439 ]\n",
" [0.7070482 0.5085087 0.3950547 ]\n",
" [0.736422 0.72282434 0.4330068 ]\n",
" [0.75231445 0.45252836 0.57762206]\n",
" [0.8923966 0.86001337 0.08772552]\n",
" [0.8896303 0.4160837 0.15007254]\n",
" [0.8462528 0.9823642 0.03445631]\n",
" [0.9483805 0.27593946 0.00577509]\n",
" [0.7320132 0.7461722 0.01485744]\n",
" [0.84726584 0.46295 0.01052353]\n",
" [0.71239924 0.7421253 0.02484903]\n",
" [0.62113285 0.43375528 0.02271897]\n",
" [0.6894916 0.72320557 0.03762078]\n",
" [0.69528574 0.4352165 0.02760163]\n",
" [0.66861624 0.7572986 0.0240798 ]\n",
" [0.7140056 0.7131094 0.02812645]]]]\n",
"[[[[0.76775616 0.57003295 0.5658164 ]\n",
" [0.69386286 0.6448208 0.5799304 ]\n",
" [0.70799816 0.50316745 0.3997711 ]\n",
" [0.7361082 0.72527736 0.48415694]\n",
" [0.7511833 0.45056042 0.553133 ]\n",
" [0.89384764 0.8533839 0.07560825]\n",
" [0.88821816 0.43699977 0.17368156]\n",
" [0.8447641 0.9846109 0.03045666]\n",
" [0.9471164 0.30029976 0.00561094]\n",
" [0.7085628 0.7550947 0.01647204]\n",
" [0.8465518 0.46148598 0.01088357]\n",
" [0.6966581 0.7615379 0.02461794]\n",
" [0.614689 0.43821272 0.01908821]\n",
" [0.7442899 0.67178583 0.03680325]\n",
" [0.6941778 0.43488953 0.02602446]\n",
" [0.77399755 0.512328 0.01639464]\n",
" [0.76131785 0.6994344 0.02734616]]]]\n",
"[[[[0.7676179 0.5708341 0.6132429 ]\n",
" [0.6918888 0.64450026 0.4244222 ]\n",
" [0.70294565 0.5028186 0.563296 ]\n",
" [0.72579396 0.72405076 0.3596142 ]\n",
" [0.7403754 0.44718987 0.66991925]\n",
" [0.87780803 0.8764932 0.0943549 ]\n",
" [0.88752455 0.4168743 0.14559743]\n",
" [0.8579187 0.94198227 0.00724804]\n",
" [0.93879426 0.30678493 0.00559321]\n",
" [0.70855135 0.7525736 0.01599205]\n",
" [0.82746136 0.46303385 0.01288262]\n",
" [0.63570297 0.78510106 0.02552554]\n",
" [0.57390845 0.41155523 0.00965628]\n",
" [0.67647755 0.72491515 0.03683969]\n",
" [0.67609143 0.42747188 0.01176584]\n",
" [0.78980464 0.5364358 0.01097482]\n",
" [0.7418956 0.21543625 0.00403172]]]]\n",
"[[[[0.7614063 0.57215244 0.61695874]\n",
" [0.68862355 0.6416017 0.36183238]\n",
" [0.7026571 0.50373274 0.52550745]\n",
" [0.7264554 0.7209534 0.31792346]\n",
" [0.75043523 0.449823 0.65682733]\n",
" [0.88782847 0.8803846 0.07456586]\n",
" [0.89452565 0.4176255 0.12705693]\n",
" [0.85087365 0.9849023 0.02921918]\n",
" [0.9508705 0.2734939 0.00602421]\n",
" [0.6684124 0.75188845 0.02435005]\n",
" [0.83289623 0.45625958 0.01188701]\n",
" [0.6470121 0.76254404 0.02002499]\n",
" [0.5846551 0.4297701 0.01304629]\n",
" [0.6713073 0.7296146 0.03548405]\n",
" [0.6775054 0.43133098 0.02088425]\n",
" [0.7514042 0.47797155 0.0166221 ]\n",
" [0.7450259 0.23483156 0.00226039]]]]\n",
"[[[[0.76029056 0.56958 0.547754 ]\n",
" [0.67866254 0.64262027 0.58521265]\n",
" [0.69108003 0.49915093 0.58376724]\n",
" [0.71654433 0.72298664 0.43363887]\n",
" [0.74336445 0.44134888 0.5714936 ]\n",
" [0.8797473 0.8809086 0.09038368]\n",
" [0.89391464 0.40906176 0.1253745 ]\n",
" [0.8684418 0.98780507 0.01901972]\n",
" [0.95357656 0.24910216 0.00595701]\n",
" [0.7379417 0.7488224 0.01352292]\n",
" [0.8303964 0.4610971 0.00938463]\n",
" [0.6348858 0.7846884 0.0215492 ]\n",
" [0.57970613 0.41126686 0.01125401]\n",
" [0.67136353 0.72186685 0.03215995]\n",
" [0.65898675 0.42775676 0.02363119]\n",
" [0.7748212 0.48076725 0.01724252]\n",
" [0.7725315 0.1921364 0.0027768 ]]]]\n",
"[[[[0.75643057 0.56837445 0.48957115]\n",
" [0.67379516 0.639392 0.5976985 ]\n",
" [0.6893952 0.49747428 0.53658205]\n",
" [0.7083468 0.724596 0.38787135]\n",
" [0.7394101 0.43720555 0.6185103 ]\n",
" [0.8877138 0.8853468 0.08043921]\n",
" [0.90627307 0.39027938 0.12584189]\n",
" [0.8375032 0.98651266 0.01673242]\n",
" [0.9349667 0.01196088 0.01880375]\n",
" [0.72751874 0.74947613 0.01341864]\n",
" [0.83049464 0.46475393 0.00929707]\n",
" [0.645357 0.76016724 0.01769444]\n",
" [0.58275986 0.42920017 0.01348117]\n",
" [0.67143196 0.7177221 0.02883339]\n",
" [0.648247 0.42313525 0.01716572]\n",
" [0.7784618 0.53677034 0.0077576 ]\n",
" [0.7674966 0.206985 0.00237626]]]]\n",
"[[[[0.75241894 0.5594444 0.40889853]\n",
" [0.6746792 0.63299644 0.5821936 ]\n",
" [0.69054925 0.49285373 0.6228488 ]\n",
" [0.70748776 0.7257909 0.35243234]\n",
" [0.74388504 0.43853185 0.6243728 ]\n",
" [0.8657066 0.9084713 0.10241038]\n",
" [0.8942157 0.40888533 0.13498521]\n",
" [0.8493446 0.9884624 0.01944551]\n",
" [0.956614 0.2469326 0.00657123]\n",
" [0.6702235 0.7462648 0.03682852]\n",
" [0.8383573 0.4558609 0.01143363]\n",
" [0.648934 0.7671692 0.02248126]\n",
" [0.58185905 0.42999527 0.01137903]\n",
" [0.6713707 0.7213553 0.03026357]\n",
" [0.6590281 0.4169303 0.01831234]\n",
" [0.77733827 0.47991365 0.01305801]\n",
" [0.7720747 0.18724895 0.0023841 ]]]]\n",
"[[[[0.75769585 0.55114615 0.59633076]\n",
" [0.6785606 0.62575597 0.5700642 ]\n",
" [0.69575953 0.4857858 0.6373808 ]\n",
" [0.71007824 0.7205509 0.50424725]\n",
" [0.7416365 0.43524933 0.6503432 ]\n",
" [0.86985075 0.8806621 0.11263859]\n",
" [0.8891922 0.4133342 0.1469591 ]\n",
" [0.8543854 0.9838077 0.01784346]\n",
" [0.9538747 0.24693358 0.00570989]\n",
" [0.68865126 0.7458326 0.03180796]\n",
" [0.83285683 0.45236835 0.01042745]\n",
" [0.6596396 0.74612474 0.02210325]\n",
" [0.5809897 0.42829928 0.01020554]\n",
" [0.7230701 0.6713182 0.026059 ]\n",
" [0.67760485 0.41927207 0.01229316]\n",
" [0.7525499 0.45517802 0.01395243]\n",
" [0.72955793 0.70466155 0.03317413]]]]\n",
"[[[[0.76292485 0.5520025 0.65179807]\n",
" [0.68210936 0.6281265 0.4988679 ]\n",
" [0.6995051 0.48539275 0.63251644]\n",
" [0.7113441 0.7210843 0.5400026 ]\n",
" [0.7480701 0.43737966 0.5851519 ]\n",
" [0.8738177 0.88403296 0.10598373]\n",
" [0.89416087 0.411775 0.11777258]\n",
" [0.8350086 0.98748887 0.02203137]\n",
" [0.94978046 0.24958256 0.00503579]\n",
" [0.6857931 0.74472135 0.03475785]\n",
" [0.8322837 0.45027813 0.01274008]\n",
" [0.661633 0.74778885 0.02618322]\n",
" [0.58068943 0.4310503 0.01280206]\n",
" [0.6902511 0.69540346 0.02264932]\n",
" [0.67587805 0.41929966 0.01272863]\n",
" [0.71856654 0.4659083 0.01620129]\n",
" [0.7340034 0.699239 0.02936181]]]]\n",
"[[[[0.76207346 0.55399406 0.6374332 ]\n",
" [0.68075866 0.62664336 0.40854746]\n",
" [0.7013857 0.4862303 0.710272 ]\n",
" [0.709469 0.7183975 0.50081736]\n",
" [0.7485828 0.43431926 0.6264513 ]\n",
" [0.87582725 0.882705 0.09927431]\n",
" [0.8936051 0.4095691 0.1243543 ]\n",
" [0.85466856 0.98490155 0.01698312]\n",
" [0.9382322 0.01537149 0.02878359]\n",
" [0.690624 0.7413492 0.02676177]\n",
" [0.83073604 0.44653594 0.0120967 ]\n",
" [0.6289919 0.74553907 0.02014875]\n",
" [0.56873435 0.42561644 0.01363391]\n",
" [0.6560282 0.736233 0.02607092]\n",
" [0.67664975 0.41504496 0.01559475]\n",
" [0.7516594 0.45807964 0.01580697]\n",
" [0.6835472 0.711056 0.02576154]]]]\n",
"[[[[0.75936484 0.5556646 0.59060746]\n",
" [0.67865247 0.62926066 0.5090904 ]\n",
" [0.6939268 0.486077 0.5782124 ]\n",
" [0.70859975 0.7232522 0.46967682]\n",
" [0.74137914 0.43256018 0.65392923]\n",
" [0.8747244 0.8813917 0.08753699]\n",
" [0.90651363 0.41220248 0.09584177]\n",
" [0.85029614 0.98644114 0.01946318]\n",
" [0.69837105 0.4468243 0.02184132]\n",
" [0.6691908 0.74760175 0.03861654]\n",
" [0.8327389 0.45177734 0.01032624]\n",
" [0.67562264 0.7461757 0.02533683]\n",
" [0.59708834 0.41319558 0.01083624]\n",
" [0.6730375 0.7224182 0.02555427]\n",
" [0.67442644 0.41405007 0.01448104]\n",
" [0.66174126 0.7693863 0.02947807]\n",
" [0.66922826 0.7152571 0.0343633 ]]]]\n",
"[[[[0.7598478 0.553304 0.656717 ]\n",
" [0.68063205 0.6280817 0.422662 ]\n",
" [0.6960642 0.48733026 0.6789925 ]\n",
" [0.7087874 0.72098655 0.47703776]\n",
" [0.73976195 0.43481284 0.60895926]\n",
" [0.8777504 0.8643129 0.10338122]\n",
" [0.89123225 0.41300708 0.12351644]\n",
" [0.8463383 0.9867291 0.01917341]\n",
" [0.9548464 0.2431308 0.00524426]\n",
" [0.66431344 0.7504705 0.04095191]\n",
" [0.82814085 0.45074567 0.01143438]\n",
" [0.65725815 0.74738926 0.02640161]\n",
" [0.5818981 0.411375 0.01313198]\n",
" [0.65497446 0.7397913 0.03099519]\n",
" [0.65966314 0.41233963 0.01415294]\n",
" [0.65487933 0.7644223 0.03218156]\n",
" [0.6745919 0.7159374 0.04046986]]]]\n",
"[[[[0.76007193 0.55633175 0.6244472 ]\n",
" [0.6777052 0.63002574 0.5121935 ]\n",
" [0.6946659 0.48810726 0.66066206]\n",
" [0.7093177 0.7229855 0.34794545]\n",
" [0.7431153 0.4343172 0.6334188 ]\n",
" [0.8786695 0.8833832 0.07948765]\n",
" [0.9238245 0.4302319 0.09502229]\n",
" [0.8533269 0.98578084 0.01682192]\n",
" [0.7010677 0.44644207 0.02397719]\n",
" [0.68253267 0.7467141 0.02606505]\n",
" [0.82944345 0.4682847 0.01033503]\n",
" [0.6470841 0.7667687 0.02589768]\n",
" [0.58172786 0.4114573 0.01296172]\n",
" [0.66928625 0.72428524 0.03207198]\n",
" [0.6617625 0.4142291 0.01276553]\n",
" [0.7480705 0.45280457 0.01419148]\n",
" [0.6784269 0.71623147 0.03010103]]]]\n",
"[[[[0.75604594 0.55927134 0.55449045]\n",
" [0.6796365 0.63194144 0.44794774]\n",
" [0.6902878 0.49209237 0.5732328 ]\n",
" [0.70909894 0.72340775 0.30487615]\n",
" [0.73326063 0.43427986 0.6241051 ]\n",
" [0.8708888 0.88426137 0.1151897 ]\n",
" [0.89028615 0.41735983 0.11729497]\n",
" [0.8493794 0.987528 0.02063572]\n",
" [0.6990449 0.44572672 0.02168983]\n",
" [0.6764552 0.7483306 0.03321093]\n",
" [0.83053416 0.45332265 0.00817886]\n",
" [0.6759765 0.7497074 0.03051382]\n",
" [0.87720776 0.24305621 0.05872488]\n",
" [0.67082924 0.7280225 0.0311788 ]\n",
" [0.6587577 0.4165612 0.011556 ]\n",
" [0.65900993 0.77084225 0.03034365]\n",
" [0.6798258 0.7148928 0.03726727]]]]\n",
"[[[[0.75486887 0.55266505 0.507096 ]\n",
" [0.67430085 0.6323092 0.56634825]\n",
" [0.6923233 0.4858521 0.65279824]\n",
" [0.7052793 0.7271378 0.46450168]\n",
" [0.7412547 0.43649334 0.63554776]\n",
" [0.8727421 0.9098925 0.09042376]\n",
" [0.9011706 0.3938594 0.11918113]\n",
" [0.8534763 0.9866456 0.01920137]\n",
" [0.95563567 0.25118428 0.00723928]\n",
" [0.6648407 0.74938846 0.03644666]\n",
" [0.8369807 0.46506423 0.01090875]\n",
" [0.67277586 0.7475076 0.01723763]\n",
" [0.7462389 0.45545754 0.02861878]\n",
" [0.6632526 0.7255749 0.02618486]\n",
" [0.66273385 0.41695464 0.01184899]\n",
" [0.74925244 0.4509499 0.01283887]\n",
" [0.79050064 0.16974263 0.00384843]]]]\n",
"[[[[0.7526059 0.55776775 0.5254718 ]\n",
" [0.673244 0.6326026 0.49737656]\n",
" [0.6886999 0.4906628 0.58759737]\n",
" [0.70392025 0.72317386 0.45492148]\n",
" [0.734916 0.43472475 0.6166365 ]\n",
" [0.87075704 0.8835187 0.08841759]\n",
" [0.8900131 0.43276006 0.15597811]\n",
" [0.8549163 0.98586965 0.02553844]\n",
" [0.9338523 0.33434284 0.00402498]\n",
" [0.6856927 0.74854964 0.02140966]\n",
" [0.8320004 0.45210537 0.01009905]\n",
" [0.6312637 0.7670793 0.03046227]\n",
" [0.56723183 0.42552206 0.01084101]\n",
" [0.6724674 0.71955407 0.03255364]\n",
" [0.6601434 0.41642722 0.01213884]\n",
" [0.74569577 0.4482807 0.01522282]\n",
" [0.67944974 0.7130143 0.02782762]]]]\n",
"[[[[0.75736254 0.55420756 0.5753114 ]\n",
" [0.6754024 0.6312388 0.5474216 ]\n",
" [0.6941194 0.4866317 0.66478515]\n",
" [0.7042172 0.7244482 0.3801686 ]\n",
" [0.7419194 0.43651506 0.6421617 ]\n",
" [0.8694289 0.90643024 0.09483591]\n",
" [0.88980997 0.41656598 0.15812391]\n",
" [0.8692349 0.98548764 0.01730967]\n",
" [0.699574 0.4464855 0.02485943]\n",
" [0.67011094 0.74775356 0.0265483 ]\n",
" [0.8317214 0.4555251 0.01013717]\n",
" [0.6539452 0.7449085 0.01611036]\n",
" [0.5780853 0.4317431 0.01081857]\n",
" [0.6712601 0.7218026 0.02521327]\n",
" [0.6620679 0.41762668 0.01057717]\n",
" [0.77807754 0.4796805 0.01143697]\n",
" [0.8463813 0.20291239 0.00492501]]]]\n",
"[[[[0.754603 0.5560692 0.5659662 ]\n",
" [0.67710537 0.6337556 0.5747346 ]\n",
" [0.68710077 0.48945984 0.55905235]\n",
" [0.7082471 0.72381485 0.39338174]\n",
" [0.7303505 0.43409452 0.60331047]\n",
" [0.8753135 0.8862669 0.10869008]\n",
" [0.8897605 0.41225183 0.15066648]\n",
" [0.8515655 0.9846665 0.02021581]\n",
" [0.9554287 0.24716368 0.00660035]\n",
" [0.72654694 0.74349636 0.01417699]\n",
" [0.82958627 0.45605707 0.01149023]\n",
" [0.69422305 0.7444462 0.02157509]\n",
" [0.6128073 0.41666472 0.01074216]\n",
" [0.66942644 0.72177494 0.02584094]\n",
" [0.6583658 0.41405866 0.00904045]\n",
" [0.7555713 0.45550936 0.01433 ]\n",
" [0.81444585 0.17978975 0.0024882 ]]]]\n",
"[[[[0.7554373 0.56088716 0.44659224]\n",
" [0.6787131 0.6370865 0.6191526 ]\n",
" [0.6903602 0.4915185 0.60184836]\n",
" [0.7104114 0.7261151 0.45111158]\n",
" [0.73855484 0.43810427 0.5896509 ]\n",
" [0.87794626 0.8841652 0.08647513]\n",
" [0.9053918 0.43125015 0.1132414 ]\n",
" [0.8505907 0.9843085 0.02039564]\n",
" [0.9424548 0.30084613 0.00489232]\n",
" [0.6600121 0.75369066 0.02985868]\n",
" [0.83974266 0.458009 0.00711545]\n",
" [0.66089475 0.7648701 0.01959655]\n",
" [0.59677213 0.41463512 0.00978342]\n",
" [0.6695961 0.72266495 0.02791342]\n",
" [0.6601389 0.41712353 0.0095301 ]\n",
" [0.7483671 0.45307177 0.01286134]\n",
" [0.676561 0.71965694 0.0250729 ]]]]\n",
"[[[[0.7512328 0.55030894 0.4863186 ]\n",
" [0.6728835 0.62922966 0.6487692 ]\n",
" [0.68420696 0.48749766 0.5813615 ]\n",
" [0.70442986 0.72446024 0.36940497]\n",
" [0.72932 0.43697342 0.5120585 ]\n",
" [0.87099373 0.9070046 0.10401532]\n",
" [0.89332384 0.40993774 0.14213869]\n",
" [0.8351215 0.98189116 0.01930746]\n",
" [0.9423901 0.3018079 0.00448442]\n",
" [0.72235715 0.7424776 0.01679009]\n",
" [0.83020544 0.45746702 0.00841361]\n",
" [0.61713004 0.76539505 0.02240038]\n",
" [0.56632555 0.41159424 0.00827736]\n",
" [0.6700481 0.72033334 0.01918882]\n",
" [0.627484 0.16082744 0.00784591]\n",
" [0.75128365 0.4818543 0.0089038 ]\n",
" [0.5287086 0.129889 0.01293337]]]]\n",
"[[[[0.7523676 0.55299103 0.50501454]\n",
" [0.6715864 0.6363776 0.6933725 ]\n",
" [0.6814198 0.4866103 0.6284106 ]\n",
" [0.70497966 0.7269547 0.47494254]\n",
" [0.725492 0.43263644 0.63512313]\n",
" [0.8743075 0.9062779 0.08415875]\n",
" [0.8878517 0.39191908 0.12361848]\n",
" [0.8576821 0.98092127 0.01865703]\n",
" [0.93438905 0.3061894 0.00444269]\n",
" [0.72599715 0.7450937 0.01494715]\n",
" [0.8291069 0.4673302 0.00925723]\n",
" [0.6433895 0.7615068 0.01957834]\n",
" [0.5794453 0.4123448 0.00884816]\n",
" [0.6692753 0.71786237 0.02954632]\n",
" [0.6514322 0.16240366 0.00748545]\n",
" [0.76892793 0.548005 0.00603786]\n",
" [0.72786915 0.14814538 0.00298384]]]]\n",
"[[[[0.7544571 0.5589993 0.5312692 ]\n",
" [0.67518294 0.639856 0.6826202 ]\n",
" [0.6845417 0.49033278 0.565442 ]\n",
" [0.71926236 0.73594373 0.6952775 ]\n",
" [0.7295281 0.43944368 0.44955355]\n",
" [0.88727057 0.90499556 0.06637904]\n",
" [0.89346194 0.42927033 0.13036168]\n",
" [0.8861295 0.9576504 0.0052141 ]\n",
" [0.941174 0.30100888 0.00449833]\n",
" [0.7129339 0.74976075 0.01252097]\n",
" [0.82062745 0.46512434 0.01085407]\n",
" [0.61753285 0.8077086 0.02249154]\n",
" [0.5701724 0.39466926 0.0086208 ]\n",
" [0.6851372 0.71159065 0.0296109 ]\n",
" [0.6629783 0.42388487 0.00818127]\n",
" [0.74741197 0.4575908 0.01262113]\n",
" [0.71817815 0.71711105 0.02524224]]]]\n",
"[[[[0.7535281 0.56129754 0.39863825]\n",
" [0.67151606 0.64231324 0.6697582 ]\n",
" [0.6807487 0.49260807 0.6000627 ]\n",
" [0.7098898 0.7349076 0.5916288 ]\n",
" [0.72301507 0.43777403 0.6148603 ]\n",
" [0.87916416 0.9050416 0.07855117]\n",
" [0.90267366 0.39320117 0.10085458]\n",
" [0.855407 0.97960085 0.01494741]\n",
" [0.9457189 0.27025288 0.00509858]\n",
" [0.7599702 0.73941106 0.00651404]\n",
" [0.82689375 0.47183192 0.00618836]\n",
" [0.6297322 0.78506804 0.01913857]\n",
" [0.5668663 0.39000803 0.00823578]\n",
" [0.6707234 0.7178241 0.02519867]\n",
" [0.60586023 0.16143751 0.00663769]\n",
" [0.7674069 0.5456768 0.00301778]\n",
" [0.47094247 0.01084639 0.0180454 ]]]]\n",
"[[[[0.75740933 0.56719893 0.53072995]\n",
" [0.6753042 0.6505888 0.66324186]\n",
" [0.6803069 0.49734733 0.49259514]\n",
" [0.71286035 0.7400548 0.5936201 ]\n",
" [0.7167362 0.4440597 0.58381194]\n",
" [0.8790266 0.90203923 0.07122692]\n",
" [0.8676189 0.41336465 0.21587494]\n",
" [0.8359848 0.98228645 0.0226303 ]\n",
" [0.92990553 0.33146065 0.00604838]\n",
" [0.72698486 0.7512028 0.01230866]\n",
" [0.83815885 0.47011966 0.01237953]\n",
" [0.5979415 0.8038008 0.03007558]\n",
" [0.5600006 0.39493155 0.00790328]\n",
" [0.6754459 0.71727824 0.0328463 ]\n",
" [0.66565675 0.16487977 0.00764063]\n",
" [0.77160895 0.5497249 0.00746274]\n",
" [0.7252445 0.1416488 0.00358114]]]]\n",
"[[[[0.7623354 0.57169664 0.6470312 ]\n",
" [0.6769023 0.6559733 0.6733446 ]\n",
" [0.6832168 0.50120455 0.59907997]\n",
" [0.7085538 0.74307823 0.38065767]\n",
" [0.7171105 0.44742835 0.59641826]\n",
" [0.86475396 0.9222603 0.09229308]\n",
" [0.86980665 0.4134172 0.20340797]\n",
" [0.8535178 0.98374903 0.02321368]\n",
" [0.93098307 0.35611993 0.00567725]\n",
" [0.751837 0.74858564 0.0090858 ]\n",
" [0.8323208 0.48511037 0.01267424]\n",
" [0.51197445 0.6956989 0.03232962]\n",
" [0.57737094 0.39743015 0.00932014]\n",
" [0.6882431 0.71286005 0.02400184]\n",
" [0.7011294 0.26329187 0.00241819]\n",
" [0.77295256 0.48192185 0.00845695]\n",
" [0.7296413 0.14836398 0.00266886]]]]\n",
"[[[[0.75672716 0.577734 0.5831647 ]\n",
" [0.67806065 0.66097707 0.5917869 ]\n",
" [0.6802513 0.51030445 0.71619725]\n",
" [0.7129862 0.7441136 0.38384983]\n",
" [0.70909774 0.448641 0.61706746]\n",
" [0.8795506 0.9087746 0.12938198]\n",
" [0.87198746 0.35241854 0.20939651]\n",
" [0.8558067 0.98441863 0.03090453]\n",
" [0.953024 0.24792653 0.00939929]\n",
" [0.8463093 0.7686467 0.01108554]\n",
" [0.8606851 0.4583248 0.00836793]\n",
" [0.6929118 0.7576752 0.01983517]\n",
" [0.6332521 0.3774006 0.01634037]\n",
" [0.69062656 0.71685874 0.02607033]\n",
" [0.7795327 0.30240318 0.00229502]\n",
" [0.79129004 0.6433037 0.0030081 ]\n",
" [0.8343463 0.19535342 0.00676998]]]]\n",
"[[[[0.7645875 0.5851661 0.5009991 ]\n",
" [0.6781138 0.6661482 0.5719161 ]\n",
" [0.68243545 0.509321 0.7095413 ]\n",
" [0.70174974 0.74944293 0.53265816]\n",
" [0.70680374 0.44731784 0.63617384]\n",
" [0.8746461 0.90748495 0.13607615]\n",
" [0.8655545 0.33017975 0.1969662 ]\n",
" [0.85431886 0.98524654 0.02912685]\n",
" [0.9753305 0.02929813 0.04553336]\n",
" [0.85406744 0.7897458 0.0131231 ]\n",
" [0.85180306 0.46895486 0.01306131]\n",
" [0.5328492 0.7384746 0.03585887]\n",
" [0.60479134 0.3916992 0.01303503]\n",
" [0.691484 0.71204966 0.020338 ]\n",
" [0.8611836 0.22115585 0.0147607 ]\n",
" [0.79512846 0.66015697 0.00374684]\n",
" [0.8311658 0.17874694 0.01390225]]]]\n",
"[[[[0.7612681 0.5822718 0.48470232]\n",
" [0.67718786 0.6676005 0.6330843 ]\n",
" [0.6803931 0.50768244 0.6762897 ]\n",
" [0.71417415 0.7468723 0.44404626]\n",
" [0.70803356 0.44693455 0.6278701 ]\n",
" [0.8676468 0.9220697 0.09400415]\n",
" [0.86579555 0.41384417 0.20333719]\n",
" [0.866542 0.9836749 0.02631524]\n",
" [0.92997646 0.30748314 0.00574267]\n",
" [0.79008555 0.7702341 0.00866142]\n",
" [0.8615527 0.45829865 0.00665376]\n",
" [0.5331705 0.7297966 0.03960413]\n",
" [0.57797515 0.39430922 0.01034167]\n",
" [0.6902869 0.7122201 0.0304127 ]\n",
" [0.7269849 0.28482994 0.00299621]\n",
" [0.77072424 0.56748116 0.00637442]\n",
" [0.7598189 0.19088802 0.00329453]]]]\n",
"[[[[0.7593993 0.5742862 0.6419896 ]\n",
" [0.6731302 0.6572259 0.67864543]\n",
" [0.68161523 0.5028609 0.5595709 ]\n",
" [0.7024023 0.7381995 0.612775 ]\n",
" [0.7140734 0.44397864 0.5744155 ]\n",
" [0.8630792 0.90067667 0.1041396 ]\n",
" [0.8695666 0.35829422 0.0987446 ]\n",
" [0.87063396 0.9533366 0.01003751]\n",
" [0.9307551 0.3544409 0.00513545]\n",
" [0.7892244 0.7452752 0.0082624 ]\n",
" [0.83312076 0.46875608 0.01083755]\n",
" [0.53643304 0.7318082 0.03427449]\n",
" [0.56959605 0.4123209 0.00901252]\n",
" [0.67649174 0.7118933 0.02627909]\n",
" [0.70595825 0.28697664 0.0024133 ]\n",
" [0.7690047 0.57527995 0.00608093]\n",
" [0.7605321 0.18712366 0.00298145]]]]\n",
"[[[[0.75680435 0.56955314 0.5691139 ]\n",
" [0.67421806 0.6514261 0.7023869 ]\n",
" [0.68488085 0.5001236 0.40616238]\n",
" [0.7066088 0.7338972 0.5869669 ]\n",
" [0.7170538 0.44182587 0.56215864]\n",
" [0.8713863 0.8750627 0.08727342]\n",
" [0.86582136 0.33704087 0.09772599]\n",
" [0.86507285 0.9806504 0.02083045]\n",
" [0.93303955 0.3073354 0.00639793]\n",
" [0.75348014 0.74513614 0.00886893]\n",
" [0.8324865 0.46536085 0.01087436]\n",
" [0.5534421 0.7291894 0.02977264]\n",
" [0.5684508 0.41380924 0.01155743]\n",
" [0.6755073 0.7151139 0.02694142]\n",
" [0.6759519 0.41745526 0.00884169]\n",
" [0.7254597 0.460677 0.01428619]\n",
" [0.84042895 0.21949545 0.00881705]]]]\n",
"[[[[0.7648268 0.5689391 0.6204903 ]\n",
" [0.6768284 0.64528066 0.568036 ]\n",
" [0.68928754 0.49408025 0.5489967 ]\n",
" [0.7026331 0.7294466 0.553387 ]\n",
" [0.72274137 0.43476057 0.6790218 ]\n",
" [0.8632438 0.9048642 0.08952528]\n",
" [0.8797118 0.3741051 0.13623655]\n",
" [0.8471694 0.9830414 0.02263343]\n",
" [0.61423135 0.41771668 0.03121701]\n",
" [0.7788421 0.7287003 0.00751325]\n",
" [0.8361703 0.4640025 0.00708964]\n",
" [0.57188076 0.73459333 0.02598593]\n",
" [0.5672068 0.43093157 0.01529655]\n",
" [0.6754143 0.70953333 0.01729727]\n",
" [0.6247104 0.41486818 0.01068339]\n",
" [0.76778555 0.55158395 0.00635916]\n",
" [0.7613144 0.20918795 0.00221309]]]]\n",
"[[[[0.75639176 0.5600912 0.44967818]\n",
" [0.6688907 0.6412284 0.5995756 ]\n",
" [0.6847188 0.4876026 0.57500625]\n",
" [0.6977868 0.7285451 0.514357 ]\n",
" [0.7222296 0.43451297 0.6498115 ]\n",
" [0.86409515 0.90288484 0.07425162]\n",
" [0.87796754 0.3747397 0.13789171]\n",
" [0.8479564 0.9820902 0.01955673]\n",
" [0.9331528 0.33248562 0.00443113]\n",
" [0.77533233 0.7292597 0.00926459]\n",
" [0.8310467 0.47116226 0.01016709]\n",
" [0.61361116 0.7773411 0.02562261]\n",
" [0.5634713 0.42987245 0.01360142]\n",
" [0.6957836 0.64924073 0.01895908]\n",
" [0.7294024 0.3148284 0.00235111]\n",
" [0.72878355 0.4629222 0.01102555]\n",
" [0.7612991 0.18788491 0.00216496]]]]\n",
"[[[[0.7596633 0.5605057 0.45400923]\n",
" [0.6749369 0.6367804 0.7190248 ]\n",
" [0.69019693 0.48630652 0.5373559 ]\n",
" [0.70677793 0.7257514 0.4352892 ]\n",
" [0.7325311 0.4296082 0.55633676]\n",
" [0.8695307 0.8995473 0.08540058]\n",
" [0.8852345 0.3916849 0.13585913]\n",
" [0.8521769 0.97986996 0.01995364]\n",
" [0.9341261 0.33401322 0.00366965]\n",
" [0.7251445 0.7372665 0.01149943]\n",
" [0.8316045 0.47038454 0.00973096]\n",
" [0.61454344 0.7764441 0.02625474]\n",
" [0.5641417 0.42929953 0.01421627]\n",
" [0.810702 0.97972554 0.01402053]\n",
" [0.65708077 0.40280807 0.01500821]\n",
" [0.72632444 0.46068522 0.01167497]\n",
" [0.7567853 0.18615797 0.00205967]]]]\n",
"[[[[0.75606275 0.5554108 0.56961274]\n",
" [0.6713916 0.63369775 0.6488217 ]\n",
" [0.68683743 0.48507714 0.407418 ]\n",
" [0.7030871 0.723715 0.42513096]\n",
" [0.72787154 0.42689106 0.6527525 ]\n",
" [0.86566615 0.8988515 0.06517252]\n",
" [0.8795928 0.3956996 0.1069569 ]\n",
" [0.85112906 0.9789176 0.01767853]\n",
" [0.9327564 0.33460438 0.00405291]\n",
" [0.7454382 0.73515725 0.01051566]\n",
" [0.82872593 0.46313438 0.00873479]\n",
" [0.627358 0.75080454 0.02106762]\n",
" [0.56616354 0.42898023 0.01276314]\n",
" [0.6936358 0.6850537 0.02079061]\n",
" [0.6592976 0.40545544 0.01807436]\n",
" [0.7385682 0.46285856 0.01340044]\n",
" [0.70873594 0.6863698 0.02867314]]]]\n",
"[[[[0.755353 0.5524342 0.53868324]\n",
" [0.66475403 0.6290407 0.44761673]\n",
" [0.6836557 0.47833908 0.5011941 ]\n",
" [0.6957719 0.7145454 0.6097646 ]\n",
" [0.7287442 0.41823313 0.4994823 ]\n",
" [0.8719777 0.8766834 0.0532257 ]\n",
" [0.89203334 0.35973448 0.06120718]\n",
" [0.83240235 0.97651577 0.01377529]\n",
" [0.9333985 0.31082276 0.00385669]\n",
" [0.72906446 0.7325994 0.01579955]\n",
" [0.821437 0.45492876 0.01183349]\n",
" [0.63105214 0.7758596 0.02411717]\n",
" [0.531762 0.42240185 0.01306 ]\n",
" [0.65516806 0.6927451 0.02224565]\n",
" [0.71214956 0.39036497 0.00625795]\n",
" [0.6756599 0.7478997 0.01289028]\n",
" [0.5357456 0.1403015 0.0135498 ]]]]\n",
"[[[[0.74855936 0.5446655 0.4202887 ]\n",
" [0.6654796 0.6202251 0.5388264 ]\n",
" [0.6859152 0.4758789 0.5190922 ]\n",
" [0.69695866 0.71008104 0.5627965 ]\n",
" [0.73169255 0.42087469 0.56061953]\n",
" [0.8850256 0.8770405 0.06218594]\n",
" [0.88497186 0.37282842 0.09973353]\n",
" [0.8365849 0.9769587 0.01358491]\n",
" [0.9368925 0.01569572 0.02416804]\n",
" [0.7693851 0.7263738 0.0072616 ]\n",
" [0.8301815 0.45791328 0.00848556]\n",
" [0.63059354 0.75807685 0.01947892]\n",
" [0.5644922 0.40868783 0.01287204]\n",
" [0.7053434 0.6649854 0.01676288]\n",
" [0.7112658 0.39018887 0.00580928]\n",
" [0.7439915 0.46154878 0.01372954]\n",
" [0.7617272 0.22528112 0.00236884]]]]\n",
"[[[[0.7496729 0.5447475 0.41457582]\n",
" [0.6677711 0.6216265 0.4286046 ]\n",
" [0.6864073 0.47610706 0.5537087 ]\n",
" [0.6966295 0.7107934 0.59573096]\n",
" [0.7285936 0.41969717 0.53516775]\n",
" [0.87102044 0.8712324 0.06972241]\n",
" [0.8828644 0.3747753 0.10454199]\n",
" [0.84863555 0.9764349 0.01594841]\n",
" [0.93856066 0.01483936 0.02580392]\n",
" [0.757621 0.7288863 0.0075787 ]\n",
" [0.8250634 0.44925606 0.00912619]\n",
" [0.6310746 0.75257707 0.01921162]\n",
" [0.5621814 0.40939772 0.01139253]\n",
" [0.6707926 0.68743193 0.01930878]\n",
" [0.62259555 0.39678228 0.01666102]\n",
" [0.74705863 0.4626056 0.0169276 ]\n",
" [0.78350437 0.24584329 0.00288826]]]]\n",
"[[[[0.7549809 0.5445828 0.5229126 ]\n",
" [0.66601634 0.61928076 0.5484814 ]\n",
" [0.6880635 0.47379375 0.57380426]\n",
" [0.68573207 0.7107394 0.4951123 ]\n",
" [0.7261304 0.41920686 0.5554068 ]\n",
" [0.8663825 0.878181 0.08921984]\n",
" [0.89321196 0.35542426 0.07783821]\n",
" [0.8503892 0.9803339 0.02769583]\n",
" [0.9417094 0.01739622 0.02571741]\n",
" [0.7604243 0.72088975 0.00842088]\n",
" [0.82678646 0.45744812 0.00917628]\n",
" [0.6337683 0.7605564 0.01974016]\n",
" [0.5647687 0.41028243 0.0123688 ]\n",
" [0.81022114 0.98390615 0.01750618]\n",
" [0.65253955 0.39277613 0.00961432]\n",
" [0.7436554 0.46487045 0.01339662]\n",
" [0.7317011 0.13925931 0.00923124]]]]\n",
"[[[[0.7452249 0.54428494 0.5213853 ]\n",
" [0.66448283 0.6195215 0.53284425]\n",
" [0.68913525 0.47415766 0.61293745]\n",
" [0.69649124 0.70894974 0.56196123]\n",
" [0.74104166 0.42195803 0.60749406]\n",
" [0.87835807 0.8775072 0.06462234]\n",
" [0.90260935 0.39441055 0.07805666]\n",
" [0.8488886 0.97814435 0.01834711]\n",
" [0.9340323 0.31270215 0.00338069]\n",
" [0.6467279 0.7282929 0.02258128]\n",
" [0.82751125 0.45427725 0.00885433]\n",
" [0.6317333 0.7593632 0.02023464]\n",
" [0.5468873 0.40654123 0.01463151]\n",
" [0.8058099 0.9804455 0.01344559]\n",
" [0.70892596 0.38967866 0.0075469 ]\n",
" [0.74928206 0.46433064 0.01642981]\n",
" [0.76692915 0.23203784 0.00349167]]]]\n",
"[[[[0.7491645 0.5368122 0.3712892 ]\n",
" [0.66521263 0.6182802 0.57105714]\n",
" [0.69111055 0.470501 0.6803403 ]\n",
" [0.69185686 0.714084 0.5989028 ]\n",
" [0.73427385 0.42001688 0.51102525]\n",
" [0.8673553 0.8802296 0.06376344]\n",
" [0.88512313 0.39509663 0.09628919]\n",
" [0.84823644 0.9805721 0.02144244]\n",
" [0.93365455 0.31331939 0.00377199]\n",
" [0.68196476 0.7351937 0.01543474]\n",
" [0.829226 0.45432752 0.00973982]\n",
" [0.63349795 0.7604518 0.02018663]\n",
" [0.5634523 0.4082203 0.01178661]\n",
" [0.8008349 0.98301136 0.01257056]\n",
" [0.6260391 0.39572534 0.01162031]\n",
" [0.7495369 0.46289954 0.01545978]\n",
" [0.58464706 0.14106965 0.01150295]]]]\n",
"[[[[0.75177234 0.5431752 0.46426326]\n",
" [0.66597813 0.62060165 0.56205255]\n",
" [0.6885934 0.47461042 0.63456583]\n",
" [0.69348013 0.70829535 0.5806603 ]\n",
" [0.7290052 0.41916105 0.5472386 ]\n",
" [0.8775834 0.8776127 0.07129836]\n",
" [0.88185596 0.3541958 0.1134876 ]\n",
" [0.83394253 0.9793145 0.02912423]\n",
" [0.9449572 0.02023222 0.03005952]\n",
" [0.7035703 0.72890806 0.017196 ]\n",
" [0.8431985 0.4561695 0.00588366]\n",
" [0.6267041 0.73642385 0.01722533]\n",
" [0.5659275 0.40891048 0.01330844]\n",
" [0.789032 0.9830954 0.01982373]\n",
" [0.7389865 0.34419093 0.00319308]\n",
" [0.7978 0.98921967 0.02964219]\n",
" [0.76265275 0.22450319 0.00382206]]]]\n",
"[[[[0.7529495 0.54403687 0.48035735]\n",
" [0.6676023 0.6225929 0.4782564 ]\n",
" [0.68888414 0.47573417 0.61105114]\n",
" [0.69328374 0.7146677 0.66149426]\n",
" [0.73278606 0.41987884 0.54395336]\n",
" [0.8797221 0.8820505 0.07468992]\n",
" [0.8844787 0.35304114 0.12364998]\n",
" [0.8482095 0.98042744 0.01815847]\n",
" [0.94319975 0.01887454 0.02617699]\n",
" [0.665545 0.7289991 0.01737782]\n",
" [0.8462851 0.4519925 0.00650957]\n",
" [0.63173556 0.7595009 0.02118641]\n",
" [0.54834735 0.40637362 0.01177227]\n",
" [0.7901796 0.9827391 0.01421547]\n",
" [0.7385287 0.3431846 0.00301895]\n",
" [0.7501001 0.46287605 0.01628122]\n",
" [0.763044 0.22699931 0.00302061]]]]\n",
"[[[[0.75457096 0.5468812 0.5140519 ]\n",
" [0.6701157 0.6232022 0.50986034]\n",
" [0.68938655 0.47703737 0.5239502 ]\n",
" [0.6926639 0.7133515 0.57939017]\n",
" [0.7287118 0.41806003 0.5535746 ]\n",
" [0.86854637 0.8797848 0.06130716]\n",
" [0.88390386 0.35380536 0.11390927]\n",
" [0.8348884 0.978954 0.01518819]\n",
" [0.93787944 0.01716651 0.0259929 ]\n",
" [0.7656239 0.72707593 0.00555813]\n",
" [0.8539766 0.45082554 0.00465798]\n",
" [0.6270158 0.7369839 0.01537055]\n",
" [0.5642415 0.40790004 0.01220286]\n",
" [0.6712768 0.68908656 0.01582316]\n",
" [0.635303 0.39198124 0.01350531]\n",
" [0.74741924 0.45970488 0.01833916]\n",
" [0.71254104 0.13769092 0.00868428]]]]\n",
"[[[[0.75267214 0.54851437 0.5097028 ]\n",
" [0.67057776 0.6260982 0.5995899 ]\n",
" [0.68801427 0.47909075 0.4597797 ]\n",
" [0.6971047 0.7145581 0.60642964]\n",
" [0.7306568 0.4197342 0.5143704 ]\n",
" [0.89085335 0.8360633 0.05950212]\n",
" [0.8811319 0.33204672 0.15358394]\n",
" [0.83134687 0.9728076 0.01419219]\n",
" [0.9539048 0.02285342 0.03217033]\n",
" [0.6453907 0.734662 0.0244453 ]\n",
" [0.8470265 0.44550502 0.00698024]\n",
" [0.6879741 0.71817744 0.01347917]\n",
" [0.6627833 0.35922366 0.02237874]\n",
" [0.66452837 0.69865054 0.0205673 ]\n",
" [0.71090114 0.3834374 0.00878933]\n",
" [0.727795 0.4370546 0.02001688]\n",
" [0.82811064 0.16154301 0.01227573]]]]\n",
"[[[[0.76538646 0.5545435 0.6399976 ]\n",
" [0.6768744 0.62819445 0.58796835]\n",
" [0.6982639 0.48129112 0.48939443]\n",
" [0.6932148 0.7135231 0.5699364 ]\n",
" [0.73416233 0.4233684 0.5233113 ]\n",
" [0.87950706 0.8766333 0.04056555]\n",
" [0.89042866 0.3906047 0.12141103]\n",
" [0.81259865 0.97818995 0.01828521]\n",
" [0.6935348 0.40338442 0.01981768]\n",
" [0.6855886 0.7365116 0.02403 ]\n",
" [0.82830393 0.45034564 0.01089281]\n",
" [0.64436626 0.7433214 0.02347228]\n",
" [0.5819894 0.4112261 0.01544389]\n",
" [0.6664004 0.72160834 0.01825351]\n",
" [0.66219413 0.39577755 0.01344919]\n",
" [0.64870876 0.75414467 0.01776674]\n",
" [0.62736815 0.1459674 0.00814521]]]]\n",
"[[[[0.77170056 0.5678687 0.46812382]\n",
" [0.69084764 0.6480457 0.6868976 ]\n",
" [0.71106195 0.49917075 0.39320046]\n",
" [0.7134408 0.7247013 0.42497683]\n",
" [0.7438504 0.44627213 0.6200596 ]\n",
" [0.8572234 0.8685528 0.09649947]\n",
" [0.8814904 0.4344805 0.23727894]\n",
" [0.82734644 0.9802799 0.02920359]\n",
" [0.9358601 0.3373869 0.00424373]\n",
" [0.7051983 0.74881214 0.01630992]\n",
" [0.836841 0.4565016 0.01820186]\n",
" [0.6350222 0.76076335 0.02535224]\n",
" [0.585178 0.44940567 0.01793239]\n",
" [0.68777037 0.7256253 0.01959544]\n",
" [0.6826195 0.4109574 0.01177788]\n",
" [0.67448777 0.7570647 0.01432455]\n",
" [0.8164326 0.4452649 0.01090702]]]]\n",
"[[[[0.76052827 0.58890975 0.64260745]\n",
" [0.67902124 0.6564013 0.50132835]\n",
" [0.69882363 0.5093384 0.551745 ]\n",
" [0.7052132 0.7300887 0.46430898]\n",
" [0.7343291 0.44339272 0.5813936 ]\n",
" [0.880561 0.87309384 0.07182789]\n",
" [0.88434803 0.3530036 0.22780529]\n",
" [0.8153276 0.97957057 0.01881588]\n",
" [0.950863 0.02098568 0.03293142]\n",
" [0.7788691 0.74628186 0.01115233]\n",
" [0.86420274 0.35158753 0.01510763]\n",
" [0.6436593 0.75550663 0.01755488]\n",
" [0.61888 0.4319473 0.01913977]\n",
" [0.67591953 0.72471374 0.02328083]\n",
" [0.6875154 0.4108071 0.01667744]\n",
" [0.68475556 0.76167816 0.01056001]\n",
" [0.7585579 0.40147346 0.00301889]]]]\n",
"[[[[0.7683902 0.5931508 0.604784 ]\n",
" [0.6822653 0.66299224 0.3333863 ]\n",
" [0.7004149 0.5100002 0.4882453 ]\n",
" [0.6978667 0.73260975 0.6166853 ]\n",
" [0.7312719 0.44401714 0.51097053]\n",
" [0.8608626 0.89029765 0.07008126]\n",
" [0.8800056 0.3746369 0.23837212]\n",
" [0.8287382 0.98098636 0.02140772]\n",
" [0.95111364 0.02136866 0.05688015]\n",
" [0.77805704 0.748134 0.01159784]\n",
" [0.8619919 0.35633656 0.02425155]\n",
" [0.63005877 0.75199693 0.01683202]\n",
" [0.56933624 0.44889486 0.02453935]\n",
" [0.6772028 0.7185285 0.02021337]\n",
" [0.6837036 0.40937817 0.01941228]\n",
" [0.77072334 0.7490318 0.00427058]\n",
" [0.8458605 0.20016834 0.01280782]]]]\n",
"[[[[0.77548474 0.5881134 0.5348297 ]\n",
" [0.687863 0.6608709 0.55907595]\n",
" [0.7026254 0.50894684 0.46027425]\n",
" [0.70883125 0.7300577 0.45353046]\n",
" [0.7341038 0.44484806 0.40151408]\n",
" [0.8813552 0.8695483 0.07936177]\n",
" [0.8832884 0.3718981 0.23181331]\n",
" [0.81439614 0.9800819 0.02412796]\n",
" [0.68695664 0.4078451 0.04398164]\n",
" [0.7785522 0.7429451 0.01391652]\n",
" [0.8628356 0.35312933 0.02322519]\n",
" [0.6295806 0.7509086 0.01662359]\n",
" [0.58452564 0.44902453 0.01789433]\n",
" [0.6774842 0.7204456 0.02065083]\n",
" [0.68411446 0.40732357 0.01659212]\n",
" [0.72777575 0.7567208 0.00539729]\n",
" [0.7182571 0.4061079 0.00475335]]]]\n",
"[[[[0.7693471 0.59965724 0.36991596]\n",
" [0.6818526 0.6670515 0.38974804]\n",
" [0.70106333 0.5175765 0.4611333 ]\n",
" [0.69447726 0.7349643 0.61808074]\n",
" [0.73176885 0.44736147 0.5891992 ]\n",
" [0.86974543 0.89801687 0.11354026]\n",
" [0.8816852 0.3671384 0.2801941 ]\n",
" [0.80949795 0.9835477 0.03485346]\n",
" [0.94798386 0.28742173 0.01020238]\n",
" [0.81264925 0.75399184 0.01023975]\n",
" [0.8647613 0.35352 0.03284878]\n",
" [0.64899635 0.77828157 0.01253235]\n",
" [0.57091916 0.44518888 0.01936477]\n",
" [0.80979556 0.9862895 0.00712493]\n",
" [0.85506654 0.2283178 0.02418157]\n",
" [0.7837287 0.7857059 0.0027315 ]\n",
" [0.86299825 0.20501831 0.01727876]]]]\n"
]
}
],
"source": [
"# acessing web cam with openCV\n",
"cap = cv2.VideoCapture(0)\n",
"squat_counter = 0\n",
"count_bool = True \n",
"frame_counter = 0\n",
"while cap.isOpened():\n",
" \n",
" # counting the frames to be used in the squat detector \n",
" frame_counter = frame_counter + 1 \n",
" \n",
" # read the frames from the web cam\n",
" ret, frame = cap.read()\n",
" \n",
" # reshape image to be in proper format of the model\n",
" img = frame.copy()\n",
" img = tf.image.resize_with_pad(np.expand_dims(img, axis=0), 192,192)\n",
" input_image = tf.cast(img, dtype=tf.float32)\n",
"\n",
" # setup input and output \n",
" input_details = interpreter.get_input_details()\n",
" output_details = interpreter.get_output_details()\n",
" \n",
" # make predicitions\n",
" interpreter.set_tensor(input_details[0]['index'], np.array(input_image))\n",
" interpreter.invoke()\n",
" \n",
" # get the results\n",
" keypoints_with_scores = interpreter.get_tensor(output_details[0]['index'])\n",
" print(keypoints_with_scores)\n",
" \n",
" # rendering \n",
" draw_connections(frame, keypoints_with_scores, EDGES, 0.35)\n",
" draw_keypoints(frame, keypoints_with_scores, 0.35)\n",
" \n",
" # squat counting \n",
" squat_counter, count_bool = count_squats(frame, keypoints_with_scores, 0.35, squat_counter, count_bool) \n",
" \n",
" # Show the rendered images \n",
" cv2.imshow('MoveNet Lighting', frame)\n",
" \n",
" # Stop reading if q is pressed\n",
" if cv2.waitKey(10) & 0xff == ord('q'):\n",
" break \n",
"\n",
" \n",
"cap.release()\n",
"cv2.destroyAllWindows()\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Other fitness movments as push up, lunges and squat jumping by adapting the consscuitve change in the keypoints and if they met a certain conditions it would be counted "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
================================================
FILE: Computer Vision/Pose Estimation & Squat Counter/Readme.md
================================================
## Pose Estimation & Squat Counter
### Introdction ###
Pose estimation refers to a general problem in computer vision techniques that detect human figures in images and videos, so that one could determine, for example, where someone’s elbow shows up in an image. It is important to be aware of the fact that pose estimation merely estimates where key body joints are and does not recognize who is in an image or video. The pose estimation models takes a processed camera image as the input and outputs information about keypoints. The keypoints detected are indexed by a part ID, with a confidence score between 0.0 and 1.0. The confidence score indicates the probability that a keypoint exists in that position. An example of this is as shown in the video below.

Based on the results of the pose estimatiaon, the squat movment was detected and counted and printed on the screen as shown in the video below.

---
### Methods
The model used is MoveNet, the MoveNet is available in two flavors:
* MoveNet.Lightning is smaller, faster but less accurate than the Thunder version. It can run in realtime on modern smartphones.
* MoveNet.Thunder is the more accurate version but also larger and slower than Lightning. It is useful for the use cases that require higher accuracy.
MoveNet.Lightning is used here.
MoveNet is the state-of-the-art pose estimation model that can detect these 17 key-points:
* Nose
* Left and right eye
* Left and right ear
* Left and right shoulder
* Left and right elbow
* Left and right wrist
* Left and right hip
* Left and right knee
* Left and right ankle
The various body joints detected by the pose estimation model are tabulated below:
| Id | Part |
| --- | ----------- |
| 0 | nose |
| 1 | leftEye |
| 2 | rightEye |
| 3 | leftEar |
| 4 | rightEar |
|5 | leftShoulder |
| 6 | rightShoulder |
| 7 | leftElbow |
| 8 | rightElbow |
| 9 | leftWrist |
| 10 | rightWrist |
| 11 | leftHip |
| 12 | rightHip |
| 13 | leftKnee |
| 14 | rightKnee |
| 15 | leftAnkle |
| 16 | rightAnkle |
---
### Install dependencies
```
pip install -r requirements
```
================================================
FILE: Computer Vision/Pose Estimation & Squat Counter/requirments
================================================
tensorflow
tensorflow_hub
opencv-python
numpy
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/IBM_cloud_configuration.md.txt
================================================
ibmcloud login
ibmcloud target -r eu-de
# configurations
ibmcloud cos bucket-cors-put --bucket tensorflowjsrealtimesign --cors-configuration file://corsconfig.json
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/manifest.json
================================================
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/readme.md
================================================
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/robots.txt
================================================
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Readme.md
================================================
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
## Available Scripts
In the project directory, you can run:
### `yarn start`
Runs the app in the development mode.<br />
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
The page will reload if you make edits.<br />
You will also see any lint errors in the console.
### `yarn test`
Launches the test runner in the interactive watch mode.<br />
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
### `yarn build`
Builds the app for production to the `build` folder.<br />
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.<br />
Your app is ready to be deployed!
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
### `yarn eject`
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
## Learn More
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
To learn React, check out the [React documentation](https://reactjs.org/).
### Code Splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
### Analyzing the Bundle Size
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
### Making a Progressive Web App
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
### Advanced Configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
### Deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
### `yarn build` fails to minify
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/package.json
================================================
{
"name": "handpose",
"version": "0.1.0",
"private": true,
"dependencies": {
"@tensorflow/tfjs": "^3.1.0",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.3",
"react-webcam": "^5.2.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/App.css
================================================
.App {
text-align: center;
}
.App-logo {
height: 40vmin;
pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 20s linear;
}
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #61dafb;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/App.js
================================================
// Import dependencies
import React, { useRef, useState, useEffect } from "react";
import * as tf from "@tensorflow/tfjs";
import Webcam from "react-webcam";
import "./App.css";
import { nextFrame } from "@tensorflow/tfjs";
// 2. TODO - Import drawing utility here
// e.g. import { drawRect } from "./utilities";
import { drawRect } from "./utilities";
function App() {
const webcamRef = useRef(null);
const canvasRef = useRef(null);
// Main function
const runCoco = async () => {
// 3. TODO - Load network
// e.g. const net = await cocossd.load();
// https://tensorflowjsrealtimesign.s3.eu-de.cloud-object-storage.appdomain.cloud/model.json
const net = await tf.loadGraphModel('https://tensorflowjsrealtimesign.s3.eu-de.cloud-object-storage.appdomain.cloud/model.json')
// Loop and detect hands
setInterval(() => {
detect(net);
}, 16.7);
};
const detect = async (net) => {
// Check data is available
if (
typeof webcamRef.current !== "undefined" &&
webcamRef.current !== null &&
webcamRef.current.video.readyState === 4
) {
// Get Video Properties
const video = webcamRef.current.video;
const videoWidth = webcamRef.current.video.videoWidth;
const videoHeight = webcamRef.current.video.videoHeight;
// Set video width
webcamRef.current.video.width = videoWidth;
webcamRef.current.video.height = videoHeight;
// Set canvas height and width
canvasRef.current.width = videoWidth;
canvasRef.current.height = videoHeight;
// 4. TODO - Make Detections
const img = tf.browser.fromPixels(video)
const resized = tf.image.resizeBilinear(img, [640, 480])
const casted = resized.cast('int32')
const expanded = casted.expandDims(0)
const obj = await net.executeAsync(expanded)
console.log(obj)
const boxes = await obj[1].array()
const classes = await obj[6].array()
const scores = await obj[5].array()
// Draw mesh
const ctx = canvasRef.current.getContext("2d");
// 5. TODO - Update drawing utility
// drawSomething(obj, ctx)
window.requestAnimationFrame(() => { drawRect(boxes[0], classes[0], scores[0], 0.9, videoWidth, videoHeight, ctx) });
tf.dispose(img)
tf.dispose(resized)
tf.dispose(casted)
tf.dispose(expanded)
tf.dispose(obj)
}
};
useEffect(() => { runCoco() }, []);
return (
<div className="App">
<header className="App-header">
<Webcam
ref={webcamRef}
muted={true}
style={{
position: "absolute",
marginLeft: "auto",
marginRight: "auto",
left: 0,
right: 0,
textAlign: "center",
zindex: 9,
width: 640,
height: 480,
}}
/>
<canvas
ref={canvasRef}
style={{
position: "absolute",
marginLeft: "auto",
marginRight: "auto",
left: 0,
right: 0,
textAlign: "center",
zindex: 8,
width: 640,
height: 480,
}}
/>
</header>
</div>
);
}
export default App;
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/index.css
================================================
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/index.js
================================================
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/readme.md
================================================
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/utilities.js
================================================
// Define our labelmap
const labelMap = {
1: { name: 'Hello', color: 'red' },
2: { name: 'Yes', color: 'yellow' },
3: { name: 'NO', color: 'lime' },
4: { name: 'Thank_you', color: 'blue' },
5: { name: 'I_Love_You', color: 'purple' },
}
const width_scale = 2
const length_scale = 1.5
// Define a drawing function
export const drawRect = (boxes, classes, scores, threshold, imgWidth, imgHeight, ctx) => {
for (let i = 0; i <= boxes.length; i++) {
if (boxes[i] && classes[i] && scores[i] > threshold) {
// Extract variables
const [y, x, height, width] = boxes[i]
const text = classes[i]
// Set styling
ctx.strokeStyle = labelMap[text]['color']
ctx.lineWidth = 10
ctx.fillStyle = 'white'
ctx.font = '30px Arial'
if (labelMap[text]['name'] == "Hello"){
const width_scale = 2.5
const length_scale = 2
} else if (labelMap[text]['name'] == "Yes") {
const width_scale = 1.5
const length_scale = 2.5
} else if (labelMap[text]['name'] == "No"){
const width_scale = 1.5
const length_scale = 2.5
} else if (labelMap[text]['name'] == "Thank_you"){
const width_scale = 2
const length_scale = 2.5
} else if (labelMap[text]['name'] == "I_Love_You"){
const width_scale = 1.2
const length_scale = 1.5
} else {
const width_scale = 2
const length_scale = 1.5
}
// DRAW!!
ctx.beginPath()
ctx.fillText(labelMap[text]['name'] + ' - ' + Math.round(scores[i] * 100) / 100, x * imgWidth, y * imgHeight -10)
ctx.rect(x * imgWidth, y * imgHeight, width * imgWidth /width_scale, height * imgHeight /length_scale);
ctx.stroke()
}
}
}
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/Readme.md
================================================
================================================
FILE: Computer Vision/Real Time Sign Language Interpretation App/Sign-language_detection.ipynb
================================================
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import cv2\n",
"import os\n",
"import time \n",
"import uuid"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"image_path = 'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\Tensorflow\\workspace\\images\\created_images'"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"labels = ['hello','thanks','yes','no','iloveyou']\n",
"number_imgs = 15"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"for label in labels:\n",
" os.makedirs(os.path.join(image_path,label))\n",
" cap = cv2.VideoCapture(0)\n",
" print('Collecting images for {}'.format(label))\n",
" time.sleep(3)\n",
" for imgnum in range(number_imgs):\n",
" ret, frame = cap.read()\n",
" imagename = os.path.join(image_path, label, label+'.'+'{}.jpg'.format(str(uuid.uuid1())))\n",
" cv2.imwrite(imagename, frame)\n",
" cv2.imshow(label, frame)\n",
" time.sleep(2)\n",
" \n",
" if cv2.waitKey(1) & 0xff == ord('q'):\n",
" break\n",
" \n",
" cap.release() \n",
" cv2.destroyAllWindows() "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Setup paths "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"WORKSPACE_PATH = 'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\Tensorflow\\workspace'\n",
"SCRIPTS_PATH = 'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\Tensorflow\\scripts'\n",
"APIMODEL_PATH = 'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\models'\n",
"ANNOTATION_PATH = WORKSPACE_PATH + '/annotations'\n",
"IMAGE_PATH = WORKSPACE_PATH + '\\images'\n",
"MODEL_PATH = WORKSPACE_PATH + '\\models'\n",
"PRETRAINED_MODEL_PATH = WORKSPACE_PATH+'\\pre-trained-models'\n",
"CONFIG_PATH = MODEL_PATH + '\\my_ssd_mobnet\\pipeline.config'\n",
"\n",
"CHECKPOINT_PATH = MODEL_PATH + '\\my_ssd_mobnet'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create Label Map"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"labels = [{'name':'hello', 'id':1}, \n",
" {'name':'yes', 'id':2}, \n",
" {'name':'no', 'id':3}, \n",
" {'name':'thankyou', 'id':4}, \n",
" {'name':'iloveyou', 'id':5}\n",
" \n",
" ]\n",
"\n",
"with open(ANNOTATION_PATH + '\\label_map.pbtxt', 'w') as f:\n",
" for label in labels:\n",
" f.write('item { \\n')\n",
" f.write('\\tname:\\'{}\\'\\n'.format(label['name']))\n",
" f.write('\\tid:{}\\n'.format(label['id']))\n",
" f.write('}\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create TF records"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x {IMAGE_PATH + '/train'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/train.record'}\n",
"\n",
"!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x {IMAGE_PATH + '/test'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/test.record'}\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 4. Copy Model Config to Training Folder"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"CUSTOM_MODEL_NAME = 'my_ssd_mobnet' "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!mkdir {'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\Tensorflow\\workspace\\models\\\\' + CUSTOM_MODEL_NAME}\n",
"\n",
"!copy {'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\Tensorflow\\workspace\\pre-trained-models\\ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8\\pipeline.config'} {'D:\\work_study\\projects\\Computer_Vision\\Sign_language_detection\\RealTimeObjectDetection\\Tensorflow\\workspace\\models\\my_ssd_mobnet'}\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5. Update Config For Transfer Learning"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"from object_detection.utils import config_util\n",
"from object_detection.protos import pipeline_pb2\n",
"from google.protobuf import text_format"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"CONFIG_PATH = MODEL_PATH+'/'+CUSTOM_MODEL_NAME+'/pipeline.config'"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"config = config_util.get_configs_from_pipeline_file(CONFIG_PATH)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"config"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()\n",
"with tf.io.gfile.GFile(CONFIG_PATH, \"r\") as f: \n",
" proto_str = f.read() \n",
" text_format.Merge(proto_str, pipeline_config) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pipeline_config.model.ssd.num_classes = 2\n",
"pipeline_config.train_config.batch_size = 4\n",
"pipeline_config.train_config.fine_tune_checkpoint = PRETRAINED_MODEL_PATH+'/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8/checkpoint/ckpt-0'\n",
"pipeline_config.train_config.fine_tune_checkpoint_type = \"detection\"\n",
"pipeline_config.train_input_reader.label_map_path= ANNOTATION_PATH + '/label_map.pbtxt'\n",
"pipeline_config.train_input_reader.tf_record_input_reader.input_path[:] = [ANNOTATION_PATH + '/train.record']\n",
"pipeline_config.eval_input_reader[0].label_map_path = ANNOTATION_PATH + '/label_map.pbtxt'\n",
"pipeline_config.eval_input_reader[0].tf_record_input_reader.input_path[:] = [ANNOTATION_PATH + '/test.record']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"config_text = text_format.MessageToString(pipeline_config) \n",
"with tf.io.gfile.GFile(CONFIG_PATH, \"wb\") as f: \n",
" f.write(config_text) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 6. Train the model"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"!python {'D:\\\\work_study\\projects\\\\Computer_Vision\\\\Sign_language_detection\\\\RealTimeObjectDetection\\\\Tensorflow\\\\workspace\\\\models\\\\research\\\\object_detection\\\\model_main_tf2.py'} \\\n",
"--model_dir= {'D:\\\\work_study\\projects\\\\Computer_Vision\\\\Sign_language_detection\\\\RealTimeObjectDetection\\\\Tensorflow\\\\workspace\\\\models\\\\my_ssd_mobnet'} \\\n",
"--pipeline_config_path={'D:\\\\work_study\\\\projects\\\\Computer_Vision\\\\Sign_language_detection\\\\RealTimeObjectDetection\\\\Tensorflow\\\\workspace\\\\models\\\\my_ssd_mobnet\\\\pipeline.config'} \\\n",
"--num_train_steps=20000\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 7. Load Train Model From Checkpoint"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from object_detection.utils import label_map_util\n",
"from object_detection.utils import visualization_utils as viz_utils\n",
"from object_detection.builders import model_builder"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# Load pipeline config and build a detection model\n",
"configs = config_util.get_configs_from_pipeline_file(CONFIG_PATH)\n",
"detection_model = model_builder.build(model_config=configs['model'], is_training=False)\n",
"\n",
"# Restore checkpoint\n",
"ckpt = tf.compat.v2.train.Checkpoint(model=detection_model)\n",
"ckpt.restore(os.path.join(CHECKPOINT_PATH, 'ckpt-20')).expect_partial()\n",
"\n",
"@tf.function\n",
"def detect_fn(image):\n",
" image, shapes = detection_model.preprocess(image)\n",
" prediction_dict = detection_model.predict(image, shapes)\n",
" detections = detection_model.postprocess(prediction_dict, shapes)\n",
" return detections"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 8. Detect in Real-Time"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"import cv2 \n",
"import numpy as np\n",
"import tensorflow as tf\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"category_index = label_map_util.create_category_index_from_labelmap(ANNOTATION_PATH+'/label_map.pbtxt')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# Setup capture\n",
"cap = cv2.VideoCapture(0)\n",
"width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))\n",
"height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"while True: \n",
" ret, frame = cap.read()\n",
" image_np = np.array(frame)\n",
" \n",
" input_tensor = tf.convert_to_tensor(np.expand_dims(image_np, 0), dtype=tf.float32)\n",
" detections = detect_fn(input_tensor)\n",
" \n",
" num_detections = int(detections.pop('num_detections'))\n",
" detections = {key: value[0, :num_detections].numpy()\n",
" for key, value in detections.items()}\n",
" detections['num_detections'] = num_detections\n",
"\n",
" # detection_classes should be ints.\n",
" detections['detection_classes'] = detections['detection_classes'].astype(np.int64)\n",
"\n",
" label_id_offset = 1\n",
" image_np_with_detections = image_np.copy()\n",
"\n",
" viz_utils.visualize_boxes_and_labels_on_image_array(\n",
" image_np_with_detections,\n",
" detections['detection_boxes'],\n",
" detections['detection_classes']+label_id_offset,\n",
" detections['detection_scores'],\n",
" category_index,\n",
" use_normalized_coordinates=True,\n",
" max_boxes_to_draw=5,\n",
" min_score_thresh=.5,\n",
" agnostic_mode=False)\n",
"\n",
" cv2.imshow('object detection', cv2.resize(image_np_with_detections, (800, 600)))\n",
" \n",
" if cv2.waitKey(1) & 0xFF == ord('q'):\n",
" cap.release()\n",
" break"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
================================================
FILE: Data Visualization/Python/Immigration_to_Canda_Data_Visualization.ipynb
================================================
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data Visualization\n",
"\n",
"Estimated time needed: **30** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"- Create Data Visualization with Python\n",
"- Use various Python libraries for visualization\n",
"- Create additional labs namely area plots, histogram and bar charts\n",
"- Create pie charts, box plots, scatter plots and bubble charts\n",
"- Create Word cloud and Waffle charts\n",
"- Create regression plots with Seaborn library\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## The Dataset: Immigration to Canada from 1980 to 2013 <a id=\"2\"></a>\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Dataset Source: [International migration flows to and from selected countries - The 2015 revision](http://www.un.org/en/development/desa/population/migration/data/empirical2/migrationflows.shtml?cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork-20297740&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork-20297740&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ).\n",
"\n",
"The dataset contains annual data on the flows of international immigrants as recorded by the countries of destination. The data presents both inflows and outflows according to the place of birth, citizenship or place of previous / next residence both for foreigners and nationals. The current version presents data pertaining to 45 countries.\n",
"\n",
"In this lab, we will focus on the Canadian immigration data.\n",
"\n",
"The Canada Immigration dataset can be fetched from <a href=\"https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork/Data%20Files/Canada.xlsx\">here</a>.\n",
"\n",
"* * *\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"The first thing we'll do is import two key data analysis modules: _pandas_ and **Numpy**.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import numpy as np # useful for many scientific computing in Python\n",
"import pandas as pd # primary data structure library"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Let's download and import our primary Canadian Immigration dataset using _pandas_ `read_excel()` method. Normally, before we can do that, we would need to download a module which _pandas_ requires to read in excel files. This module is **xlrd**. For your convenience, we have pre-installed this module, so you would not have to worry about that. Otherwise, you would need to run the following line of code to install the **xlrd** module:\n",
"\n",
"```\n",
"!conda install -c anaconda xlrd --yes\n",
"```\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Now we are ready to read in our data.\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data read into a pandas dataframe!\n"
]
}
],
"source": [
"df_can = pd.read_excel('https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DV0101EN-SkillsNetwork/Data%20Files/Canada.xlsx',\n",
" sheet_name='Canada by Citizenship',\n",
" skiprows=range(20),\n",
" skipfooter=2)\n",
"\n",
"print ('Data read into a pandas dataframe!')"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Let's view the top 5 rows of the dataset using the `head()` function.\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Type</th>\n",
" <th>Coverage</th>\n",
" <th>OdName</th>\n",
" <th>AREA</th>\n",
" <th>AreaName</th>\n",
" <th>REG</th>\n",
" <th>RegName</th>\n",
" <th>DEV</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>...</th>\n",
" <th>2004</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Afghanistan</td>\n",
" <td>935</td>\n",
" <td>Asia</td>\n",
" <td>5501</td>\n",
" <td>Southern Asia</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>16</td>\n",
" <td>...</td>\n",
" <td>2978</td>\n",
" <td>3436</td>\n",
" <td>3009</td>\n",
" <td>2652</td>\n",
" <td>2111</td>\n",
" <td>1746</td>\n",
" <td>1758</td>\n",
" <td>2203</td>\n",
" <td>2635</td>\n",
" <td>2004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Albania</td>\n",
" <td>908</td>\n",
" <td>Europe</td>\n",
" <td>925</td>\n",
" <td>Southern Europe</td>\n",
" <td>901</td>\n",
" <td>Developed regions</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>1450</td>\n",
" <td>1223</td>\n",
" <td>856</td>\n",
" <td>702</td>\n",
" <td>560</td>\n",
" <td>716</td>\n",
" <td>561</td>\n",
" <td>539</td>\n",
" <td>620</td>\n",
" <td>603</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Algeria</td>\n",
" <td>903</td>\n",
" <td>Africa</td>\n",
" <td>912</td>\n",
" <td>Northern Africa</td>\n",
" <td>902</td
gitextract_3mffmjth/
├── Computer Vision/
│ ├── Pose Estimation & Squat Counter/
│ │ ├── Pose Estimation and squat counter using MoveNet.ipynb
│ │ ├── Readme.md
│ │ └── requirments
│ └── Real Time Sign Language Interpretation App/
│ ├── IBM_cloud_configuration.md.txt
│ ├── ReactComputerVisionTemplate/
│ │ ├── Public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ ├── readme.md
│ │ │ └── robots.txt
│ │ ├── Readme.md
│ │ ├── package.json
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── readme.md
│ │ └── utilities.js
│ ├── Readme.md
│ └── Sign-language_detection.ipynb
├── Data Visualization/
│ └── Python/
│ ├── Immigration_to_Canda_Data_Visualization.ipynb
│ ├── Readme.dm
│ └── Spatial visualization of San Francisco incidents.ipynb
├── Deep Learning/
│ └── Classification/
│ └── Melenoma_Classification/
│ ├── Readme.md
│ ├── deep-learning-models/
│ │ ├── CNN_model.py
│ │ ├── __init__.py
│ │ ├── main.py
│ │ ├── readme.md
│ │ └── training.py
│ ├── evaluation-metrics/
│ │ ├── __init__.py
│ │ ├── classification_metrics.py
│ │ ├── f1_score.py
│ │ └── readme.md
│ ├── loading and storing/
│ │ ├── __init__.py
│ │ ├── loading_images.py
│ │ ├── loading_storing_h5py.py
│ │ └── readme.md
│ ├── main.py
│ ├── preprocessing/
│ │ ├── __init__.py
│ │ ├── exploration.py
│ │ ├── preprocessing.py
│ │ └── readme.md
│ └── readme.md
├── Machine Learning/
│ ├── Classification/
│ │ ├── Alzhimers CV-BOLD Classification/
│ │ │ ├── Best_mask.py
│ │ │ ├── Best_mask2.py
│ │ │ ├── Model.py
│ │ │ ├── confidence_interval_mask.py
│ │ │ ├── data_preprocessing.py
│ │ │ ├── deep learning/
│ │ │ │ ├── CNN_based_models/
│ │ │ │ │ ├── AlexNet.py
│ │ │ │ │ ├── CNN.py
│ │ │ │ │ ├── CNN_feature_extractor.py
│ │ │ │ │ ├── DenseNet121.py
│ │ │ │ │ ├── InceptionResNetV2.py
│ │ │ │ │ ├── LeNet.py
│ │ │ │ │ ├── ResNet50.py
│ │ │ │ │ ├── VGG.py
│ │ │ │ │ ├── VGG_pretrained.py
│ │ │ │ │ ├── ZFNet.py
│ │ │ │ │ ├── optimizers.py
│ │ │ │ │ ├── readme.md
│ │ │ │ │ └── simple_model.py
│ │ │ │ ├── evaluation/
│ │ │ │ │ ├── metrics.py
│ │ │ │ │ ├── model_evaluation.py
│ │ │ │ │ └── readme.md
│ │ │ │ ├── main.py
│ │ │ │ ├── preprocessing/
│ │ │ │ │ ├── data_augmentation.py
│ │ │ │ │ ├── data_preprocessing.py
│ │ │ │ │ ├── preprocessing_methods.py
│ │ │ │ │ └── readme.md
│ │ │ │ └── storing_loading/
│ │ │ │ ├── generate_result_.py
│ │ │ │ ├── load_data.py
│ │ │ │ └── readme.md
│ │ │ ├── generate_result.py
│ │ │ ├── hyper_opt.py
│ │ │ ├── load_data.py
│ │ │ ├── load_models.py
│ │ │ ├── main.py
│ │ │ ├── pykliep.py
│ │ │ ├── readme.md
│ │ │ ├── sample_test.py
│ │ │ ├── shuffle.py
│ │ │ └── writing.py
│ │ └── Sensor-activity-recognition/
│ │ ├── codes/
│ │ │ ├── classes_accuarcy.m
│ │ │ ├── classification.m
│ │ │ ├── create_feature_map.m
│ │ │ ├── main.m
│ │ │ ├── performance_evaluation.m
│ │ │ ├── readme.md
│ │ │ └── scalingANDoutliers.m
│ │ └── readme.md
│ ├── Clustering/
│ │ ├── Customer identification for mail order products/
│ │ │ ├── Identify Customer Segments.ipynb
│ │ │ ├── LICENSE
│ │ │ └── README.md
│ │ ├── Finding-the-best-Tornoto-neighborhood-to-open-a-new-gym/
│ │ │ ├── Finding best neighborhood for new gym opening in toronto city.ipynb
│ │ │ ├── LICENSE
│ │ │ └── Readme.md
│ │ └── Readme.md
│ └── Regression/
│ ├── Automobile price prediction/
│ │ ├── Automobile Price Prediction .ipynb
│ │ └── Readme.md
│ └── Readme.md
├── Natural_Language_processing/
│ ├── Data-Science-Resume-Selector/
│ │ ├── Resume Selector with Naive Bayes .ipynb
│ │ ├── readme.md
│ │ └── resume.csv
│ ├── Sentiment-analysis/
│ │ ├── README.md
│ │ ├── SageMaker Project.ipynb
│ │ ├── sevre/
│ │ │ ├── model.py
│ │ │ ├── predict.py
│ │ │ ├── requirements.txt
│ │ │ └── utils.py
│ │ ├── train/
│ │ │ ├── model.py
│ │ │ ├── requirements.txt
│ │ │ └── train.py
│ │ └── website/
│ │ └── index.html
│ └── plagiarism-detector-web-app/
│ ├── 1_Data_Exploration.ipynb
│ ├── 2_Plagiarism_Feature_Engineering.ipynb
│ ├── 3_Training_a_Model.ipynb
│ ├── README.md
│ ├── helpers.py
│ ├── palagrism_data/
│ │ ├── test.csv
│ │ └── train.csv
│ ├── problem_unittests.py
│ ├── source_pytorch/
│ │ ├── model.py
│ │ ├── predict.py
│ │ └── train.py
│ └── source_sklearn/
│ └── train.py
├── Readme.md
├── Spark/
│ ├── Cluster Analysis of the San Diego Weather Data/
│ │ ├── Cluster Analysis of the San Diego Weather Data.ipynb
│ │ └── readme.md
│ └── San Diego Rainforest Fire Predicition/
│ ├── Readme.md
│ └── San Diego Rainforest Fire Prediction.ipynb
└── time-series-analysis/
├── Power-consumption-forecasting/
│ ├── Energy_Consumption_Solution.ipynb
│ ├── json_energy_data/
│ │ ├── readme.md
│ │ ├── test.json
│ │ └── train.json
│ ├── readme.md
│ └── txt_preprocessing.py
└── readme.md
SYMBOL INDEX (227 symbols across 52 files)
FILE: Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/App.js
function App (line 11) | function App() {
FILE: Deep Learning/Classification/Melenoma_Classification/deep-learning-models/CNN_model.py
function simple_CNN (line 13) | def simple_CNN(train_data_shape,n_classes):
function MobileNet (line 39) | def MobileNet(num_classes, is_trainable ):
function VGG_16 (line 71) | def VGG_16(num_classes,is_trainable):
function Inception_v3 (line 101) | def Inception_v3(num_classes,is_trainable):
function InceptionResNetV2 (line 129) | def InceptionResNetV2(num_classes,is_trainable):
FILE: Deep Learning/Classification/Melenoma_Classification/deep-learning-models/main.py
function select_CNN_model (line 16) | def select_CNN_model(model_name,num_classes,trainable,input_shape):
function getLayerIndexByName (line 39) | def getLayerIndexByName(model, layername):
FILE: Deep Learning/Classification/Melenoma_Classification/deep-learning-models/training.py
function training_model (line 19) | def training_model(model,train_data,train_labels,val_data,val_labels,tes...
function plotting_train_val_metrics (line 46) | def plotting_train_val_metrics(history,evaulation_metric):
FILE: Deep Learning/Classification/Melenoma_Classification/evaluation-metrics/classification_metrics.py
function confusion_matrix_calc (line 11) | def confusion_matrix_calc(predicted_labels,true_labels,num_classes,title):
FILE: Deep Learning/Classification/Melenoma_Classification/evaluation-metrics/f1_score.py
function f1 (line 10) | def f1(y_true, y_pred):
function f1_loss (line 24) | def f1_loss(y_true, y_pred):
function f1_micro (line 38) | def f1_micro(y_true, y_pred):
FILE: Deep Learning/Classification/Melenoma_Classification/loading and storing/loading_images.py
function load_images_from_folder (line 11) | def load_images_from_folder(folder,width,height):
FILE: Deep Learning/Classification/Melenoma_Classification/loading and storing/loading_storing_h5py.py
function storing_h5py (line 12) | def storing_h5py(input_data,hdf5_dir):
function read_h5py (line 20) | def read_h5py(hdf5_dir,num_images):
FILE: Deep Learning/Classification/Melenoma_Classification/preprocessing/exploration.py
function bar_plot (line 10) | def bar_plot(input_data,title):
function class_counts_proportions (line 20) | def class_counts_proportions(labels):
FILE: Deep Learning/Classification/Melenoma_Classification/preprocessing/preprocessing.py
function splitting_normalization (line 19) | def splitting_normalization(input_data, labels):
function splitting_classes (line 43) | def splitting_classes(input_data,input_labels):
function resizing_data (line 78) | def resizing_data(input_data,width, height):
function resampling (line 101) | def resampling(train_data,train_labels,resampling_type,resampling_stragey):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/Best_mask.py
function main (line 10) | def main():
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/Best_mask2.py
function main (line 10) | def main():
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/Model.py
function inner_loop (line 17) | def inner_loop(data,labels,number_of_cv,feature_selection_type,Hyperpara...
function model (line 52) | def model(data_train,labels_train,data_validation,labels_validation,mask...
function create_mask (line 92) | def create_mask(data,labels,number_of_cv,feature_selection_type,Hyperpar...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/confidence_interval_mask.py
function main (line 9) | def main():
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/data_preprocessing.py
function standarization (line 29) | def standarization(data):
function quantile_transform (line 37) | def quantile_transform(data, random_state):
function gussian_filter (line 43) | def gussian_filter(data, sigma):
function signal_clean (line 50) | def signal_clean(data):
function robust_scaler (line 56) | def robust_scaler(data):
function MinMax_scaler (line 63) | def MinMax_scaler(data):
function dublicate (line 70) | def dublicate(data, number):
function concat (line 78) | def concat(data1, data2):
function shuffling (line 84) | def shuffling(data, labels):
function PowerTransform (line 91) | def PowerTransform(data):
function coefficient_of_variance (line 98) | def coefficient_of_variance(data):
function density_ratio_estimation (line 105) | def density_ratio_estimation(train_data, test_data):
function outliers (line 112) | def outliers(train_data, train_labels, number_of_neighbours):
function novelty (line 122) | def novelty(train_data, train_labels, test_data, test_labels, number_of_...
function upsampling (line 134) | def upsampling(data,labels):
function resampling (line 165) | def resampling(data, labels):
function synthetic (line 182) | def synthetic(data, labels, num):
function KSTest (line 189) | def KSTest(train_data, test_data, step):
function removeDuplicates (line 208) | def removeDuplicates(listofElements):
function ica (line 222) | def ica(data, number_of_combonents):
function pca (line 230) | def pca(data, number_of_combonents):
function g_po_sk (line 240) | def g_po_sk(input=None):
function sp (line 255) | def sp(input):
function po (line 268) | def po(input):
function g_sp (line 279) | def g_sp(input):
function g_po (line 292) | def g_po(input):
function g_sk (line 305) | def g_sk(input):
function sp_sk (line 318) | def sp_sk(input):
function sp_po (line 330) | def sp_po(input):
function po_sk (line 342) | def po_sk(input):
function noise_all (line 354) | def noise_all(input):
function apply_noise_manytypes (line 369) | def apply_noise_manytypes(data):
function g_f (line 383) | def g_f(input):
function m_f (line 395) | def m_f(input):
function us_f (line 407) | def us_f(input): # unsharp filter
function c_f (line 419) | def c_f(input):
function w_f (line 431) | def w_f(input):
function g_m_f (line 443) | def g_m_f(input):
function g_us_f (line 456) | def g_us_f(input):
function m_us_f (line 469) | def m_us_f(input):
function g_c_f (line 482) | def g_c_f(input):
function g_w_f (line 495) | def g_w_f(input):
function c_w_f (line 508) | def c_w_f(input):
function m_w_f (line 521) | def m_w_f(input):
function m_c_f (line 534) | def m_c_f(input):
function m_g_c_f (line 547) | def m_g_c_f(input):
function m_g_us_f (line 561) | def m_g_us_f(input):
function c_w_us_f (line 575) | def c_w_us_f(input):
function c_w_us_g_f (line 589) | def c_w_us_g_f(input):
function c_w_us_m_f (line 604) | def c_w_us_m_f(input):
function all_f (line 619) | def all_f(input):
function apply_filter_manytypes (line 635) | def apply_filter_manytypes(data):
function concatination (line 659) | def concatination(data1, data2):
function flatten (line 668) | def flatten(data):
function deflatten (line 673) | def deflatten(data, shape):
function select_max_features (line 678) | def select_max_features(mask, number_of_featrues):
function transposnig (line 685) | def transposnig(input_data, order):
function size_editing (line 689) | def size_editing(data, final_height):
function depth_reshapeing (line 715) | def depth_reshapeing(data):
function converting_nii_to_npz (line 737) | def converting_nii_to_npz(file_name):
function labels_convert_one_hot (line 743) | def labels_convert_one_hot(labels):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/AlexNet.py
function model (line 17) | def model(train_data_whole,train_labels_whole,test_data,test_labels,opt,...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/CNN.py
function CNN_main (line 34) | def CNN_main(train_data,test_data,result_path,train_labels,test_labels,n...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/CNN_feature_extractor.py
function take (line 38) | def take(n, iterable):
function fully_connected_layer (line 42) | def fully_connected_layer(dropouts,activation_function):
function fully_connected_layer_fit (line 65) | def fully_connected_layer_fit(features_train,features_test,train_labels,...
function features_pretrained_model (line 99) | def features_pretrained_model(model,train_data,test_data):
function features_saved_model (line 109) | def features_saved_model(train_data,test_data,model,intermediate_layer,r...
function classifer_fit_testing (line 134) | def classifer_fit_testing(features_train,train_labels,features_test,test...
function CNN_feature_extraction_classsification (line 190) | def CNN_feature_extraction_classsification(feature_extractor_parameters,...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/DenseNet121.py
function model (line 16) | def model(train_data_whole,train_labels_whole,test_data,test_labels,opt,...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/InceptionResNetV2.py
function model (line 17) | def model (train_data_whole,train_labels_whole,test_data,test_labels,opt...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/LeNet.py
function model (line 17) | def model (train_data_whole,train_labels_whole,test_data,test_labels,opt...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/ResNet50.py
function model (line 15) | def model(train_data_whole,train_labels_whole,test_data,test_labels,opt,...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/VGG.py
function model (line 15) | def model(train_data_whole,train_labels_whole,test_data,test_labels,opt,...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/VGG_pretrained.py
function model (line 18) | def model (train_data_whole,train_labels_whole,test_data,test_labels,opt...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/ZFNet.py
function model (line 17) | def model(train_data_whole,train_labels_whole,test_data,test_labels,opt,...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/optimizers.py
function choosing (line 6) | def choosing(optimizer):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/simple_model.py
function model (line 18) | def model (train_data_whole,train_labels_whole,test_data,test_labels,opt...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/evaluation/metrics.py
function auc_roc (line 1) | def auc_roc(y_true, y_pred):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/evaluation/model_evaluation.py
function testing_and_printing (line 11) | def testing_and_printing(classification_model,classification_train,best_...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/main.py
function main (line 11) | def main():
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/data_augmentation.py
function load_obj (line 33) | def load_obj(obj):
function flipping (line 43) | def flipping(img,axis):
function flipping_HV (line 49) | def flipping_HV(img):
function rotate (line 53) | def rotate(img,angle):
function shifting (line 58) | def shifting(img,shift_amount):
function zooming (line 64) | def zooming(img,zooming_amount):
function add_gaussian_noise (line 69) | def add_gaussian_noise(X_imgs):
function transposnig (line 87) | def transposnig(input_data,order):
function mask_print (line 92) | def mask_print(input,mask,name):
function slicing (line 110) | def slicing(len1,len2 ):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/data_preprocessing.py
function Normalization (line 25) | def Normalization(data):
function standarization (line 29) | def standarization(data):
function quantile_transform (line 35) | def quantile_transform(data,random_state):
function gussian_filter (line 40) | def gussian_filter(data,sigma):
function signal_clean (line 46) | def signal_clean(data):
function robust_scaler (line 50) | def robust_scaler(data):
function MinMax_scaler (line 56) | def MinMax_scaler(data):
function dublicate (line 62) | def dublicate(data,number):
function concat (line 68) | def concat(data1,data2):
function shuffling (line 74) | def shuffling(data,labels):
function PowerTransform (line 80) | def PowerTransform(data):
function coefficient_of_variance (line 86) | def coefficient_of_variance(data):
function density_ratio_estimation (line 92) | def density_ratio_estimation(train_data,test_data):
function outliers (line 98) | def outliers(train_data,train_labels,number_of_neighbours):
function novelty (line 107) | def novelty(train_data,train_labels,test_data,test_labels,number_of_neig...
function upsampling (line 117) | def upsampling(data,labels):
function synthetic (line 134) | def synthetic(data,labels,num):
function KSTest (line 140) | def KSTest(train_data,test_data,step):
function removeDuplicates (line 162) | def removeDuplicates(listofElements):
function transposnig (line 176) | def transposnig(input_data, order):
function size_editing (line 180) | def size_editing(data, final_height):
function depth_reshapeing (line 202) | def depth_reshapeing(data):
function converting_nii_to_npz (line 224) | def converting_nii_to_npz(file_path):
function labels_convert_one_hot (line 230) | def labels_convert_one_hot(labels):
function data_resampling (line 241) | def data_resampling(data,factors):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/preprocessing_methods.py
function preprocessing (line 5) | def preprocessing(train_data,test_data,train_labels,test_labels,method,s...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/storing_loading/generate_result_.py
function out_result (line 16) | def out_result(test_data,test_labels,original_mask,created_mask,model):
function print_result_2models (line 30) | def print_result_2models(test_data,test_labels,original_mask,model,model...
function print_result (line 89) | def print_result(test_data,test_labels,original_mask,created_mask,model,...
function mask_print (line 143) | def mask_print(original_mask,created_mask,output_dir,name):
function weights_print (line 155) | def weights_print(original_mask, weights, output_dir,name):
function cnn_save_result (line 168) | def cnn_save_result(test_accuracy,model,model_name,result_path):
function create_results_dir (line 182) | def create_results_dir(results_directory):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/storing_loading/load_data.py
function find_path (line 10) | def find_path(file_name):
function train_data_3d (line 32) | def train_data_3d(train_Con_file_name, train_AD_file_name):
function test_data_3d (line 43) | def test_data_3d(test_Con_file_name,test_AD_file_name):
function mask (line 55) | def mask(mask_name):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/generate_result.py
function out_result (line 16) | def out_result(test_data,test_labels,original_mask,created_mask,model):
function print_result_2models (line 30) | def print_result_2models(test_data,test_labels,original_mask,model,model...
function print_result (line 89) | def print_result(test_data,test_labels,original_mask,created_mask,model,...
function mask_print (line 143) | def mask_print(original_mask,created_mask,output_dir,name):
function weights_print (line 155) | def weights_print(original_mask, weights, output_dir,name):
function cnn_save_result (line 168) | def cnn_save_result(test_accuracy,model,model_name,result_path):
function create_results_dir (line 183) | def create_results_dir(results_directory):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/hyper_opt.py
function hyperparameter_selection (line 17) | def hyperparameter_selection(data,labels,number_of_cv,feature_selection_...
function model (line 83) | def model(data_train,labels_train,mask,data_validation=None,labels_valid...
function create_mask (line 126) | def create_mask(data,labels,number_of_cv,feature_selection_type,Hyperpar...
function model_1D (line 158) | def model_1D(data_train,labels_train,mask,data_validation=None,labels_va...
function model_1D_calibrate (line 200) | def model_1D_calibrate(data_train,labels_train,mask,data_validation=None...
function model_reduced (line 244) | def model_reduced(data_train,labels_train,mask,data_validation=None,labe...
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/load_data.py
function find_path (line 10) | def find_path(file_name):
function train_data_3d (line 32) | def train_data_3d(train_Con_file_name, train_AD_file_name):
function test_data_3d (line 43) | def test_data_3d(test_Con_file_name,test_AD_file_name):
function mask (line 55) | def mask(mask_name):
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/main.py
function main (line 10) | def main():
FILE: Machine Learning/Classification/Alzhimers CV-BOLD Classification/pykliep.py
class DensityRatioEstimator (line 4) | class DensityRatioEstimator:
method __init__ (line 28) | def __init__(self, max_iter=5000, num_params=[.1,.2], epsilon=1e-4, cv...
method fit (line 48) | def fit(self, X_train, X_test, alpha_0=None):
method _fit (line 100) | def _fit(self, X_train, X_test, num_parameters, sigma, alpha_0=None):
method _calculate_j (line 127) | def _calculate_j(self, X_test, sigma):
method score (line 130) | def score(self, X_test):
method _reshape_X (line 135) | def _reshape_X(X):
method _select_param_vectors (line 141) | def _select_param_vectors(self, X_test, sigma, num_parameters):
method _phi (line 147) | def _phi(self, X, sigma=None):
method _find_alpha (line 156) | def _find_alpha(self, alpha_0, X_train, X_test, num_parameters, sigma,...
method predict (line 174) | def predict(self, X, sigma=None):
FILE: Natural_Language_processing/Sentiment-analysis/sevre/model.py
class LSTMClassifier (line 3) | class LSTMClassifier(nn.Module):
method __init__ (line 8) | def __init__(self, embedding_dim, hidden_dim, vocab_size):
method forward (line 21) | def forward(self, x):
FILE: Natural_Language_processing/Sentiment-analysis/sevre/predict.py
function model_fn (line 18) | def model_fn(model_dir):
function input_fn (line 49) | def input_fn(serialized_input_data, content_type):
function output_fn (line 56) | def output_fn(prediction_output, accept):
function predict_fn (line 60) | def predict_fn(input_data, model):
FILE: Natural_Language_processing/Sentiment-analysis/sevre/utils.py
function review_to_words (line 13) | def review_to_words(review):
function convert_and_pad (line 25) | def convert_and_pad(word_dict, sentence, pad=500):
FILE: Natural_Language_processing/Sentiment-analysis/train/model.py
class LSTMClassifier (line 3) | class LSTMClassifier(nn.Module):
method __init__ (line 8) | def __init__(self, embedding_dim, hidden_dim, vocab_size):
method forward (line 21) | def forward(self, x):
FILE: Natural_Language_processing/Sentiment-analysis/train/train.py
function model_fn (line 14) | def model_fn(model_dir):
function _get_train_data_loader (line 45) | def _get_train_data_loader(batch_size, training_dir):
function train (line 58) | def train(model, train_loader, epochs, optimizer, loss_fn, device):
FILE: Natural_Language_processing/plagiarism-detector-web-app/helpers.py
function create_datatype (line 9) | def create_datatype(df, train_value, test_value, datatype_var, compare_d...
function train_test_dataframe (line 47) | def train_test_dataframe(clean_df, random_seed=100):
function process_file (line 70) | def process_file(file):
function create_text_column (line 85) | def create_text_column(df, file_directory='data/'):
FILE: Natural_Language_processing/plagiarism-detector-web-app/problem_unittests.py
class AssertTest (line 10) | class AssertTest(object):
method __init__ (line 12) | def __init__(self, params):
method test (line 15) | def test(self, assert_condition, assert_message):
function _print_success_message (line 18) | def _print_success_message():
function test_numerical_df (line 22) | def test_numerical_df(numerical_dataframe):
function test_containment (line 48) | def test_containment(complete_df, containment_fn):
function test_lcs (line 81) | def test_lcs(df, lcs_word):
function test_data_split (line 126) | def test_data_split(train_x, train_y, test_x, test_y):
FILE: Natural_Language_processing/plagiarism-detector-web-app/source_pytorch/model.py
class BinaryClassifier (line 7) | class BinaryClassifier(nn.Module):
method __init__ (line 19) | def __init__(self, input_features, hidden_dim, output_dim):
method forward (line 34) | def forward(self, x):
FILE: Natural_Language_processing/plagiarism-detector-web-app/source_pytorch/predict.py
function model_fn (line 15) | def model_fn(model_dir):
function input_fn (line 44) | def input_fn(serialized_input_data, content_type):
function output_fn (line 52) | def output_fn(prediction_output, accept):
function predict_fn (line 62) | def predict_fn(input_data, model):
FILE: Natural_Language_processing/plagiarism-detector-web-app/source_pytorch/train.py
function model_fn (line 12) | def model_fn(model_dir):
function _get_train_data_loader (line 40) | def _get_train_data_loader(batch_size, training_dir):
function train (line 54) | def train(model, train_loader, epochs, criterion, optimizer, device):
FILE: Natural_Language_processing/plagiarism-detector-web-app/source_sklearn/train.py
function model_fn (line 17) | def model_fn(model_dir):
FILE: time-series-analysis/Power-consumption-forecasting/txt_preprocessing.py
function create_df (line 13) | def create_df(text_file, sep=';', na_values=['nan','?']):
function fill_nan_with_mean (line 40) | def fill_nan_with_mean(df):
Copy disabled (too large)
Download .json
Condensed preview — 135 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,493K chars).
[
{
"path": "Computer Vision/Pose Estimation & Squat Counter/Pose Estimation and squat counter using MoveNet.ipynb",
"chars": 158449,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Pose Estimation & Squat Counter\"\n"
},
{
"path": "Computer Vision/Pose Estimation & Squat Counter/Readme.md",
"chars": 2409,
"preview": "## Pose Estimation & Squat Counter\n\n### Introdction ###\n\nPose estimation refers to a general problem in computer vision "
},
{
"path": "Computer Vision/Pose Estimation & Squat Counter/requirments",
"chars": 46,
"preview": "tensorflow\ntensorflow_hub\nopencv-python\nnumpy\n"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/IBM_cloud_configuration.md.txt",
"chars": 174,
"preview": "ibmcloud login \r\n\r\nibmcloud target -r eu-de\r\n\r\n# configurations \r\n\r\nibmcloud cos bucket-cors-put --bucket tensorflowjsre"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/index.html",
"chars": 1721,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"%PUBLIC_URL%/favicon.i"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/manifest.json",
"chars": 492,
"preview": "{\n \"short_name\": \"React App\",\n \"name\": \"Create React App Sample\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\",\n "
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Public/robots.txt",
"chars": 67,
"preview": "# https://www.robotstxt.org/robotstxt.html\nUser-agent: *\nDisallow:\n"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/Readme.md",
"chars": 2870,
"preview": "This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n## Available Scrip"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/package.json",
"chars": 808,
"preview": "{\n \"name\": \"handpose\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"dependencies\": {\n \"@tensorflow/tfjs\": \"^3.1.0\",\n "
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/App.css",
"chars": 564,
"preview": ".App {\n text-align: center;\n}\n\n.App-logo {\n height: 40vmin;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion:"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/App.js",
"chars": 3985,
"preview": "// Import dependencies\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport * as tf from \"@tensorflow/tf"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/index.css",
"chars": 366,
"preview": "body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Can"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/index.js",
"chars": 218,
"preview": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.re"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/ReactComputerVisionTemplate/src/utilities.js",
"chars": 2160,
"preview": "// Define our labelmap\r\nconst labelMap = {\r\n 1: { name: 'Hello', color: 'red' },\r\n 2: { name: 'Yes', color: 'yello"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/Readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Computer Vision/Real Time Sign Language Interpretation App/Sign-language_detection.ipynb",
"chars": 13408,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {},\n \"outputs\": [],\n \"source\": [\n "
},
{
"path": "Data Visualization/Python/Immigration_to_Canda_Data_Visualization.ipynb",
"chars": 2839525,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Data Visualization\\n\",\n \"\\n\",\n"
},
{
"path": "Data Visualization/Python/Readme.dm",
"chars": 51,
"preview": "Data visulaization projects implemented in python.\n"
},
{
"path": "Data Visualization/Python/Spatial visualization of San Francisco incidents.ipynb",
"chars": 614628,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"button\": false,\n \"new_sheet\": false,\n \"run_con"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/Readme.md",
"chars": 1240,
"preview": "# Melenoma Classification\n\n## 1. Problem Statment\n\nClassfying Melenoma skin lesion images into 9 classes of diagnostics "
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/deep-learning-models/CNN_model.py",
"chars": 5247,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 19:00:48 2021\n\n@author: youss\n\"\"\"\nimport tensorflow.compat.v1 as tf\nfr"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/deep-learning-models/__init__.py",
"chars": 85,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 19:29:24 2021\n\n@author: youss\n\"\"\"\n\n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/deep-learning-models/main.py",
"chars": 1193,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Mon Mar 22 04:58:28 2021\n\n@author: youss\n\"\"\"\nimport sys \n\nsys.path.insert(0,'D:/w"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/deep-learning-models/readme.md",
"chars": 35,
"preview": "The deep learning models used are \n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/deep-learning-models/training.py",
"chars": 2809,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 19:31:01 2021\n\n@author: youss\n\"\"\"\nimport numpy as np\nimport sys\n\nimpor"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/evaluation-metrics/__init__.py",
"chars": 85,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 19:21:12 2021\n\n@author: youss\n\"\"\"\n\n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/evaluation-metrics/classification_metrics.py",
"chars": 740,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Wed Mar 17 13:57:42 2021\n\n@author: youss\n\"\"\"\nfrom sklearn.metrics import confusio"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/evaluation-metrics/f1_score.py",
"chars": 1771,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 19:10:17 2021\n\n@author: youss\n\"\"\"\nimport tensorflow.keras.backend as K"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/evaluation-metrics/readme.md",
"chars": 66,
"preview": "The evaluation metrics used to evaluate the classificaiton models\n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/loading and storing/__init__.py",
"chars": 85,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 17:23:51 2021\n\n@author: youss\n\"\"\"\n\n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/loading and storing/loading_images.py",
"chars": 426,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Wed Mar 24 02:40:27 2021\n\n@author: youss\n\"\"\"\nimport cv2\nimport os\n\n \ndef load_"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/loading and storing/loading_storing_h5py.py",
"chars": 725,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 16:55:49 2021\n\n@author: youss\n\"\"\"\nimport numpy as np\nimport h5py\nimpor"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/loading and storing/readme.md",
"chars": 43,
"preview": "Loading the inputs and storing the output \n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/main.py",
"chars": 4250,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 16:54:05 2021\n\n@author: youssef Hosni\n\"\"\"\nimport pandas as pd\nimport n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/preprocessing/__init__.py",
"chars": 85,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Sun Mar 21 06:45:28 2021\n\n@author: youss\n\"\"\"\n\n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/preprocessing/exploration.py",
"chars": 755,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Sun Mar 21 04:05:02 2021\n\n@author: youss\n\"\"\"\nimport pandas as pd\nimport matplotli"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/preprocessing/preprocessing.py",
"chars": 5558,
"preview": "# -*- coding: utf-8 -*-\n\"\"\"\nCreated on Tue Mar 16 22:20:13 2021\n@author: youss\n\"\"\"\n\nimport numpy as np\nimport time\nimpor"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/preprocessing/readme.md",
"chars": 32,
"preview": "The preprocessing for the data \n"
},
{
"path": "Deep Learning/Classification/Melenoma_Classification/readme.md",
"chars": 27,
"preview": "# Melenoma Classification \n"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/Best_mask.py",
"chars": 14478,
"preview": "#This file is for obtaining confidence interval of the used procedure and to get the best mask that specifies the maximu"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/Best_mask2.py",
"chars": 17802,
"preview": "#This file is for obtaining confidence interval of the used procedure and to get the best mask that specifies the maximu"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/Model.py",
"chars": 8253,
"preview": "import numpy as np\nfrom sklearn.model_selection import KFold\nfrom sklearn.model_selection import cross_validate\nfrom skl"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/confidence_interval_mask.py",
"chars": 12621,
"preview": "import numpy as np\nfrom hyper_opt import create_mask,model_1D,model_1D_calibrate\nimport load_data\nimport data_preprocess"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/data_preprocessing.py",
"chars": 24972,
"preview": "from sklearn.preprocessing import StandardScaler\nfrom scipy import ndimage\nimport nilearn\nfrom sklearn.preprocessing imp"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/AlexNet.py",
"chars": 5013,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/CNN.py",
"chars": 7566,
"preview": "'''\nimport os\nos.environ[\"CUDA_DEVICE_ORDER\"]=\"PCI_BUS_ID\";\n \n# The GPU id to use, usually either \"0\" or \"1\";\nos.environ"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/CNN_feature_extractor.py",
"chars": 16978,
"preview": "__version__ = '0.10.3'\n\nimport matplotlib.pyplot as plt\nimport tensorflow as tf\nimport load_data\nimport optimizers\nimpor"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/DenseNet121.py",
"chars": 3743,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/InceptionResNetV2.py",
"chars": 3763,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/LeNet.py",
"chars": 3919,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/ResNet50.py",
"chars": 3763,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/VGG.py",
"chars": 5437,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/VGG_pretrained.py",
"chars": 3762,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/ZFNet.py",
"chars": 4637,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/optimizers.py",
"chars": 1054,
"preview": "import keras\nfrom keras import optimizers\nimport sys\n\n\ndef choosing(optimizer):\n if optimizer=='adam':\n opt=ke"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/CNN_based_models/simple_model.py",
"chars": 4016,
"preview": "import data_preprocessing\nimport keras\nfrom keras.models import Sequential\nfrom keras.layers import Dropout\nfrom keras."
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/evaluation/metrics.py",
"chars": 604,
"preview": "def auc_roc(y_true, y_pred):\n # any tensorflow metric\n value, update_op = tf.contrib.metrics.streaming_auc(y_pred,"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/evaluation/model_evaluation.py",
"chars": 2318,
"preview": "import matplotlib.pyplot as plt\nimport generate_result_\nfrom sklearn.metrics import precision_score\nfrom sklearn.metrics"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/evaluation/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/main.py",
"chars": 5550,
"preview": "import CNN\nimport load_data\nfrom numpy import load\nimport numpy as np\nimport data_preprocessing\nimport preprocessing_met"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/data_augmentation.py",
"chars": 6198,
"preview": "import random\nfrom scipy import ndarray\nimport skimage as sk\nfrom skimage import transform\nfrom skimage import util\nfrom"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/data_preprocessing.py",
"chars": 7240,
"preview": "from sklearn.preprocessing import StandardScaler\nfrom sklearn.preprocessing import Normalizer\nfrom sklearn import prepro"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/preprocessing_methods.py",
"chars": 3911,
"preview": "import data_preprocessing\nimport numpy as np\nimport load_data\n\ndef preprocessing(train_data,test_data,train_labels,test_"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/preprocessing/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/storing_loading/generate_result_.py",
"chars": 9493,
"preview": "import numpy as np\nimport os\nimport nibabel as nib\nfrom datetime import date\nfrom sklearn import metrics\nfrom sklearn.me"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/storing_loading/load_data.py",
"chars": 1837,
"preview": "import numpy as np\nfrom numpy import load\nimport os\nimport nibabel as nib\nfrom pathlib import Path\nimport warnings\nwarni"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/deep learning/storing_loading/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/generate_result.py",
"chars": 9490,
"preview": "import numpy as np\nimport os\nimport nibabel as nib\nfrom datetime import date\nfrom sklearn import metrics\nfrom sklearn.me"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/hyper_opt.py",
"chars": 16471,
"preview": "import numpy as np\nfrom sklearn.model_selection import KFold\nfrom sklearn.model_selection import cross_validate\nfrom skl"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/load_data.py",
"chars": 1837,
"preview": "import numpy as np\nfrom numpy import load\nimport os\nimport nibabel as nib\nfrom pathlib import Path\nimport warnings\nwarni"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/load_models.py",
"chars": 5666,
"preview": "import pickle\nimport load_data\nimport data_preprocessing\nimport numpy as np\nimport nibabel as nib\nimport generate_result"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/main.py",
"chars": 2559,
"preview": "#from hyper_opt import create_mask,model,model_1D\nimport load_data\nimport data_preprocessing\nimport generate_result\nfrom"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/pykliep.py",
"chars": 7909,
"preview": "import numpy as np\nimport warnings\n\nclass DensityRatioEstimator:\n \"\"\"\n Class to accomplish direct density estimati"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/readme.md",
"chars": 2470,
"preview": "This project is about utilizint resting_state FMRI to classify patients with Alzheimer's disease form controls.\nThe proj"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/sample_test.py",
"chars": 4137,
"preview": "import pickle\nimport load_data\nimport data_preprocessing\nimport numpy as np\nimport nibabel as nib\nfrom sklearn.neighbors"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/shuffle.py",
"chars": 1153,
"preview": "import numpy as np\nfrom numpy import load\nimport os\n\n\noulu_con_data=load('/data/fmri/Folder/AD_classification/Data/input"
},
{
"path": "Machine Learning/Classification/Alzhimers CV-BOLD Classification/writing.py",
"chars": 674,
"preview": "import numpy as np\nfrom numpy import load\nimport nibabel as nib\n\nmasking_img = nib.load('/data/fmri/Folder/AD_classifica"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/classes_accuarcy.m",
"chars": 612,
"preview": "function [class_accuarcy] = classes_accuarcy(test_labels,predicted_labels)\r\n% giving the predicted labels and the groun "
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/classification.m",
"chars": 1479,
"preview": "function [acc,class_accuarcy] = classification(train_features,train_labels,test_features,test_labels,classifier_name)\r\n%"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/create_feature_map.m",
"chars": 2342,
"preview": "function [feature_map] = create_feature_map(activity_data,window_size)\r\n%UNTITLED2 Summary of this function goes here\r\n%"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/main.m",
"chars": 3667,
"preview": "%% create new feature map and use it \r\nclear all\r\nclc;\r\nactivity_data=load('dataActivity');\r\nclassification_accuarcy=[]"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/performance_evaluation.m",
"chars": 323,
"preview": "function [cp] = performance_evaluation(classifier_model,test_data,test_labels)\r\n%UNTITLED3 Summary of this function goes"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/readme.md",
"chars": 1,
"preview": "\n"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/codes/scalingANDoutliers.m",
"chars": 687,
"preview": "function [scaledANDcleanedData] = scalingANDoutliers(data,scaling,outliers)\n%Scales the activity data person-wise and po"
},
{
"path": "Machine Learning/Classification/Sensor-activity-recognition/readme.md",
"chars": 875,
"preview": "# Sensor Activity Recogniation \n\n\n### Dataset\nThe dataset can be downloaded __[here](https://www.kaggle.com/youssef19/se"
},
{
"path": "Machine Learning/Clustering/Customer identification for mail order products/Identify Customer Segments.ipynb",
"chars": 318526,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"\\n\",\n \"\\n\",\n \"# Project: Iden"
},
{
"path": "Machine Learning/Clustering/Customer identification for mail order products/LICENSE",
"chars": 1069,
"preview": "MIT License\n\nCopyright (c) 2021 youssefHosni\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
},
{
"path": "Machine Learning/Clustering/Customer identification for mail order products/README.md",
"chars": 4021,
"preview": "# project summary\nIn this project, real-life data from Bertelsmann partners AZ Direct and Arvato Finance Solution were "
},
{
"path": "Machine Learning/Clustering/Finding-the-best-Tornoto-neighborhood-to-open-a-new-gym/Finding best neighborhood for new gym opening in toronto city.ipynb",
"chars": 848485,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"#### Download all the needed depend"
},
{
"path": "Machine Learning/Clustering/Finding-the-best-Tornoto-neighborhood-to-open-a-new-gym/LICENSE",
"chars": 1069,
"preview": "MIT License\n\nCopyright (c) 2021 youssefHosni\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
},
{
"path": "Machine Learning/Clustering/Finding-the-best-Tornoto-neighborhood-to-open-a-new-gym/Readme.md",
"chars": 3519,
"preview": "# Finding the best neighborhood to open a new gym\n\n## Introduction\nFinding the best neighborhood in Tornoto city to open"
},
{
"path": "Machine Learning/Clustering/Readme.md",
"chars": 25,
"preview": "The clustering projects \n"
},
{
"path": "Machine Learning/Regression/Automobile price prediction/Automobile Price Prediction .ipynb",
"chars": 619925,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Automobile Price Prediction \"\n "
},
{
"path": "Machine Learning/Regression/Automobile price prediction/Readme.md",
"chars": 760,
"preview": "# Automobile Price Prediction #\n\n## 1.Background ##\n\nIn this project I will predict the price of old automobile. In this"
},
{
"path": "Machine Learning/Regression/Readme.md",
"chars": 21,
"preview": "Regression projects \n"
},
{
"path": "Natural_Language_processing/Data-Science-Resume-Selector/Resume Selector with Naive Bayes .ipynb",
"chars": 2306227,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Resume selector using naive bayes"
},
{
"path": "Natural_Language_processing/Data-Science-Resume-Selector/readme.md",
"chars": 502,
"preview": "## Data Science Resume Selector \n\nSelecting the resume that are eligbile to data scientist postions, the dataset used co"
},
{
"path": "Natural_Language_processing/Data-Science-Resume-Selector/resume.csv",
"chars": 657790,
"preview": "resume_id,class,resume_text\r\nresume_1,not_flagged,\"\rCustomer Service Supervisor/Tier - Isabella Catalog Company\rSouth Bu"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/README.md",
"chars": 601,
"preview": "# Sentiment Analysis Web App\n\nThe notebook and Python files provided here, once completed, result in a simple web app wh"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/SageMaker Project.ipynb",
"chars": 95695,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Creating a Sentiment Analysis Web"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/sevre/model.py",
"chars": 1015,
"preview": "import torch.nn as nn\n\nclass LSTMClassifier(nn.Module):\n \"\"\"\n This is the simple RNN model we will be using to per"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/sevre/predict.py",
"chars": 3133,
"preview": "import argparse\nimport json\nimport os\nimport pickle\nimport sys\nimport sagemaker_containers\nimport pandas as pd\nimport nu"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/sevre/requirements.txt",
"chars": 41,
"preview": "pandas\nnumpy\nnltk\nbeautifulsoup4\nhtml5lib"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/sevre/utils.py",
"chars": 1186,
"preview": "import nltk\nfrom nltk.corpus import stopwords\nfrom nltk.stem.porter import *\n\nimport re\nfrom bs4 import BeautifulSoup\n\ni"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/train/model.py",
"chars": 1015,
"preview": "import torch.nn as nn\n\nclass LSTMClassifier(nn.Module):\n \"\"\"\n This is the simple RNN model we will be using to per"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/train/requirements.txt",
"chars": 41,
"preview": "pandas\nnumpy\nnltk\nbeautifulsoup4\nhtml5lib"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/train/train.py",
"chars": 6288,
"preview": "import argparse\nimport json\nimport os\nimport pickle\nimport sys\nimport sagemaker_containers\nimport pandas as pd\nimport to"
},
{
"path": "Natural_Language_processing/Sentiment-analysis/website/index.html",
"chars": 2275,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>Sentiment Analysis Web App</title>\n <meta charset=\"utf"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/1_Data_Exploration.ipynb",
"chars": 9607,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Plagiarism Text Data\\n\",\n \"\\n\""
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/2_Plagiarism_Feature_Engineering.ipynb",
"chars": 100991,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Plagiarism Detection, Feature Eng"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/3_Training_a_Model.ipynb",
"chars": 72105,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Plagiarism Detection Model\\n\",\n "
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/README.md",
"chars": 1482,
"preview": "# Plagiarism Detector Web App\nThis repository contains code and associated files for deploying a plagiarism detector usi"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/helpers.py",
"chars": 4941,
"preview": "import re\nimport pandas as pd\nimport operator \n\n# Add 'datatype' column that indicates if the record is original wiki an"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/palagrism_data/test.csv",
"chars": 1286,
"preview": "1,1.0,0.9222797927461139,0.8207547169811321\n1,0.7653061224489796,0.5896551724137931,0.6217105263157895\n1,0.8844444444444"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/palagrism_data/train.csv",
"chars": 3568,
"preview": "0,0.39814814814814814,0.0,0.1917808219178082\n1,0.8693693693693694,0.44954128440366975,0.8464912280701754\n1,0.59358288770"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/problem_unittests.py",
"chars": 6117,
"preview": "from unittest.mock import MagicMock, patch\nimport sklearn.naive_bayes\nimport numpy as np\nimport pandas as pd\nimport re\n\n"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/source_pytorch/model.py",
"chars": 1653,
"preview": "# torch imports\nimport torch.nn.functional as F\nimport torch.nn as nn\n\n\n## TODO: Complete this classifier\nclass BinaryCl"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/source_pytorch/predict.py",
"chars": 2525,
"preview": "# import libraries\nimport os\nimport numpy as np\nimport torch\nfrom six import BytesIO\n\n# import model from model.py, by n"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/source_pytorch/train.py",
"chars": 5911,
"preview": "import argparse\nimport json\nimport os\nimport pandas as pd\nimport torch\nimport torch.optim as optim\nimport torch.utils.da"
},
{
"path": "Natural_Language_processing/plagiarism-detector-web-app/source_sklearn/train.py",
"chars": 2287,
"preview": "from __future__ import print_function\n\nimport argparse\nimport os\nimport pandas as pd\n\n# sklearn.externals.joblib is depr"
},
{
"path": "Readme.md",
"chars": 12024,
"preview": "# Data Science Portfolio #\n\n[. The extraction includes 135 files (9.8 MB), approximately 2.6M tokens, and a symbol index with 227 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.