Prs examples (#2064)
* Update PRS examples * Update PRS examples * Update prs examples * Update PRS examples * Update format * Update by comments * fix sdk default datastore issue. * Update wording
This commit is contained in:
Родитель
a91c0c0638
Коммит
94a0f1f485
|
@ -0,0 +1,51 @@
|
|||
# This code is autogenerated.
|
||||
# Code is generated by running custom script: python3 readme.py
|
||||
# Any manual changes to this file may cause incorrect behavior.
|
||||
# Any manual changes will be overwritten if the code is regenerated.
|
||||
|
||||
name: cli-jobs-parallel-1a_oj_sales_prediction-pipeline
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0/8 * * *"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- cli/jobs/parallel/1a_oj_sales_prediction/**
|
||||
- infra/**
|
||||
- .github/workflows/cli-jobs-parallel-1a_oj_sales_prediction-pipeline.yml
|
||||
- cli/run-pipeline-jobs.sh
|
||||
- cli/setup.sh
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repo
|
||||
uses: actions/checkout@v2
|
||||
- name: azure login
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{secrets.AZUREML_CREDENTIALS}}
|
||||
- name: bootstrap resources
|
||||
run: |
|
||||
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}';
|
||||
bash bootstrap.sh
|
||||
working-directory: infra
|
||||
continue-on-error: false
|
||||
- name: setup-cli
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: cli
|
||||
continue-on-error: true
|
||||
- name: run job
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash -x ../../../run-job.sh pipeline.yml
|
||||
working-directory: cli/jobs/parallel/1a_oj_sales_prediction
|
51
.github/workflows/cli-jobs-parallel-2a_iris_batch_prediction-pipeline.yml
поставляемый
Normal file
51
.github/workflows/cli-jobs-parallel-2a_iris_batch_prediction-pipeline.yml
поставляемый
Normal file
|
@ -0,0 +1,51 @@
|
|||
# This code is autogenerated.
|
||||
# Code is generated by running custom script: python3 readme.py
|
||||
# Any manual changes to this file may cause incorrect behavior.
|
||||
# Any manual changes will be overwritten if the code is regenerated.
|
||||
|
||||
name: cli-jobs-parallel-2a_iris_batch_prediction-pipeline
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0/8 * * *"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- cli/jobs/parallel/2a_iris_batch_prediction/**
|
||||
- infra/**
|
||||
- .github/workflows/cli-jobs-parallel-2a_iris_batch_prediction-pipeline.yml
|
||||
- cli/run-pipeline-jobs.sh
|
||||
- cli/setup.sh
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repo
|
||||
uses: actions/checkout@v2
|
||||
- name: azure login
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{secrets.AZUREML_CREDENTIALS}}
|
||||
- name: bootstrap resources
|
||||
run: |
|
||||
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}';
|
||||
bash bootstrap.sh
|
||||
working-directory: infra
|
||||
continue-on-error: false
|
||||
- name: setup-cli
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: cli
|
||||
continue-on-error: true
|
||||
- name: run job
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash -x ../../../run-job.sh pipeline.yml
|
||||
working-directory: cli/jobs/parallel/2a_iris_batch_prediction
|
51
.github/workflows/cli-jobs-parallel-3a_mnist_batch_identification-pipeline.yml
поставляемый
Normal file
51
.github/workflows/cli-jobs-parallel-3a_mnist_batch_identification-pipeline.yml
поставляемый
Normal file
|
@ -0,0 +1,51 @@
|
|||
# This code is autogenerated.
|
||||
# Code is generated by running custom script: python3 readme.py
|
||||
# Any manual changes to this file may cause incorrect behavior.
|
||||
# Any manual changes will be overwritten if the code is regenerated.
|
||||
|
||||
name: cli-jobs-parallel-3a_mnist_batch_identification-pipeline
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0/8 * * *"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- cli/jobs/parallel/3a_mnist_batch_identification/**
|
||||
- infra/**
|
||||
- .github/workflows/cli-jobs-parallel-3a_mnist_batch_identification-pipeline.yml
|
||||
- cli/run-pipeline-jobs.sh
|
||||
- cli/setup.sh
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repo
|
||||
uses: actions/checkout@v2
|
||||
- name: azure login
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{secrets.AZUREML_CREDENTIALS}}
|
||||
- name: bootstrap resources
|
||||
run: |
|
||||
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}';
|
||||
bash bootstrap.sh
|
||||
working-directory: infra
|
||||
continue-on-error: false
|
||||
- name: setup-cli
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: cli
|
||||
continue-on-error: true
|
||||
- name: run job
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash -x ../../../run-job.sh pipeline.yml
|
||||
working-directory: cli/jobs/parallel/3a_mnist_batch_identification
|
75
.github/workflows/sdk-jobs-parallel-1a_oj_sales_prediction-oj_sales_prediction.yml
поставляемый
Normal file
75
.github/workflows/sdk-jobs-parallel-1a_oj_sales_prediction-oj_sales_prediction.yml
поставляемый
Normal file
|
@ -0,0 +1,75 @@
|
|||
# This code is autogenerated.
|
||||
# Code is generated by running custom script: python3 readme.py
|
||||
# Any manual changes to this file may cause incorrect behavior.
|
||||
# Any manual changes will be overwritten if the code is regenerated.
|
||||
|
||||
name: sdk-jobs-parallel-1a_oj_sales_prediction-oj_sales_prediction
|
||||
# This file is created by sdk/python/readme.py.
|
||||
# Please do not edit directly.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 */8 * * *"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- sdk/python/jobs/parallel/1a_oj_sales_prediction/**
|
||||
- .github/workflows/sdk-jobs-parallel-1a_oj_sales_prediction-oj_sales_prediction.yml
|
||||
- sdk/python/dev-requirements.txt
|
||||
- infra/**
|
||||
- sdk/python/setup.sh
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repo
|
||||
uses: actions/checkout@v2
|
||||
- name: setup python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.8"
|
||||
- name: pip install notebook reqs
|
||||
run: pip install -r sdk/python/dev-requirements.txt
|
||||
- name: azure login
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{secrets.AZUREML_CREDENTIALS}}
|
||||
- name: bootstrap resources
|
||||
run: |
|
||||
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}';
|
||||
bash bootstrap.sh
|
||||
working-directory: infra
|
||||
continue-on-error: false
|
||||
- name: setup SDK
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: sdk/python
|
||||
continue-on-error: true
|
||||
- name: setup-cli
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: cli
|
||||
continue-on-error: true
|
||||
- name: run jobs/parallel/1a_oj_sales_prediction/oj_sales_prediction.ipynb
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash "${{ github.workspace }}/infra/sdk_helpers.sh" generate_workspace_config "../../.azureml/config.json";
|
||||
bash "${{ github.workspace }}/infra/sdk_helpers.sh" replace_template_values "oj_sales_prediction.ipynb";
|
||||
[ -f "../../.azureml/config" ] && cat "../../.azureml/config";
|
||||
papermill -k python oj_sales_prediction.ipynb oj_sales_prediction.output.ipynb
|
||||
working-directory: sdk/python/jobs/parallel/1a_oj_sales_prediction
|
||||
- name: upload notebook's working folder as an artifact
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: 1a_oj_sales_prediction
|
||||
path: sdk/python/jobs/parallel/1a_oj_sales_prediction
|
75
.github/workflows/sdk-jobs-parallel-2a_iris_batch_prediction-iris_batch_prediction.yml
поставляемый
Normal file
75
.github/workflows/sdk-jobs-parallel-2a_iris_batch_prediction-iris_batch_prediction.yml
поставляемый
Normal file
|
@ -0,0 +1,75 @@
|
|||
# This code is autogenerated.
|
||||
# Code is generated by running custom script: python3 readme.py
|
||||
# Any manual changes to this file may cause incorrect behavior.
|
||||
# Any manual changes will be overwritten if the code is regenerated.
|
||||
|
||||
name: sdk-jobs-parallel-2a_iris_batch_prediction-iris_batch_prediction
|
||||
# This file is created by sdk/python/readme.py.
|
||||
# Please do not edit directly.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 */8 * * *"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- sdk/python/jobs/parallel/2a_iris_batch_prediction/**
|
||||
- .github/workflows/sdk-jobs-parallel-2a_iris_batch_prediction-iris_batch_prediction.yml
|
||||
- sdk/python/dev-requirements.txt
|
||||
- infra/**
|
||||
- sdk/python/setup.sh
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repo
|
||||
uses: actions/checkout@v2
|
||||
- name: setup python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.8"
|
||||
- name: pip install notebook reqs
|
||||
run: pip install -r sdk/python/dev-requirements.txt
|
||||
- name: azure login
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{secrets.AZUREML_CREDENTIALS}}
|
||||
- name: bootstrap resources
|
||||
run: |
|
||||
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}';
|
||||
bash bootstrap.sh
|
||||
working-directory: infra
|
||||
continue-on-error: false
|
||||
- name: setup SDK
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: sdk/python
|
||||
continue-on-error: true
|
||||
- name: setup-cli
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: cli
|
||||
continue-on-error: true
|
||||
- name: run jobs/parallel/2a_iris_batch_prediction/iris_batch_prediction.ipynb
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash "${{ github.workspace }}/infra/sdk_helpers.sh" generate_workspace_config "../../.azureml/config.json";
|
||||
bash "${{ github.workspace }}/infra/sdk_helpers.sh" replace_template_values "iris_batch_prediction.ipynb";
|
||||
[ -f "../../.azureml/config" ] && cat "../../.azureml/config";
|
||||
papermill -k python iris_batch_prediction.ipynb iris_batch_prediction.output.ipynb
|
||||
working-directory: sdk/python/jobs/parallel/2a_iris_batch_prediction
|
||||
- name: upload notebook's working folder as an artifact
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: 2a_iris_batch_prediction
|
||||
path: sdk/python/jobs/parallel/2a_iris_batch_prediction
|
75
.github/workflows/sdk-jobs-parallel-3a_mnist_batch_identification-mnist_batch_prediction.yml
поставляемый
Normal file
75
.github/workflows/sdk-jobs-parallel-3a_mnist_batch_identification-mnist_batch_prediction.yml
поставляемый
Normal file
|
@ -0,0 +1,75 @@
|
|||
# This code is autogenerated.
|
||||
# Code is generated by running custom script: python3 readme.py
|
||||
# Any manual changes to this file may cause incorrect behavior.
|
||||
# Any manual changes will be overwritten if the code is regenerated.
|
||||
|
||||
name: sdk-jobs-parallel-3a_mnist_batch_identification-mnist_batch_prediction
|
||||
# This file is created by sdk/python/readme.py.
|
||||
# Please do not edit directly.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 */8 * * *"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- sdk/python/jobs/parallel/3a_mnist_batch_identification/**
|
||||
- .github/workflows/sdk-jobs-parallel-3a_mnist_batch_identification-mnist_batch_prediction.yml
|
||||
- sdk/python/dev-requirements.txt
|
||||
- infra/**
|
||||
- sdk/python/setup.sh
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: check out repo
|
||||
uses: actions/checkout@v2
|
||||
- name: setup python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.8"
|
||||
- name: pip install notebook reqs
|
||||
run: pip install -r sdk/python/dev-requirements.txt
|
||||
- name: azure login
|
||||
uses: azure/login@v1
|
||||
with:
|
||||
creds: ${{secrets.AZUREML_CREDENTIALS}}
|
||||
- name: bootstrap resources
|
||||
run: |
|
||||
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}';
|
||||
bash bootstrap.sh
|
||||
working-directory: infra
|
||||
continue-on-error: false
|
||||
- name: setup SDK
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: sdk/python
|
||||
continue-on-error: true
|
||||
- name: setup-cli
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash setup.sh
|
||||
working-directory: cli
|
||||
continue-on-error: true
|
||||
- name: run jobs/parallel/3a_mnist_batch_identification/mnist_batch_prediction.ipynb
|
||||
run: |
|
||||
source "${{ github.workspace }}/infra/sdk_helpers.sh";
|
||||
source "${{ github.workspace }}/infra/init_environment.sh";
|
||||
bash "${{ github.workspace }}/infra/sdk_helpers.sh" generate_workspace_config "../../.azureml/config.json";
|
||||
bash "${{ github.workspace }}/infra/sdk_helpers.sh" replace_template_values "mnist_batch_prediction.ipynb";
|
||||
[ -f "../../.azureml/config" ] && cat "../../.azureml/config";
|
||||
papermill -k python mnist_batch_prediction.ipynb mnist_batch_prediction.output.ipynb
|
||||
working-directory: sdk/python/jobs/parallel/3a_mnist_batch_identification
|
||||
- name: upload notebook's working folder as an artifact
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: 3a_mnist_batch_identification
|
||||
path: sdk/python/jobs/parallel/3a_mnist_batch_identification
|
|
@ -0,0 +1,20 @@
|
|||
# Orange juice sales prediction example \[Paralle job\] \[Yaml + CLI example\]
|
||||
|
||||
## Key notes for this example
|
||||
- How to use **parallel job** for **many model training** scenario.
|
||||
- How to use parallel job **run_function** task with predefined **entry_script**.
|
||||
- How to pre-cook data into **mltable with partition setting**.
|
||||
- How to use **mltable** with **tabular data** as the **input of parallel job**.
|
||||
- How to use **partition_keys** in parallel job to consume data with partitions.
|
||||
- How to use **error_threshold** with **empty returns** to ignore checking failed items in mini-batch.
|
||||
- How to use parallel job settings:
|
||||
- mini_batch_error_threshold
|
||||
- environment_variables
|
||||
|
||||
To run this example, please following the steps:
|
||||
- Install the Azure ML CLI: [link](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-configure-cli?tabs=public)
|
||||
- Use Azure ML job command to run pipeline.yml.
|
||||
- Create new job: `az ml job create --file pipeline.yml`
|
||||
- Override settings in this job: `az ml job create --file pipeline.yml --set jobs.parallel_train.resources.instance_count=3`
|
||||
|
||||
To get the same example with python SDK experience, please refer to: [link](../../../../sdk/python/jobs/parallel/1a_oj_sales_prediction/oj_sales_prediction.ipynb)
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,79 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
|
||||
type: pipeline
|
||||
display_name: partition by key parallel job
|
||||
description: The hello world pipeline job with partition by key
|
||||
experiment_name: hello-world-parallel-job
|
||||
tags:
|
||||
tag: tagvalue
|
||||
owner: sdkteam
|
||||
|
||||
settings:
|
||||
default_compute: azureml:cpu-cluster
|
||||
|
||||
jobs:
|
||||
partition_job:
|
||||
type: command
|
||||
component: ./src/partition_data/partition_data.yml
|
||||
|
||||
inputs:
|
||||
data_source:
|
||||
type: uri_file
|
||||
path: ./oj_sales_data/oj_sales_data.csv
|
||||
partition_keys: Store,Brand
|
||||
outputs:
|
||||
tabular_output_data:
|
||||
type: mltable
|
||||
mode: rw_mount
|
||||
|
||||
parallel_train:
|
||||
type: parallel
|
||||
compute: azureml:cpu-cluster
|
||||
inputs:
|
||||
data_source:
|
||||
path: ${{parent.jobs.partition_job.outputs.tabular_output_data}}
|
||||
type: mltable
|
||||
mode: direct
|
||||
drop_cols: "Revenue,Advert,Store,Brand"
|
||||
target_col: "Quantity"
|
||||
date_col: "WeekStarting"
|
||||
lagging_orders: "1,2,3,4,5,6"
|
||||
outputs:
|
||||
model_folder:
|
||||
type: uri_folder
|
||||
mode: rw_mount
|
||||
|
||||
partition_keys:
|
||||
- Store
|
||||
- Brand
|
||||
resources:
|
||||
instance_count: 2
|
||||
|
||||
error_threshold: -1
|
||||
mini_batch_error_threshold: 5
|
||||
logging_level: "INFO"
|
||||
input_data: ${{inputs.data_source}}
|
||||
max_concurrency_per_instance: 2
|
||||
retry_settings:
|
||||
max_retries: 2
|
||||
timeout: 60
|
||||
|
||||
environment_variables:
|
||||
"AZUREML_PARALLEL_EXAMPLE": "1a_yaml"
|
||||
|
||||
task:
|
||||
type: run_function
|
||||
code: ./src/parallel_train
|
||||
entry_script: parallel_train.py
|
||||
environment:
|
||||
image: mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04
|
||||
conda_file: ./src/parallel_train/conda.yml
|
||||
|
||||
program_arguments: >-
|
||||
--drop_cols ${{inputs.drop_cols}}
|
||||
--target_col ${{inputs.target_col}}
|
||||
--date_col ${{inputs.date_col}}
|
||||
--lagging_orders ${{inputs.lagging_orders}}
|
||||
--model_folder ${{outputs.model_folder}}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
||||
- mltable==1.0.0
|
|
@ -0,0 +1,105 @@
|
|||
# Copyright (c) Microsoft. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import os
|
||||
import glob
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import pickle
|
||||
import mltable
|
||||
import argparse
|
||||
import mlflow
|
||||
|
||||
# from azureml.opendatasets import OjSalesSimulated
|
||||
from sklearn.model_selection import train_test_split
|
||||
from sklearn.tree import DecisionTreeRegressor
|
||||
from sklearn.ensemble import GradientBoostingRegressor
|
||||
|
||||
|
||||
def init():
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
parser.add_argument("--drop_cols", type=str)
|
||||
parser.add_argument("--target_col", type=str)
|
||||
parser.add_argument("--date_col", type=str)
|
||||
parser.add_argument("--lagging_orders", type=str)
|
||||
parser.add_argument("--model_folder", type=str)
|
||||
parser.add_argument("--partition_keys", type=str)
|
||||
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
global target_col
|
||||
target_col = args.target_col
|
||||
|
||||
global date_col
|
||||
date_col = args.date_col
|
||||
|
||||
global lagging_orders
|
||||
lagging_orders = [int(i) for i in args.lagging_orders.split(",")]
|
||||
|
||||
global model_folder
|
||||
model_folder = args.model_folder
|
||||
|
||||
global drop_cols
|
||||
drop_cols = args.drop_cols.split(",")
|
||||
|
||||
|
||||
def run(input_data, mini_batch_context):
|
||||
mlflow.autolog()
|
||||
|
||||
if not isinstance(input_data, pd.DataFrame):
|
||||
raise Exception("Not a valid DataFrame input.")
|
||||
|
||||
if target_col not in input_data.columns:
|
||||
raise Exception("No target column found from input tabular data")
|
||||
elif date_col not in input_data.columns:
|
||||
raise Exception("No date column found from input tabular data")
|
||||
|
||||
print(f"partition_key_value = {mini_batch_context.partition_key_value}")
|
||||
|
||||
# data cleaning
|
||||
input_data[date_col] = pd.to_datetime(input_data[date_col])
|
||||
input_data = input_data.set_index(date_col).sort_index(ascending=True)
|
||||
input_data = input_data.assign(Week_Year=input_data.index.isocalendar().week.values)
|
||||
input_data = input_data.drop(columns=drop_cols, errors="ignore")
|
||||
|
||||
# data lagging
|
||||
max_lag_order = max(lagging_orders)
|
||||
train_tail = input_data.iloc[-max_lag_order:]
|
||||
column_order = train_tail.columns
|
||||
data_trans = input_data.copy()
|
||||
|
||||
## Make the lag features
|
||||
for lag_order in lagging_orders:
|
||||
data_trans["lag_" + str(lag_order)] = data_trans[target_col].shift(lag_order)
|
||||
|
||||
data_trans = data_trans.loc[input_data.index]
|
||||
data_trans = data_trans.dropna()
|
||||
|
||||
# traning & evaluation
|
||||
features = data_trans.columns.drop(target_col)
|
||||
|
||||
X = data_trans[features].values
|
||||
y = data_trans[target_col].values
|
||||
|
||||
X_train, X_test, y_train, y_test = train_test_split(
|
||||
X, y, test_size=0.05, random_state=12, shuffle=False
|
||||
)
|
||||
|
||||
reg = GradientBoostingRegressor(random_state=12)
|
||||
reg.fit(X_train, y_train)
|
||||
reg_pred = reg.predict(X_test)
|
||||
|
||||
# Dump model
|
||||
relative_path = os.path.join(
|
||||
model_folder,
|
||||
*list(str(i) for i in mini_batch_context.partition_key_value.values()),
|
||||
)
|
||||
|
||||
if not os.path.exists(relative_path):
|
||||
os.makedirs(relative_path)
|
||||
|
||||
mlflow.sklearn.save_model(reg, relative_path)
|
||||
|
||||
return []
|
|
@ -0,0 +1,17 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
||||
- mltable==1.0.0
|
|
@ -0,0 +1,119 @@
|
|||
# Copyright (c) Microsoft. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import os
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import argparse
|
||||
import yaml
|
||||
import json
|
||||
import re
|
||||
import mltable
|
||||
|
||||
|
||||
def normalize_path_value(
|
||||
input_val: str,
|
||||
) -> str:
|
||||
return re.sub('\.|\s|\\\\|\||\*|/|\<|\>|\?|:|"', "_", input_val)
|
||||
|
||||
|
||||
def dump_df_to_mltable(
|
||||
input_df: pd.DataFrame,
|
||||
target_path: str,
|
||||
partition_cols=[],
|
||||
):
|
||||
if len(partition_cols) > 0:
|
||||
for item in partition_cols:
|
||||
if str(item) not in input_df.columns:
|
||||
raise Exception("No target column found from input tabular data")
|
||||
has_partition = True
|
||||
else:
|
||||
has_partition = False
|
||||
|
||||
partitioned_file_name = "partitioned_data.csv"
|
||||
|
||||
# Dump df to target path
|
||||
if has_partition:
|
||||
for group_name, group_df in input_df.groupby(partition_cols):
|
||||
if hasattr(group_name, "__iter__"):
|
||||
relative_path = os.path.join(
|
||||
target_path, *[normalize_path_value(str(e)) for e in group_name]
|
||||
)
|
||||
else:
|
||||
relative_path = os.path.join(target_path, str(group_name))
|
||||
|
||||
if not os.path.exists(relative_path):
|
||||
os.makedirs(relative_path)
|
||||
|
||||
output_path = os.path.join(relative_path, partitioned_file_name)
|
||||
group_df.drop(columns=partition_cols, errors="ignore").to_csv(
|
||||
output_path, index=False
|
||||
)
|
||||
else:
|
||||
if not os.path.exists(target_path):
|
||||
os.makedirs(target_path)
|
||||
|
||||
output_path = os.path.join(target_path, partitioned_file_name)
|
||||
input_df.to_csv(output_path, index=False)
|
||||
|
||||
# Create ML table artifact object
|
||||
mltable_path = os.path.join(target_path, "MLTable")
|
||||
mltable_dic = {
|
||||
"type": "mltable",
|
||||
"paths": [],
|
||||
"transformations": [
|
||||
{
|
||||
"read_delimited": {
|
||||
"delimiter": ",",
|
||||
"encoding": "ascii",
|
||||
"header": "all_files_same_headers",
|
||||
"empty_as_string": False,
|
||||
"include_path_column": True,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
if has_partition:
|
||||
partition_format_str = ""
|
||||
partition_key_droplist = ["Path", "file_name", "extension"]
|
||||
|
||||
for col_name in partition_cols:
|
||||
partition_format_str = partition_format_str + "{" + col_name + "}" + "/"
|
||||
|
||||
partition_format_str = partition_format_str + "{file_name}.{extension}"
|
||||
mltable_dic["paths"].append({"pattern": "./**/*.csv"})
|
||||
mltable_dic["transformations"].append(
|
||||
{
|
||||
"extract_columns_from_partition_format": {
|
||||
"partition_format": partition_format_str
|
||||
},
|
||||
}
|
||||
)
|
||||
mltable_dic["transformations"].append({"drop_columns": partition_key_droplist})
|
||||
else:
|
||||
mltable_dic["paths"].append({"pattern": "./*.csv"})
|
||||
|
||||
# Dump ML table artifact object to file
|
||||
with open(mltable_path, "w") as yaml_file:
|
||||
yaml.dump(mltable_dic, yaml_file, default_flow_style=False)
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--data_source", type=str)
|
||||
parser.add_argument("--partition_keys", type=str)
|
||||
parser.add_argument("--tabular_output_data", type=str)
|
||||
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
try:
|
||||
input_df = pd.read_csv(args.data_source)
|
||||
except:
|
||||
raise Exception("Can not load input data as csv tabular data.")
|
||||
|
||||
partition_cols = args.partition_keys.split(",")
|
||||
dump_df_to_mltable(
|
||||
input_df=input_df,
|
||||
target_path=args.tabular_output_data,
|
||||
partition_cols=partition_cols,
|
||||
)
|
|
@ -0,0 +1,29 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
|
||||
|
||||
type: command
|
||||
|
||||
name: partition_data
|
||||
display_name: Partition input data by keys
|
||||
version: 1
|
||||
|
||||
inputs:
|
||||
data_source:
|
||||
type: uri_file
|
||||
partition_keys:
|
||||
type: string
|
||||
|
||||
outputs:
|
||||
tabular_output_data:
|
||||
type: mltable
|
||||
|
||||
code: ./
|
||||
|
||||
environment:
|
||||
image: mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04
|
||||
conda_file: ./conda.yml
|
||||
|
||||
command: >-
|
||||
python partition_data.py
|
||||
--data_source ${{inputs.data_source}}
|
||||
--partition_keys ${{inputs.partition_keys}}
|
||||
--tabular_output_data ${{outputs.tabular_output_data}}
|
|
@ -0,0 +1,22 @@
|
|||
# iris batch prediction example \[Paralle job\] \[Yaml + CLI example\]
|
||||
|
||||
## Key notes for this example
|
||||
- How to use **parallel job** for **batch inferencing** scenario.
|
||||
- How to use parallel job **run_function** task with predefined **entry_script**.
|
||||
- How to use **mltable** with **tabular data** as the **input of parallel job**.
|
||||
- How to use **mini_batch_size** in parallel job to split input data by size.
|
||||
- How to use **append_row_to** to aggregate returns to **uri_file** output.
|
||||
- How to use parallel job advanced args:
|
||||
- allowed_failed_percent
|
||||
- task_overhead_timeout
|
||||
- progress_update_timeout
|
||||
- first_task_creation_timeout
|
||||
- resource_monitor_interval
|
||||
|
||||
To run this example, please following the steps:
|
||||
- Install the Azure ML CLI: [link](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-configure-cli?tabs=public)
|
||||
- Use Azure ML job command to run pipeline.yml.
|
||||
- Create new job: `az ml job create --file pipeline.yml`
|
||||
- Override settings in this job: `az ml job create --file pipeline.yml --set jobs.batch_prediction.resources.instance_count=3`
|
||||
|
||||
To get the same example with python SDK experience, please refer to: [link](../../../../sdk/python/jobs/parallel/2a_iris_batch_prediction/iris_batch_prediction.ipynb)
|
|
@ -0,0 +1,16 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
|
@ -0,0 +1,11 @@
|
|||
flavors:
|
||||
python_function:
|
||||
env: conda.yaml
|
||||
loader_module: mlflow.sklearn
|
||||
model_path: model.pkl
|
||||
python_version: 3.6.8
|
||||
sklearn:
|
||||
pickled_model: model.pkl
|
||||
serialization_format: cloudpickle
|
||||
sklearn_version: 0.20.3
|
||||
utc_time_created: '2021-02-05 10:59:19.184646'
|
Двоичный файл не отображается.
|
@ -0,0 +1,7 @@
|
|||
paths:
|
||||
- file: ./iris.csv
|
||||
transformations:
|
||||
- read_delimited:
|
||||
delimiter: ","
|
||||
encoding: utf8
|
||||
header: all_files_same_headers
|
|
@ -0,0 +1,75 @@
|
|||
5.099999999999999645e+00,3.500000000000000000e+00,1.399999999999999911e+00,2.000000000000000111e-01,1.764052345967664026e+00,4.001572083672232938e-01,9.787379841057392005e-01,2.240893199201457797e+00,1.867557990149967484e+00,-9.772778798764110153e-01,9.500884175255893682e-01,-1.513572082976978872e-01,-1.032188517935578448e-01,4.105985019383723289e-01,1.440435711608779867e-01,1.454273506962975082e+00,7.610377251469934157e-01,1.216750164928284139e-01,4.438632327454256621e-01,3.336743273742668325e-01,1.494079073157606130e+00,-2.051582637658008745e-01,3.130677016509013644e-01,-8.540957393017247767e-01,-2.552989815834078691e+00,6.536185954403606058e-01,8.644361988595057333e-01,-7.421650204064419443e-01,2.269754623987607633e+00,-1.454365674598764757e+00,4.575851730144606805e-02,-1.871838500258335980e-01,1.532779214358457542e+00,1.469358769900285022e+00,1.549474256969163022e-01,3.781625196021735635e-01,-8.877857476301127537e-01,-1.980796468223926965e+00,-3.479121493261526088e-01,1.563489691039800511e-01,1.230290680727720742e+00,1.202379848784411287e+00,-3.873268174079522730e-01,-3.023027505753355659e-01
|
||||
4.900000000000000355e+00,3.000000000000000000e+00,1.399999999999999911e+00,2.000000000000000111e-01,-1.048552965067092613e+00,-1.420017937178975176e+00,-1.706270190625012617e+00,1.950775395231789666e+00,-5.096521817516534991e-01,-4.380743016111863786e-01,-1.252795360049926199e+00,7.774903558319100627e-01,-1.613897847557951515e+00,-2.127402802139687077e-01,-8.954665611936756253e-01,3.869024978592620068e-01,-5.108051375688730245e-01,-1.180632184122412109e+00,-2.818222833865486818e-02,4.283318705304176577e-01,6.651722238316788716e-02,3.024718977397813924e-01,-6.343220936809635946e-01,-3.627411659871381255e-01,-6.724604477759510424e-01,-3.595531615405412884e-01,-8.131462820444540496e-01,-1.726282602331676852e+00,1.774261422537528332e-01,-4.017809362082618851e-01,-1.630198346966044598e+00,4.627822555257741777e-01,-9.072983643832421841e-01,5.194539579613895175e-02,7.290905621775368717e-01,1.289829107574106681e-01,1.139400684543300679e+00,-1.234825820353652626e+00,4.023416411775490031e-01,-6.848100909403131986e-01,-8.707971491818817800e-01,-5.788496647644154613e-01,-3.115525321273726611e-01,5.616534222974543800e-02
|
||||
4.700000000000000178e+00,3.200000000000000178e+00,1.300000000000000044e+00,2.000000000000000111e-01,-1.165149840783356483e+00,9.008264869541871001e-01,4.656624397304598428e-01,-1.536243686277223741e+00,1.488252193795599698e+00,1.895889176030583156e+00,1.178779571159650708e+00,-1.799248358123509139e-01,-1.070752621510542513e+00,1.054451726931136646e+00,-4.031769469731796285e-01,1.222445070382427446e+00,2.082749780768602954e-01,9.766390364837127525e-01,3.563663971744018832e-01,7.065731681919481533e-01,1.050002072082047849e-02,1.785870493905835188e+00,1.269120927036199165e-01,4.019893634447016528e-01,1.883150697056254375e+00,-1.347759061142446368e+00,-1.270484998485733596e+00,9.693967081580111556e-01,-1.173123405114159912e+00,1.943621185649292649e+00,-4.136189807597473456e-01,-7.474548114407577604e-01,1.922942026480384703e+00,1.480514791434424327e+00,1.867558960426569881e+00,9.060446582753852729e-01,-8.612256850547025389e-01,1.910064953099033680e+00,-2.680033709513803819e-01,8.024563957963951610e-01,9.472519677737479826e-01,-1.550100930908341890e-01,6.140793703460802888e-01,9.222066715665268033e-01
|
||||
4.599999999999999645e+00,3.100000000000000089e+00,1.500000000000000000e+00,2.000000000000000111e-01,3.764255311556294337e-01,-1.099400790584194487e+00,2.982381742060559726e-01,1.326385896687030330e+00,-6.945678597313654778e-01,-1.496345403276707620e-01,-4.351535517216374438e-01,1.849263728479341840e+00,6.722947570124354622e-01,4.074618362411104311e-01,-7.699160744453164007e-01,5.392491912918172536e-01,-6.743326606573760706e-01,3.183055827435118251e-02,-6.358460783788809634e-01,6.764332949464997302e-01,5.765908166149409375e-01,-2.082987555779948763e-01,3.960067126616452771e-01,-1.093061508730505782e+00,-1.491257592705605539e+00,4.393917012645369158e-01,1.666734953725290402e-01,6.350314368921063934e-01,2.383144774863942050e+00,9.444794869904138412e-01,-9.128222254441585859e-01,1.117016288095852961e+00,-1.315907410511521158e+00,-4.615846048147089764e-01,-6.824160532463123541e-02,1.713342721649366629e+00,-7.447548220484399017e-01,-8.264385386590143989e-01,-9.845252442543230009e-02,-6.634782863621073723e-01,1.126635922106506982e+00,-1.079931508363423331e+00,-1.147468652411102408e+00,-4.378200447444340337e-01
|
||||
5.000000000000000000e+00,3.600000000000000089e+00,1.399999999999999911e+00,2.000000000000000111e-01,-4.980324506923048955e-01,1.929532053816985782e+00,9.494208069257608074e-01,8.755124138519089494e-02,-1.225435518830167991e+00,8.443629764015471162e-01,-1.000215347389564746e+00,-1.544771096777611596e+00,1.188029792352301772e+00,3.169426119248496265e-01,9.208588237808189580e-01,3.187276529430211891e-01,8.568306119026911638e-01,-6.510255933001468653e-01,-1.034242841784464684e+00,6.815945182816269821e-01,-8.034096641738410760e-01,-6.895497777502005432e-01,-4.555325035173431458e-01,1.747915902505672858e-02,-3.539939112534839505e-01,-1.374951293418018805e+00,-6.436184028328905127e-01,-2.223403152224426638e+00,6.252314510271874681e-01,-1.602057655606747621e+00,-1.104383339428450572e+00,5.216507926097440490e-02,-7.395629963913132876e-01,1.543014595406735801e+00,-1.292856909723448577e+00,2.670508693491829288e-01,-3.928281822749560281e-02,-1.168093497741197417e+00,5.232766605317537012e-01,-1.715463312222481052e-01,7.717905512136673529e-01,8.235041539637314445e-01,2.163235949280689852e+00,1.336527949436391971e+00
|
||||
5.400000000000000355e+00,3.899999999999999911e+00,1.699999999999999956e+00,4.000000000000000222e-01,-3.691818379424435803e-01,-2.393791775759263885e-01,1.099659595887113150e+00,6.552637307225978036e-01,6.401315260975920518e-01,-1.616956044310834395e+00,-2.432612439893563558e-02,-7.380309092056887010e-01,2.799245990432382425e-01,-9.815038964295794144e-02,9.101789080925919428e-01,3.172182151913020554e-01,7.863279621089761529e-01,-4.664190967359430617e-01,-9.444462559182503769e-01,-4.100496932025484709e-01,-1.702041386144059407e-02,3.791517355550818036e-01,2.259308950690852136e+00,-4.225715166064269307e-02,-9.559450004927769751e-01,-3.459817756993864291e-01,-4.635959746460941999e-01,4.814814737734621763e-01,-1.540797014444624802e+00,6.326199420033171150e-02,1.565065379653755862e-01,2.321810362002757755e-01,-5.973160689653627120e-01,-2.379217297360070038e-01,-1.424060908982531570e+00,-4.933198833621940671e-01,-5.428614760167177478e-01,4.160500462614254991e-01,-1.156182431821912715e+00,7.811981017099933755e-01,1.494484544491368805e+00,-2.069985025013532542e+00,4.262587307781009471e-01,6.769080350302455473e-01
|
||||
4.599999999999999645e+00,3.399999999999999911e+00,1.399999999999999911e+00,2.999999999999999889e-01,-6.374370255522290307e-01,-3.972718143287976567e-01,-1.328805775869556227e-01,-2.977908794017283256e-01,-3.090129690471222212e-01,-1.676003806329976697e+00,1.152331564783120044e+00,1.079618592036821090e+00,-8.133642592042028552e-01,-1.466424327802513972e+00,5.210648764527585630e-01,-5.757879698130661250e-01,1.419531633207796739e-01,-3.193284171450951892e-01,6.915387510701865859e-01,6.947491436560059297e-01,-7.255973784635842971e-01,-1.383363955395055411e+00,-1.582938397335081904e+00,6.103793791072051889e-01,-1.188859257784028900e+00,-5.068163542986875436e-01,-5.963140384505081215e-01,-5.256729626954628753e-02,-1.936279805846506941e+00,1.887785967938285514e-01,5.238910238342056047e-01,8.842208704466140989e-02,-3.108861716984717138e-01,9.740016626878340855e-02,3.990463456401301956e-01,-2.772592756426650151e+00,1.955912308250694176e+00,3.900933226879264581e-01,-6.524085823870200418e-01,-3.909533751876010932e-01,4.937417773491884487e-01,-1.161039390343665267e-01,-2.030684467781494362e+00,2.064492861359319420e+00
|
||||
5.000000000000000000e+00,3.399999999999999911e+00,1.500000000000000000e+00,2.000000000000000111e-01,-1.105406572324726111e-01,1.020172711715799707e+00,-6.920498477843911589e-01,1.536377054245797735e+00,2.863436888922795687e-01,6.088438344754507625e-01,-1.045253366146954743e+00,1.211145289682700854e+00,6.898181645347883917e-01,1.301846229564998403e+00,-6.280875596415789186e-01,-4.810271184607877171e-01,2.303916697683941806e+00,-1.060015822721547263e+00,-1.359497006783208228e-01,1.136891362602695299e+00,9.772496771485560119e-02,5.829536797532935966e-01,-3.994490292628751771e-01,3.700558878475187496e-01,-1.306526851735316574e+00,1.658130679618188053e+00,-1.181640451285697613e-01,-6.801782039968503613e-01,6.663830820319143200e-01,-4.607197873885532924e-01,-1.334258471402753443e+00,-1.346717505797555336e+00,6.937731526901325108e-01,-1.595734381462668994e-01,-1.337015596684391627e-01,1.077743805976262736e+00,-1.126825808756743541e+00,-7.306777528648248365e-01,-3.848798091812754563e-01,9.435158931707400554e-02,-4.217145129057893460e-02,-2.868871923899076193e-01,-6.162640209564740346e-02,-1.073052762911746866e-01
|
||||
4.400000000000000355e+00,2.899999999999999911e+00,1.399999999999999911e+00,2.000000000000000111e-01,-7.196043885517928729e-01,-8.129929885540773116e-01,2.745163577239395081e-01,-8.909150829955279072e-01,-1.157355259190853580e+00,-3.122922511256933098e-01,-1.576670161638158985e-01,2.256723497298209313e+00,-7.047002758562337377e-01,9.432607249694947571e-01,7.471883342046318210e-01,-1.188944955203736109e+00,7.732529774025996838e-01,-1.183880640193317735e+00,-2.659172237996740851e+00,6.063195243593807460e-01,-1.755890583437719421e+00,4.509344618059148435e-01,-6.840108977372165722e-01,1.659550796189872113e+00,1.068509399316009079e+00,-4.533858038513876587e-01,-6.878376110286823497e-01,-1.214077403094120600e+00,-4.409226322925913766e-01,-2.803554951845090848e-01,-3.646935443916853870e-01,1.567038552723639677e-01,5.785214977288783977e-01,3.496544569931739899e-01,-7.641439239064430344e-01,-1.437791473801578457e+00,1.364531848102471301e+00,-6.894491845499376437e-01,-6.522935999350191194e-01,-5.211893123011108742e-01,-1.843069550156648528e+00,-4.779740040404866774e-01,-4.796558140079476562e-01,6.203582983435125264e-01
|
||||
4.900000000000000355e+00,3.100000000000000089e+00,1.500000000000000000e+00,1.000000000000000056e-01,6.984571491073360283e-01,3.770889086269340121e-03,9.318483741143036569e-01,3.399649838012619996e-01,-1.568211160255476855e-02,1.609281682982229844e-01,-1.906534935813993525e-01,-3.948495140334503106e-01,-2.677335368939664506e-01,-1.128011331470006873e+00,2.804417053162959750e-01,-9.931236109295806802e-01,8.416312640736364203e-01,-2.494585801609488507e-01,4.949498165009073858e-02,4.938367762809563466e-01,6.433144650629278871e-01,-1.570623408633452733e+00,-2.069036761639717337e-01,8.801789120807822497e-01,-1.698105819432254471e+00,3.872804753950633838e-01,-2.255564229402189369e+00,-1.022506843635603513e+00,3.863055184018809873e-02,-1.656715102321953736e+00,-9.855107376841506506e-01,-1.471835007463586864e+00,1.648134932207559578e+00,1.642277554873339540e-01,5.672902778526693890e-01,-2.226751005151544893e-01,-3.534317487571990712e-01,-1.616474188651032540e+00,-2.918373627478628163e-01,-7.614922118116232985e-01,8.579239242923363262e-01,1.141101866657573405e+00,1.466578715574177627e+00,8.525519394612319779e-01
|
||||
5.400000000000000355e+00,3.700000000000000178e+00,1.500000000000000000e+00,2.000000000000000111e-01,-5.986539369229860741e-01,-1.115896985960394439e+00,7.666631816450860670e-01,3.562928174722889141e-01,-1.768538450677030749e+00,3.554817927437690650e-01,8.145198224878663629e-01,5.892558918162996151e-02,-1.850536710093415305e-01,-8.076484876163556592e-01,-1.446534699563387871e+00,8.002979493400275146e-01,-3.091144447717087962e-01,-2.334666615436927217e-01,1.732721186919133238e+00,6.845011068591904113e-01,3.708250012811020735e-01,1.420618051872356569e-01,1.519994860765772726e+00,1.719589307416194535e+00,9.295051114795280789e-01,5.822245913979242626e-01,-2.094603071206144751e+00,1.237219142335065775e-01,-1.301069541937039942e-01,9.395322938556871506e-02,9.430460873225178231e-01,-2.739677167189556339e+00,-5.693120534701850977e-01,2.699043549407613707e-01,-4.668455460527625167e-01,-1.416906113126259470e+00,8.689634868967953674e-01,2.768719058461280302e-01,-9.711045704444846161e-01,3.148172045158237897e-01,8.215857120497958022e-01,5.292646299360853623e-03,8.005648034309967853e-01,7.826017516166135224e-02
|
||||
4.799999999999999822e+00,3.399999999999999911e+00,1.600000000000000089e+00,2.000000000000000111e-01,-3.952289826543543549e-01,-1.159420516399912948e+00,-8.593076697161272648e-02,1.942929380457716626e-01,8.758327615873309213e-01,-1.151074684872267218e-01,4.574156062209908113e-01,-9.646120137337284017e-01,-7.826291558275251248e-01,-1.103892990268877522e-01,-1.054628463985013864e+00,8.202478373246812060e-01,4.631303293186070924e-01,2.790957643924534270e-01,3.389041252159445405e-01,2.021043561484797468e+00,-4.688641879667956314e-01,-2.201441285500557843e+00,1.993001968964651927e-01,-5.060354096166589516e-02,-5.175190425104032599e-01,-9.788298593587698715e-01,-4.391895218021479308e-01,1.813384292178212842e-01,-5.028167006425382501e-01,2.412453679543748564e+00,-9.605043816331479967e-01,-7.931173627076716359e-01,-2.288620040014528456e+00,2.514844150215370111e-01,-2.016406627799760098e+00,-5.394546333745013911e-01,-2.756705345605569568e-01,-7.097279658468882424e-01,1.738872677454510907e+00,9.943943913154988934e-01,1.319136876301575612e+00,-8.824188185499185488e-01,1.128594064514568451e+00,4.960009463439621902e-01
|
||||
4.799999999999999822e+00,3.000000000000000000e+00,1.399999999999999911e+00,1.000000000000000056e-01,7.714059486768455320e-01,1.029438828782767157e+00,-9.087632459590531120e-01,-4.243176209779014885e-01,8.625960113284510955e-01,-2.655619092974932816e+00,1.513328082573205169e+00,5.531320642075839844e-01,-4.570396066023485471e-02,2.205076557571732931e-01,-1.029935283308976546e+00,-3.499433645891047440e-01,1.100284338220373748e+00,1.298021972326221185e+00,2.696224052563579665e+00,-7.392466628041513554e-02,-6.585529668050037477e-01,-5.142339659399888241e-01,-1.018041875287364784e+00,-7.785475594085075612e-02,3.827324300122681433e-01,-3.424228053195386978e-02,1.096346845665798542e+00,-2.342158013445365394e-01,-3.474506524985632727e-01,-5.812684768603252339e-01,-1.632634526234495231e+00,-1.567767724308454014e+00,-1.179157930637687812e+00,1.301428071664760822e+00,8.952602728899299311e-01,1.374964066392989848e+00,-1.332211654594501749e+00,-1.968624689786020232e+00,-6.600563201340828856e-01,1.758189532960280077e-01,4.986902749098274801e-01,1.047972155968052821e+00,2.842796708072146128e-01,1.742668780655631133e+00
|
||||
4.299999999999999822e+00,3.000000000000000000e+00,1.100000000000000089e+00,1.000000000000000056e-01,-2.226056809483204779e-01,-9.130792180417963699e-01,-1.681218215494433510e+00,-8.889713580954499150e-01,2.421179609851230041e-01,-8.887202573536308048e-01,9.367424635352571416e-01,1.412327706037443065e+00,-2.369586905226602980e+00,8.640523004976479182e-01,-2.239604058661736730e+00,4.014990550902874933e-01,1.224870564193659694e+00,6.485610634357617810e-02,-1.279689173204239472e+00,-5.854312042777726210e-01,-2.616454457109007037e-01,-1.822447837899429379e-01,-2.028968407666670581e-01,-1.098827793093137967e-01,2.134800489101688903e-01,-1.208573653733221231e+00,-2.420198298702194994e-01,1.518261170355705403e+00,-3.846454231425177617e-01,-4.438360931551977862e-01,1.078197303714237831e+00,-2.559184666344096470e+00,1.181378601288285868e+00,-6.319037580051672931e-01,1.639285724525866295e-01,9.632135592119682455e-02,9.424681192203937519e-01,-2.675947462353476802e-01,-6.780257815644503694e-01,1.297845790651098730e+00,-2.364173817141180134e+00,2.033418170524324900e-02,-1.347925422629120407e+00,-7.615733882565589585e-01
|
||||
5.799999999999999822e+00,4.000000000000000000e+00,1.199999999999999956e+00,2.000000000000000111e-01,2.011256681463136964e+00,-4.459542645585702625e-02,1.950696971513811717e-01,-1.781562855705591364e+00,-7.290446587946957102e-01,1.965574007287849145e-01,3.547576931132180866e-01,6.168865543932787743e-01,8.627898917576322380e-03,5.270042084546596728e-01,4.537819126356840149e-01,-1.829740411004531442e+00,3.700572191014953050e-02,7.679024077327036846e-01,5.898798207345194999e-01,-3.638588099707898982e-01,-8.056265075393678199e-01,-1.118311924321632178e+00,-1.310540115414123297e-01,1.133079879559721892e+00,-1.951804101481602105e+00,-6.598917297294979445e-01,-1.139802455426774053e+00,7.849575212405001112e-01,-5.543096265713008952e-01,-4.706376581547914162e-01,-2.169495699366489894e-01,4.453932508947973101e-01,-3.923889981496367363e-01,-3.046143054799926642e+00,5.433118913875196743e-01,4.390429576720425442e-01,-2.195410283312132504e-01,-1.084036620671934514e+00,3.517801106813582823e-01,3.792355335355867552e-01,-4.700328827008747878e-01,-2.167314705755386262e-01,-9.301565025243212492e-01,-1.785890920873291488e-01
|
||||
5.700000000000000178e+00,4.400000000000000355e+00,1.500000000000000000e+00,4.000000000000000222e-01,-1.550429345083480959e+00,4.173188210318354852e-01,-9.443684908242938603e-01,2.381031478323121231e-01,-1.405962916267899265e+00,-5.900576458695396820e-01,-1.104894050659278315e-01,-1.660699811869263298e+00,1.151478731400921579e-01,-3.791475628799227393e-01,-1.742356197809230567e+00,-1.303242754112315716e+00,6.051200840821666649e-01,8.955559855513239853e-01,-1.319086397799670574e-01,4.047618120404974928e-01,2.238435633129106928e-01,3.296229821277380512e-01,1.285984007080293035e+00,-1.506998398214272061e+00,6.764607323616231849e-01,-3.820089555778202195e-01,-2.242589342516403406e-01,-3.022497304550700314e-01,-3.751471166612838637e-01,-1.226196191783019085e+00,1.833391992576012541e-01,1.670943032788857252e+00,-5.613302044875711355e-02,-1.385042735095726001e-03,-6.872990371566635170e-01,-1.174745464181114751e-01,4.661664260340307453e-01,-3.702424407043429233e-01,-4.538040410520010615e-01,4.032645401632468096e-01,-9.180047698190454408e-01,2.524966270768724264e-01,8.203217972614217368e-01,1.359948541679484313e+00
|
||||
5.400000000000000355e+00,3.899999999999999911e+00,1.300000000000000044e+00,4.000000000000000222e-01,-9.038200727694681302e-02,1.367597239806713549e+00,1.034409886481518104e+00,-9.962126403710661604e-01,-1.217938511593150919e+00,-3.049636378544204329e-01,1.028935492594854173e+00,-7.228700756000490391e-02,-6.006575576577884990e-01,1.552243180048560767e+00,2.869044880033463918e-01,-2.320594275790741623e+00,3.171606262926887632e-01,5.200406145708678096e-01,2.256086544711037867e-01,4.497121002319925398e-01,-6.727560892298173334e-02,-1.318395869644734208e+00,-3.707040032204534374e-01,-9.456157955562913831e-01,-9.327409107943778199e-01,-1.263068349102275389e+00,4.524890926396463731e-01,9.789614541262708913e-02,-4.481653626807080570e-01,-6.493379277303881203e-01,-2.342310502145216952e-02,1.079194728112489177e+00,-2.004215715498915085e+00,3.768765208508927378e-01,-5.457119740177823752e-01,-1.884585844979447700e+00,-1.945703083163958791e+00,-9.127834941352918063e-01,2.195095557930452634e-01,3.930629339800916222e-01,-9.389815726777852589e-01,1.017020991413244646e+00,1.422983496516106117e+00,3.960865849565601837e-01
|
||||
5.099999999999999645e+00,3.500000000000000000e+00,1.399999999999999911e+00,2.999999999999999889e-01,-5.914026678081107935e-01,1.124419184510368153e+00,7.553956956633383069e-01,8.674074113549179454e-01,-6.564636749715314634e-01,-2.834554505274702318e+00,2.116791021483675372e+00,-1.610878403449933716e+00,-3.576807186022112894e-02,2.380745351219750283e+00,3.305767562743739951e-01,9.492464735582356594e-01,-1.502396569381712732e+00,-1.777666954733706284e+00,-5.327027919795545019e-01,1.090749734434500073e+00,-3.462494476473099714e-01,-7.946363210714987302e-01,1.979672899449674561e-01,1.081935218477265259e+00,-1.444940199073371678e+00,-1.210542994123351646e+00,-7.886692545093662021e-01,1.094638374712091355e+00,2.348215259487319018e-01,2.132153410570443608e+00,9.364457258311158494e-01,-3.509517686967038308e-02,1.265077838088765949e+00,2.114970127318780146e-01,-7.049213525074449205e-01,6.799748442451023500e-01,-6.963266538610828338e-01,-2.903971008038667700e-01,1.327782695957983039e+00,-1.012814862173993524e-01,-8.031413873416283211e-01,-4.643376914354916396e-01,1.021790585588673084e+00,-5.525406734167291889e-01
|
||||
5.700000000000000178e+00,3.799999999999999822e+00,1.699999999999999956e+00,2.999999999999999889e-01,-3.868708468506465437e-01,-5.102927396336285337e-01,1.839254943403099418e-01,-3.854897603756082813e-01,-1.601836048972536952e+00,-8.871809418450402607e-01,-9.327890415064382656e-01,1.243319384455154886e+00,8.126740421090423716e-01,5.872593793998259759e-01,-5.053583172644099397e-01,-8.157915419939713031e-01,-5.075176016573570426e-01,-1.051880102551673968e+00,2.497200391587007129e+00,-2.245321648371402024e+00,5.640085350738091030e-01,-1.284552297992527237e+00,-1.043434914946926445e-01,-9.880019424937344086e-01,-1.177628962482630826e+00,-1.140196300934961604e+00,1.754986153742058574e+00,-1.329884223095919860e-01,-7.657021944780862954e-01,5.557869640828729807e-01,1.034931456629935298e-02,7.200337593416528126e-01,-1.824256655937829930e+00,3.036039044620014171e-01,7.726948371023817375e-01,-1.661598291114563697e+00,4.481952844233124678e-01,1.696181572828160622e+00,-1.485770335470271673e-02,8.214059370248112391e-01,6.705704503109098935e-01,-7.075056975105769030e-01,3.976673458649516990e-02,-1.566994710861602469e+00
|
||||
5.099999999999999645e+00,3.799999999999999822e+00,1.500000000000000000e+00,2.999999999999999889e-01,-4.513030371025261167e-01,2.656879749662359180e-01,7.231004937377981667e-01,2.461212524791161690e-02,7.199837301431654124e-01,-1.102906212955369725e+00,-1.016972745548715973e-01,1.927938451307721623e-02,1.849591246679636480e+00,-2.141666562000842378e-01,-4.990166379941828878e-01,2.135122384354860847e-02,-9.191134448699437298e-01,1.927538490652161707e-01,-3.650552165462576659e-01,-1.791327548041183659e+00,-5.858655113386084662e-02,-3.175430939301992495e-01,-1.632423302067983251e+00,-6.713415461452176825e-02,1.489355962074480288e+00,5.213037482757136853e-01,6.119271927311578096e-01,-1.341496725583042560e+00,4.768983689222224265e-01,1.484495813800780772e-01,5.290452383344316223e-01,4.226286217088256469e-01,-1.359780725503813681e+00,-4.140081155796743184e-02,-7.578708604251660486e-01,-5.008409428482209214e-02,-8.974009269018304868e-01,1.312470367140996297e+00,-8.589723884443423163e-01,-8.989421564655359909e-01,7.458640654355352950e-02,-1.077099069403994802e+00,-4.246633024328657080e-01,-8.299645975379619234e-01
|
||||
5.400000000000000355e+00,3.399999999999999911e+00,1.699999999999999956e+00,2.000000000000000111e-01,1.411172063889611694e+00,7.858038268311725583e-01,-5.746951846539464365e-02,-3.912170521740162554e-01,9.409176145751133591e-01,4.052040803228880717e-01,4.980524046828567197e-01,-2.619223734425048244e-02,-1.688230027771432162e+00,-1.124659825595527157e-01,-5.324899192090677413e-01,6.450552734598768989e-01,1.011842432994189078e+00,-6.579510447611686130e-01,4.683852342770516430e-01,1.735878997685713188e+00,-6.677127205705589708e-01,1.681921740073137661e+00,-8.525858471706470043e-01,2.295975560795144449e-02,-1.114561184184125094e-02,1.149889987006237450e-02,-8.376780419079452589e-01,-5.911831037644297293e-01,-6.677202863593993953e-01,3.269625954044573790e-01,3.300351145103116446e-01,2.225944331738258786e+00,1.370989006291121415e+00,-5.098432421384790914e-01,3.248696157961860620e-01,9.971179807917595062e-01,3.060182433851780723e-02,-6.964157844693558141e-02,5.157494276988904003e-02,8.672766288084278186e-01,-8.483205228052325131e-01,-3.256694688201741683e-01,4.704331448464818544e-01,3.114470715541555190e-01
|
||||
5.099999999999999645e+00,3.700000000000000178e+00,1.500000000000000000e+00,4.000000000000000222e-01,2.395827598563913252e-01,-3.698011663038032193e-01,9.725357891425369106e-01,2.133868247204537383e+00,4.064154936762062187e-01,-1.931767015498399021e-01,7.557402888945425889e-01,-5.391326367529899466e-01,-7.496903447028966383e-01,3.280874761371180282e-02,-2.582796632969944550e+00,-1.153950363652009425e+00,-3.479618559208458306e-01,-1.353388858147713369e+00,-1.032643101892129600e+00,-4.367483374580073963e-01,-1.642965293530609161e+00,-4.060717962598319186e-01,-5.352701645328444835e-01,2.540520838501601764e-02,1.154184030494019186e+00,1.725044164928659085e-01,2.106202134206362417e-02,9.945445703071174870e-02,2.273927751211284598e-01,-1.016738648609768925e+00,-1.147753247707981733e-01,3.087512418366131217e-01,-1.370759982543060529e+00,8.656529228158532652e-01,1.081376034458189750e+00,-6.313759884493888030e-01,-2.413377914531045498e-01,-8.781903428100731324e-01,6.993804835878171255e-01,-1.061222287445909185e+00,-2.224770102429202978e-01,-8.589199078076715788e-01,5.095427701128949632e-02,-1.794229271489721000e+00
|
||||
4.599999999999999645e+00,3.600000000000000089e+00,1.000000000000000000e+00,2.000000000000000111e-01,1.326461642365693416e+00,-9.646064242062639682e-01,5.989468311627604846e-02,-2.125230447703091996e-01,-7.621145119224981279e-01,-8.877801366359353574e-01,9.363985435524595502e-01,-5.256405931019396682e-01,2.711701846373109070e-01,-8.014968853943748028e-01,-6.471814318477606687e-01,4.722471500878487327e-01,9.304084961111163121e-01,-1.753164023270199490e-01,-1.421919871640436872e+00,1.997956079750004665e+00,-8.565493082342094944e-01,-1.541587399671787484e+00,2.594424587768151991e+00,-4.040322938509371409e-01,-1.461732688261408120e+00,-6.834397667886817906e-01,3.675448960222690298e-01,1.903115575939396953e-01,-8.517291972535899758e-01,1.822723600127959420e+00,-5.215796779933731253e-01,-1.184686590411551999e+00,9.606933984606597088e-01,1.329062846539682319e+00,-8.174930976162264606e-01,-1.401347293039310493e+00,1.030438267415604736e+00,-2.047323613057961733e+00,-1.226621659396615494e+00,9.674461500502350431e-01,-5.535254802238957078e-02,-2.639373485926878593e-01,3.528166064943783486e-01,-1.527744235454086830e-01
|
||||
5.099999999999999645e+00,3.299999999999999822e+00,1.699999999999999956e+00,5.000000000000000000e-01,-1.298686722163090224e+00,1.276075346006187550e+00,1.325014052886815286e+00,2.053325637779596924e-01,4.513401543201027433e-02,2.339624806020057957e+00,-2.764328450158372030e-01,-2.595769818340394330e-01,3.644812492405055671e-01,1.471321956142338294e+00,1.592770754417483614e+00,-2.585726316767712474e-01,3.083312459593452459e-01,-1.378083467064077139e+00,-3.119761079162129414e-01,-8.402903954793065067e-01,-1.006831752298983806e+00,1.681576716267327631e+00,-7.922866618061449318e-01,-5.316059080114549085e-01,3.658487879168582091e-01,1.297825266973585467e+00,4.811151263888354124e-01,2.759355114021582178e+00,-7.466797825114956932e-02,2.587164402297460475e-01,2.756006739840563546e-01,1.435049386789154502e+00,5.072389511096152548e-01,-1.162297003871490958e-01,-9.474885949068795332e-01,2.444434559616325831e-01,1.401344831291959636e+00,-4.103817936578705861e-01,5.289436184165822175e-01,2.461477886848441599e-01,8.635196583813146143e-01,-8.047537406378693081e-01,2.346647030526561650e+00,-1.279161107028258249e+00
|
||||
4.799999999999999822e+00,3.399999999999999911e+00,1.899999999999999911e+00,2.000000000000000111e-01,-3.655510899860373031e-01,9.380925409056455333e-01,2.967331724941133508e-01,8.299861590811031808e-01,-4.961023339825623713e-01,-7.480498268034106724e-02,1.223198363881738623e-02,1.569259614535904346e+00,6.904290243830489837e-01,7.966721083646713941e-01,-6.579260925367952373e-01,9.688826385630507909e-01,2.255816635688035199e-01,1.389145315677927428e+00,2.014060154918468015e+00,-3.067657760270045553e-01,-4.063031304450625547e-01,-8.640449911023695417e-01,-1.435795117163205514e-01,-3.820254489503835948e-01,3.595043995710101581e-01,-1.445668169337359366e-01,-3.615992807816197918e-01,1.064585136127851772e+00,-9.378802311514516932e-01,4.331079531513436498e-01,-4.059417271884834255e-01,7.243685048699644025e-01,1.385261546722230452e+00,-3.030982534240727055e-01,4.410329072731513644e-01,1.787928657331798454e-01,-7.994223995430965735e-01,2.407875097419384380e-01,2.891205052788121677e-01,4.128708204461746800e-01,-1.983988968200457448e-01,9.419230031014656779e-02,-1.147610944843135306e+00,-3.581140754798567416e-01
|
||||
5.000000000000000000e+00,3.000000000000000000e+00,1.600000000000000089e+00,2.000000000000000111e-01,5.559626797097979578e-01,8.924738873315303245e-01,-4.223148241252707158e-01,1.047140294332843252e-01,2.280533251240672021e-01,2.014799467044328662e-01,5.407735853003902138e-01,-1.818077630383569510e+00,-4.932407014757259067e-02,2.390336012467648985e-01,-1.000330348953705428e+00,1.673985707010710033e+00,1.615592672381679640e-01,1.563404745028929455e+00,-7.905230218330772107e-01,-9.073001215253270191e-01,2.242522209656818977e-01,-1.678688362828656633e+00,2.149655906260935223e-01,9.721923200291802958e-02,1.015665281542101228e+00,7.010413411650970872e-01,-4.174773498850339881e-01,-1.097496654770244717e+00,1.712305221343296546e+00,-7.921150205651500409e-01,-1.045524557069465788e+00,-1.084856059461445144e+00,1.117305315536664567e+00,-5.189002044248520740e-01,-7.537044661806008294e-01,1.376898259033473293e-01,-2.069447105572910228e-01,-6.780954607862469397e-01,7.539914669784796297e-01,1.065315492097994809e+00,9.853175089398669151e-01,7.669196696611989550e-01,4.026255311300351858e-01,-1.775887999961828889e+00
|
||||
5.000000000000000000e+00,3.399999999999999911e+00,1.600000000000000089e+00,4.000000000000000222e-01,1.669250806376968654e+00,3.019892103575529396e-01,6.081564276006414804e-01,1.114962322947402162e+00,1.433352502881991786e+00,4.183980113091925190e-01,4.355461592956536010e-01,-5.992242774597194011e-01,3.308975113876019836e-02,-8.541612608143545060e-01,-7.199405321418946846e-01,-8.935744023141912740e-01,-1.560238909972873622e-01,1.049093187920010273e+00,3.170974773290179627e+00,1.894996375479134632e-01,-1.348413087756120010e+00,1.264983329856256056e+00,-3.007838764760271122e-01,-6.606085939769920090e-01,2.098494779230553053e-01,-1.240624599556227503e+00,2.224631640086067730e-01,-8.837552319915496779e-02,9.837790681547566030e-02,3.814162542091708574e-01,6.749225724080680500e-02,1.633808411289249321e-02,2.843145189979445209e-01,4.154006261711268300e-01,-1.031482460315257699e+00,-1.429991258685448408e+00,-6.163805217221475508e-02,-1.432735489934108042e+00,8.753147092167086474e-02,9.387468756823100779e-01,6.071116719160458697e-01,-1.048170406825473133e+00,-8.602624519575188256e-01,3.283012950007553887e-01
|
||||
5.200000000000000178e+00,3.500000000000000000e+00,1.500000000000000000e+00,2.000000000000000111e-01,-4.012978051335100438e-01,-3.166552950521069332e-01,5.969064812479538684e-01,-9.872866934576524089e-01,-4.012347099111824300e-01,-8.000824760846012573e-01,-1.043129498035355596e+00,-8.570781886711646980e-01,6.774621693464116801e-01,5.182038948242156245e-02,-8.791606288350748422e-01,-2.311016075929965274e-01,-1.638807307122177814e+00,-7.333128075836656823e-01,2.149574534867286779e+00,-9.024384966575059452e-02,7.316589270303924808e-01,-6.548837514448298258e-02,3.481692352418086500e-01,6.632580896791739899e-01,-1.104616597526470789e+00,-3.093625727395893713e-02,1.578865194416488205e+00,-7.955005500532910112e-01,-5.664398537322192784e-01,-3.076912773670017476e-01,2.690240731762466586e-01,5.249178636458826652e-01,1.267411654818656697e+00,4.994982334686594583e-01,-6.205312579833403147e-02,1.259167129610813785e+00,7.041110221415821657e-01,-1.495679516257016228e+00,2.526368240355998385e+00,1.769921388196733725e+00,-1.682142227670740953e-01,3.779101017384750572e-01,1.324358749995839135e+00,-1.722007926968826264e-01
|
||||
5.200000000000000178e+00,3.399999999999999911e+00,1.399999999999999911e+00,2.000000000000000111e-01,7.303517903770193609e-01,1.104578473571476538e+00,-1.014825907734441035e+00,-6.023318535828621201e-01,9.214083978105812589e-01,4.608144771488305036e-01,9.237965603139468573e-01,-1.325680146537180359e-01,-2.890052109542329828e-01,-1.998639475583372738e+00,-1.146000426507443271e+00,4.706609465849369289e-02,8.245572195642364433e-01,5.311783665356952788e-01,-1.282419740277020159e-01,-2.717715664906966699e-01,2.171796326382801345e-01,7.821118109215217939e-02,1.404545514939711914e+00,1.464407704782498543e-01,-1.481245962197298427e+00,-1.272558135032316962e+00,1.518759336963580120e+00,-1.171160461450080348e+00,7.644974530335335583e-01,-2.683727352093812080e-01,-1.697582939024854798e-01,-1.341327827684201113e-01,1.221384959459198338e+00,-1.928418285439646718e-01,-3.331928284515295324e-02,-1.530803497399492619e+00,2.066905117080032883e-01,5.310425069780596585e-01,2.391455806537870210e-01,1.397896261086735370e+00,5.517135478023173917e-02,2.989774561190176039e-01,1.648504010268178943e+00,-1.550014189358147831e+00
|
||||
4.700000000000000178e+00,3.200000000000000178e+00,1.600000000000000089e+00,2.000000000000000111e-01,-4.558253477993688407e-01,1.426158752019266229e+00,9.361291483110824041e-01,6.783800988404703469e-01,8.326507394644783178e-01,3.270662091210220779e-01,1.631597427532271549e+00,3.777591697307178809e-01,2.398671058952785706e-01,1.589586741256432678e-01,1.928639555503860181e-01,-1.157017280815867855e+00,7.706730544633433322e-01,-1.304397337833273218e-01,1.821915097860405952e+00,-7.565047058842289118e-02,4.209182841756565763e-01,2.466021862613344273e-01,-6.255570351092533121e-01,9.921368285185058200e-01,1.905063640560017646e+00,-1.477721965984477720e-02,-3.004787855854222922e-01,-3.550287310553740805e-01,-1.892361893317341393e+00,-1.778131437030125439e-01,2.509981160083239460e-01,1.054757925180282774e+00,9.600477411499278579e-01,-4.164990824366924804e-01,-2.768229947738883312e-01,1.123905305614439021e+00,-1.734638970728791252e-01,-5.100295397556169341e-01,1.392518449434272387e+00,1.037585667050634042e+00,1.879179177425780237e-02,-5.937774477786674776e-01,-2.011880319244709003e+00,5.897036055747238992e-01
|
||||
4.799999999999999822e+00,3.100000000000000089e+00,1.600000000000000089e+00,2.000000000000000111e-01,-8.963697225521801704e-01,-1.962732009140752076e+00,1.584820527349017905e+00,6.479677910098883276e-01,-1.139008193116965328e+00,-1.214401382959259035e+00,8.709617821716195696e-01,-8.779706165358701631e-01,1.296149867527883304e+00,6.164593126261552758e-01,5.365965205668234983e-01,4.046954556143003146e-01,1.914508720239117834e-01,8.805111991771105151e-01,-4.540803625156051293e-01,8.595197343438468196e-02,7.519465876771956880e-01,5.629897185861277853e-01,-1.194986805268660301e+00,-5.004096673042639498e-01,2.528035054191545283e-01,-4.080147090398968945e-01,1.774658560973333188e+00,-3.931531947541128669e-01,-1.622184475766908496e-01,7.694301781773038584e-01,3.305327432349157712e-01,-1.452744572047692251e-01,-7.564935288807482783e-01,3.015140573967661775e-01,1.039096440378392661e+00,4.790952240982285781e-01,-7.781835214561222402e-01,1.736774956976710804e+00,-1.446577890035894320e+00,-1.582685641802789034e+00,9.605572244572283536e-01,2.258404786026901034e-01,-5.494985463040402696e-01,-1.098570727555329585e+00
|
||||
5.400000000000000355e+00,3.399999999999999911e+00,1.500000000000000000e+00,4.000000000000000222e-01,2.320799839280298205e+00,1.170908721554419496e-01,5.342011708457714558e-01,3.178850972381815909e-01,4.348079577311579347e-01,5.400944605248059194e-01,7.324240097548762041e-01,-3.752224007606727030e-01,-2.916419863518445732e-01,-1.741022808358901441e+00,-7.803044065015394271e-01,2.711127964467148765e-01,1.045023375502690532e+00,5.990395263761840727e-01,-3.406923438779304592e-01,-1.263172912085154254e+00,-2.777359145427433340e+00,1.151733974780799086e+00,-5.892289865101497659e-01,-4.484650062040592688e-01,1.315739679080687174e-01,-1.405560047391889889e+00,-3.497821801115368889e-01,2.023471949769974021e+00,5.053869385773427370e-01,3.592491565134564024e-01,-1.582494477981758463e+00,2.243601894582640366e+00,-1.422794908626342725e+00,1.922324755444398514e+00,-2.115056015187807503e+00,1.405365438724420324e+00,1.618054269000225531e+00,-8.244091213278346153e-01,4.225803722728827538e-01,5.474805721046650531e-01,-8.137944832313058763e-01,-1.449117610736930351e+00,-1.317717343140765385e+00,5.410082199598076347e-01
|
||||
5.200000000000000178e+00,4.099999999999999645e+00,1.500000000000000000e+00,1.000000000000000056e-01,-8.511560251940573918e-02,-5.643010333021604152e-01,9.667680111664601617e-01,5.080679093914777233e-01,-7.554627263656333858e-01,-1.201201519017389252e+00,5.232617386880769050e-01,-5.375833685580618804e-01,9.920486253150243017e-02,1.576298972627717676e+00,5.023282400747796084e-01,-8.622669997532367292e-01,1.606611898197728150e-01,-9.526449528153877466e-01,1.608522155948723720e+00,-5.615787496032208503e-01,2.072707469736186359e-01,3.077325746794319916e-01,1.592504683737024362e-01,-1.958548955136538705e+00,-1.446421063983328592e+00,-4.523502755690916866e-01,3.194318333315306346e-01,-1.377792142857706681e-01,-9.571474731510167810e-01,-1.348424319121700909e+00,-4.015575444993436105e-01,-4.684760446797231470e-01,5.128364575927566449e-01,-3.263184621583181122e-01,6.027076564293295524e-01,-5.946497697204053967e-01,-2.559576692142683241e-01,-3.480463796426194190e-01,-7.823669669020897333e-01,6.251186564337302132e-01,-8.135959970945070285e-01,-5.216415099706189773e-01,-7.311964594819723995e-02,-1.297379655956739875e+00
|
||||
5.500000000000000000e+00,4.200000000000000178e+00,1.399999999999999911e+00,2.000000000000000111e-01,-3.249349583204991232e-01,-7.113063597427885520e-01,-3.881541924822495826e-01,-5.992800267109062162e-02,-7.999136231406647202e-01,-2.200757798203555882e-01,1.308668752352179165e+00,-2.579855825448711115e-02,1.145262173019224727e+00,3.464944420067607167e-01,7.741606098188164031e-01,-7.744589687708258730e-01,1.049071650855127186e-01,1.339129226154759100e-01,-6.126257388749356547e-01,-8.228283242942817655e-01,-1.490265387907298233e+00,1.496139636951631990e+00,-9.724028893524976347e-01,1.346221073222300113e+00,-4.674931736578534780e-01,-8.624932997247338751e-01,6.225191403049976646e-01,-6.311919417468571103e-01,5.684589189242769125e-01,-3.328117648522095906e-01,4.804244961177867590e-01,-9.681860639071049324e-01,8.313510579847682713e-01,4.879726826630045866e-01,-9.196506900626617576e-01,2.642935721014741723e+00,5.401230264004940329e-01,2.290467070530538773e+00,1.600267818748759119e+00,-1.888347802177837986e-01,-4.122717546045429060e-01,-4.034591834208012262e-01,-1.830028550427810208e+00,-6.958351193495473375e-01
|
||||
4.900000000000000355e+00,3.100000000000000089e+00,1.500000000000000000e+00,1.000000000000000056e-01,2.467660239799705779e-01,1.525957560884808384e+00,-7.727718829782020959e-01,8.820565993630106183e-01,-1.252593341503319024e+00,-5.863200252111323563e-01,-4.576405942895259704e-01,3.718110814974934786e-01,4.573096467208112581e-01,9.623417448143452013e-01,7.708369604049366552e-01,2.431682154024917275e-01,3.903649435086223862e-01,1.588530691097532532e+00,-5.109261812322630769e-01,7.747283190671621078e-01,-1.808143926498251508e+00,4.113342428976086151e-01,-4.832495424791073968e-01,2.571182431510025176e-03,1.040086245053703173e+00,1.646438095263976220e-01,8.851875412089272865e-01,1.473764815138404849e+00,3.890939688657205631e-01,1.171041064620488292e+00,-3.265609776792077201e-01,-8.209882269614044575e-03,-5.226194163984779761e-01,1.042977594646375961e+00,4.140913537935950739e-01,-5.072344618949226058e-01,1.546688336463321878e-01,1.041568388818581825e+00,-3.926799103795318435e-02,-9.489328108497634418e-01,1.319117557874122104e-01,-1.980565591068939701e+00,7.687706443994749561e-01,-4.213275873246805081e-01
|
||||
5.000000000000000000e+00,3.200000000000000178e+00,1.199999999999999956e+00,2.000000000000000111e-01,-4.693107362791067438e-01,8.756956787795067143e-01,-1.365162877225168714e+00,1.947098642820357828e+00,-4.802420417382233242e-01,-5.232509433848950842e-01,1.021224743167163052e+00,7.086952731104265713e-01,2.451229719075076030e+00,-2.112059836315199890e-01,-1.204066386644097320e-01,-1.479315979963253591e+00,-3.321022773488251367e-01,-7.214312955717557818e-01,-4.487670131054991574e-01,-1.744187756553955193e+00,1.660607559894514029e+00,-1.416603482425640603e+00,-2.802202798391713046e+00,-1.188424421583019308e+00,-6.038395527961509801e-01,-1.149554063257118175e+00,1.098303540732512351e+00,-1.378391785960938476e-01,2.538560440645898711e-02,6.103917643054127540e-01,2.860125269781179647e-01,9.785672974460429829e-01,-1.109477553636145197e+00,-5.475181006794317407e-01,6.659671460695377743e-01,-2.534554462084229964e+00,-1.375184479317240749e+00,5.009922321799465950e-01,-4.802490349949254389e-01,9.361075501096975948e-01,8.091802968531627283e-01,-1.198092880191038212e+00,4.066570874668811730e-01,1.201697855667506420e+00
|
||||
5.500000000000000000e+00,3.500000000000000000e+00,1.300000000000000044e+00,2.000000000000000111e-01,1.474344016509719080e-01,-9.774648772458691681e-01,8.793899419133700546e-01,6.354245265539955057e-01,5.426107834987963230e-01,7.159388934369916857e-01,-2.994612860227618967e+00,8.809375610809715429e-01,1.808131810578975429e+00,4.366384746292930052e-01,1.927289964997268290e-01,6.964386733914392780e-01,3.382254736851152965e-01,6.517812617006160103e-01,1.471000245410806345e-03,-7.667048545369002932e-01,-1.004322712214613444e+00,-9.981917282318640838e-01,-1.373042550950895224e+00,-1.067742011019106485e+00,1.761266127419863103e+00,7.540956636562426985e-01,-6.250273906846712801e-01,-3.903926939855080769e-01,1.125575309064542895e-01,-6.555450294843581105e-01,6.751685717432485967e-02,7.776041379029120515e-01,-3.574273354817348453e-02,3.360157426619921339e-01,8.864915393596158877e-01,-2.721317560182082151e-01,2.847905991343631649e-01,-3.093775928833613631e-01,-2.852886983441639893e-02,-3.247302650829599902e-01,-5.288698535561152658e-01,1.737118529870234351e-01,5.665453158182124360e-01,1.463044460010442527e-01
|
||||
4.900000000000000355e+00,3.100000000000000089e+00,1.500000000000000000e+00,1.000000000000000056e-01,4.987269583119319782e-01,-7.379317802412298510e-01,-1.203735192199779425e+00,4.170435029676035632e-01,6.878813911747545529e-01,4.985726659982264719e-02,1.348035780424718721e+00,9.076987979878986534e-01,2.680570840769000540e+00,-2.008085139956655718e-01,-9.988487960953681410e-01,-7.401367907395135504e-01,-5.654978063746562977e-01,4.760313834381145193e-01,-2.158068563961256903e+00,1.318551018090836635e+00,-2.392965911423441394e-01,-2.467935577887517828e-01,-1.079343166024995249e+00,-1.142255514501802072e-01,1.323976766753355225e-02,-1.219449276002772670e-01,3.390592559424304153e-01,-5.896320419510298061e-01,-8.958157604108271110e-01,5.483281304979799042e-01,9.866745381579566931e-02,1.971810551973673942e-01,1.059027254441966326e+00,-1.022564391260685657e+00,-8.552404572508641722e-01,1.257219650828994117e+00,-1.482883357574042549e+00,-1.309412146331014215e+00,8.178618311849957800e-01,2.382001920220386260e-01,1.052321370592758515e-01,-9.165940810038318565e-02,3.126754702756948112e-02,-9.211211469195591806e-02
|
||||
4.400000000000000355e+00,3.000000000000000000e+00,1.300000000000000044e+00,2.000000000000000111e-01,1.355442702594418236e+00,-3.981481287500751032e-01,-1.613735362777791726e-01,1.794448805225073551e+00,2.750970202983580096e-02,2.232016389525177669e+00,-1.049797010189535557e-01,1.367414982460158468e+00,-1.655344038309677801e+00,1.536444608156663783e-01,-1.584473563150935460e+00,8.444543066045863133e-01,-1.212867816209024729e+00,2.837695543833455014e-01,-2.821958766904351101e-01,-1.158203185184028872e+00,-1.619359982897542460e+00,-5.110404635801097939e-01,1.740629445895330862e+00,-2.934850548893774835e-01,9.172215421158560478e-01,-5.704286766218814864e-02,8.767267736904523767e-01,-1.826911378304517664e+00,-4.031883068495333289e-01,9.494055237932187419e-01,-1.632549488331787313e-01,-8.645528271104713225e-02,-4.304619118857929694e-01,1.149379383367123975e+00,2.975143539549459093e-01,4.402227617534797133e-02,6.430545453392927380e-01,5.882249291179366679e-01,2.125870464375365920e-01,1.547031496990844524e+00,-6.028753363911903973e-02,2.780810479679439728e-01,-6.429525533528904768e-01,1.501152270061291982e-01
|
||||
5.099999999999999645e+00,3.399999999999999911e+00,1.500000000000000000e+00,2.000000000000000111e-01,1.587761523745367498e+00,-6.432576017887388087e-01,-1.133592825638458867e+00,9.967596428198155500e-01,-1.487661522336792552e-01,9.600420496977001006e-02,-4.511330369333481360e-02,7.912172392953507882e-02,8.505306835234381913e-01,-8.391241905992736783e-01,-1.011774084105488525e+00,8.496813703770766946e-02,-1.606439689449832731e+00,-1.373053536041928480e+00,1.866683148331627073e+00,7.574683300614039050e-01,-1.005647186901453827e-02,1.238006935958439803e+00,-1.040599230085144988e+00,-3.156031233858582197e-01,6.234536094243824378e-01,8.906716814313947461e-01,5.129168468277763848e-01,-2.541238807688224632e+00,-9.680821176645779680e-01,4.770680923568652587e-01,-3.559514930468063443e-01,2.540231620759171527e+00,9.265583009670964598e-01,5.580818806186658154e-01,-1.116949553746723556e+00,-3.529673960291555834e-02,2.412039642189525157e-01,1.127783630127802361e+00,8.811310970996323322e-01,1.032989194519945642e+00,-9.239120158100020408e-01,1.412151698298630853e+00,-1.380430752307269193e+00,-5.359145616661618039e-01
|
||||
5.000000000000000000e+00,3.500000000000000000e+00,1.300000000000000044e+00,2.999999999999999889e-01,4.307711349456414540e-01,-1.498915917331393177e-01,-1.006036857920391547e+00,-8.215498256031326108e-01,-1.548254322849042408e+00,5.319746390071913300e-01,1.260568845042149277e+00,-1.003935034013660188e-01,-4.003488150134233980e-01,-1.472322928466489600e+00,9.132019242521776103e-01,2.211304333239493047e+00,-1.797455804366897558e+00,-1.063432938154606822e+00,-6.795930425441440992e-01,-5.643179096824889607e-01,2.273459501434809960e-01,1.614249547280227404e+00,1.008597286860103637e+00,5.275973827743158928e-01,-7.239287040586021016e-01,-1.119628233680454388e+00,-7.967753063063008900e-01,1.548066801378738644e+00,-6.174330145790107166e-02,-4.468362536626211967e-01,-1.837557302499922551e-01,8.246182196384677088e-01,-1.312849674549791734e+00,1.414874135922422393e+00,1.564762569462989639e-01,-2.163439782957261026e-01,4.428461137467389896e-01,2.183970731299370305e-01,-3.441964564673812288e-01,-2.527106720416066876e-01,-8.688625468659522122e-01,6.563907508593024298e-01,-5.319938094111618110e-01,-9.562584224322827620e-01
|
||||
4.500000000000000000e+00,2.299999999999999822e+00,1.300000000000000044e+00,2.999999999999999889e-01,1.658635226535373208e-01,1.329141282745553321e+00,-4.834462377981961489e-02,-6.081012569516899280e-01,4.038960208359738124e-01,1.936712462402552015e+00,-1.451905529431747333e+00,3.822027877852935962e-01,2.050866252318538085e-01,1.161533803559117173e+00,9.909091736848452125e-01,-1.867091118097792268e-01,-1.684517255424882842e+00,8.065637678962596091e-01,-8.351926901914831225e-01,-9.467404109571895265e-01,1.148350580691126277e+00,-9.108503776386525086e-01,1.402844740100243293e+00,3.358447214053130181e-01,3.191184000862823944e-01,3.072647805055910286e-01,-1.638423625741792122e+00,-1.776388616346575855e+00,2.155530537886848064e-01,5.680073592264200943e-01,8.261103215620101137e-02,-8.215345170195275104e-01,1.892210388219473655e-02,-8.203415314548415105e-02,-9.571580982754103184e-01,1.013972154112161350e+00,-1.730276061550085842e+00,5.887424068075064465e-01,3.843234052112453059e-01,1.009711854811714327e+00,-1.005311872348858770e+00,1.014071466682110040e-01,2.171164949318165949e+00,6.620742889997063285e-01
|
||||
4.400000000000000355e+00,3.200000000000000178e+00,1.300000000000000044e+00,2.000000000000000111e-01,1.005812087289631868e-01,5.391612741141965648e-01,8.617684238012002229e-02,2.190898013239840125e+00,9.836361957891794905e-01,-8.561495423049708675e-02,2.523314313845212431e-01,-3.907979960810135656e-01,1.209850126410304982e+00,-1.406104771391010866e+00,-1.604738529860987084e+00,1.458714749675993572e+00,2.153119792570582725e+00,4.683049076895917096e-01,1.127379412357372573e-01,6.572676903047772745e-01,-6.470535263827592587e-01,1.712435451522124896e-01,3.890870585621503119e-02,6.265642507453605958e-01,-1.557998528183396347e+00,-5.070347697653374563e-01,8.449956030008372032e-01,-6.755938276300630374e-01,-9.933613754231354065e-01,2.042072149826954064e+00,3.811800017940036173e-02,-5.789181399432078434e-01,-1.692370437474108424e+00,7.293463462804261610e-01,6.991361537186937536e-01,-2.987596005699359458e-01,-1.102230190907090623e+00,-2.454942364237903615e-02,-8.358560674816213343e-01,-9.420935888731158947e-01,-1.032127514617075803e-01,-1.051390398660064562e+00,2.466489552524461781e-01,6.079925094063972635e-01
|
||||
5.000000000000000000e+00,3.500000000000000000e+00,1.600000000000000089e+00,5.999999999999999778e-01,-8.396324471731914096e-01,-1.368245095338390671e+00,1.561279598955807035e+00,-9.402702359572048252e-01,-6.599427051023376567e-01,2.130171674298873552e-01,5.993693725222970503e-01,-2.563168936896427774e-01,4.607943277012555572e-01,-4.009861578964010187e-01,-9.711706648243907392e-01,1.426316860787027352e+00,2.488441614331128093e+00,1.695969533014169306e+00,1.418066391534544557e-01,1.833435361815678455e+00,3.557035157239844536e-01,-4.772862704032293513e-01,4.663795743819788564e-01,-9.439250641118496210e-02,-9.831181837457076966e-01,-8.983219714320159754e-01,8.020517387405159404e-01,-1.846531981664673028e+00,6.041367404426841725e-01,-1.629583602748438276e+00,-2.121176444902435954e+00,-1.838846603758498510e+00,1.966763971934739841e+00,-1.962339649435420053e-01,8.658318016541909079e-02,1.419255045910951196e+00,9.341797484997248491e-01,-1.391505269404219591e+00,8.690063428187611017e-01,1.841812647035462880e-01,-3.416780975958805810e-01,2.429091413778038805e-02,1.279812020628021907e+00,-8.859664820409528518e-01
|
||||
5.099999999999999645e+00,3.799999999999999822e+00,1.899999999999999911e+00,4.000000000000000222e-01,4.008856791041211509e-01,-9.657236532908345522e-03,-1.797164615395618448e+00,-8.022531717308107879e-01,1.932135532336964612e-01,1.297342089092890616e+00,1.001331017346729579e+00,5.972125044034249930e-01,-8.152756611364585515e-01,1.801213990808534948e+00,2.152404676396114658e-01,-1.006365521678550312e+00,-1.829049808569510049e-01,8.962484253561593395e-01,7.617498318158106956e-03,8.868646865827609638e-01,1.103693957462150266e+00,4.005306845987061659e-01,-8.577026230468940415e-01,1.354546631899805342e-01,4.516585593883100380e-02,1.859346333851628286e+00,-1.626321937826830100e+00,-1.348224510943540622e-01,-5.840935467949193161e-01,3.351056201959988767e-01,-2.437564359199356101e+00,1.114924559490279909e+00,1.374848733553365662e-02,-1.844701163628046148e+00,-3.611131347398661151e-01,6.089623416545242307e-01,-1.591447875458031458e+00,3.222216443155699172e-03,-1.057473647801530081e+00,-5.559850318789673063e-01,2.673838267463693116e-02,1.834502535815762947e-01,-4.707424981827272314e-01,2.727963895302641384e-01
|
||||
4.799999999999999822e+00,3.000000000000000000e+00,1.399999999999999911e+00,2.999999999999999889e-01,8.179776072548057275e-01,-2.789142751032397949e-01,1.431567757449290879e+00,1.462214170780419487e+00,-4.287020655858288509e-01,-6.378405564735842859e-01,-1.664172985166173513e+00,-1.265693316393898538e-01,-3.634377801160513788e-01,7.790512201329915509e-01,-1.509661606068298800e+00,-2.773913917431098386e-01,9.687443931111453521e-01,-7.303570955579599122e-01,-7.623615367276093124e-01,-1.446940334755808522e+00,2.620573846018239283e+00,-7.474731780653793844e-01,-1.300346832218339133e+00,-8.038504040315199717e-01,-7.742950804868045100e-01,-2.693897784512402915e-01,8.253722320875147567e-01,-2.983231689958337207e-01,-9.228233149968279037e-01,-1.451338498191025117e+00,2.185735821987137145e-02,4.253907402979072161e-02,1.530932351028824634e+00,9.244773546980858403e-02,-9.900831128407737436e-02,-1.050653836587489565e+00,-3.059525750983919101e-01,-4.384744580346060516e-01,-3.701641645137025427e-01,-9.592553926405882336e-01,5.383296032761768490e-01,-1.424454175093693709e-01,-2.003534800049873998e-01,-1.714046116048996371e+00
|
||||
5.099999999999999645e+00,3.799999999999999822e+00,1.600000000000000089e+00,2.000000000000000111e-01,4.936440875248638838e-01,4.870153259803794432e-01,-8.391294028422137119e-01,9.901213838791936839e-01,-1.364758230082432355e+00,-2.186990878907987476e-02,-2.712073398901638788e-01,-1.317174788805794305e+00,1.897026120799957527e-01,1.702570152241791313e+00,6.763423006691976491e-02,-4.630217541090509425e-01,4.470241568856782588e-01,1.057199954671549369e-01,2.776213162550148633e-02,-4.255422127714480474e-01,1.421975559292464775e+00,4.563633634807853778e-01,-5.286706589354885910e-01,-1.080038367809579292e-01,-7.408667042040726347e-01,-6.082911500814950356e-01,-6.407257241901990197e-01,-1.134311593722227451e+00,7.772769637679554089e-01,-2.910414632730257689e-01,5.541275783267697319e-01,-6.701258977272964712e-01,-6.036249439233865033e-02,-7.110405967911112013e-01,7.196681705373316751e-01,-2.484193067050382286e-01,-7.308735859513858513e-01,-1.641703228809784143e+00,2.756665493407743917e-01,-7.083850523381071129e-01,-1.577921712099517385e-02,-4.917301080135276226e-01,9.541895808987649330e-01,5.441447523580079659e-01
|
||||
4.599999999999999645e+00,3.200000000000000178e+00,1.399999999999999911e+00,2.000000000000000111e-01,4.472120874548314862e-01,-6.161211233234792362e-01,4.662900435501894925e-01,1.714831608676042896e+00,-8.321860341500619818e-01,1.723391392291887814e-01,-1.649216974417132109e+00,1.398562092125535505e+00,-3.979120985908414232e-01,7.825788808419774645e-01,-1.723228250716323018e+00,1.797539387125904664e+00,-3.568715280255984612e-01,5.456573234700274888e-01,1.508182063325937960e-01,-2.554707861877694164e-01,1.685792302659303576e+00,-1.648046206366179822e+00,2.987136599920089397e-01,9.106456722299702822e-01,-2.985612163636626459e-02,-1.181707843665917995e-01,-1.426877120734650339e-01,-1.227636420410407991e+00,3.812738409493465069e-02,5.127175234723987396e-01,6.859922748066052400e-02,-2.722761011450806068e-01,-4.897250223730267304e-01,-2.792966692783721561e-01,1.257744217496038264e+00,-2.086634979420542546e+00,4.007145654777545529e-02,-3.277549172964167590e-01,1.455807951836843417e+00,5.549222544380277150e-02,1.484925598699954108e+00,-2.123890018045559103e+00,4.595849048340561738e-01,2.800578600376801286e-01
|
||||
5.299999999999999822e+00,3.700000000000000178e+00,1.500000000000000000e+00,2.000000000000000111e-01,1.390533967073938060e+00,-1.641348608823029132e+00,-1.550358081183257908e-01,6.606026178649258840e-02,-4.957954945452093254e-01,1.216577713742940325e+00,-3.386821854453975766e-01,2.034762544021153641e+00,1.054177908938922714e+00,9.508336970037996050e-01,5.592989813908842978e-01,-1.063695591025547893e+00,-4.310963375107570994e-01,5.727513668572158378e-01,6.775570335877171280e-01,1.307183845081257401e+00,-4.674410096259063452e-01,-8.601533849246632002e-01,8.591041927855306293e-01,-8.096265760401126776e-01,8.733118360704121841e-01,1.199736176415037825e+00,4.561530358270553531e-01,-3.575790319685979157e-01,4.108222614387956745e-02,5.934659196032391337e-01,1.018551871207346374e-02,2.198296338670492567e+00,-9.906709306271491711e-01,-1.002668587369790920e+00,-9.768953867353251663e-01,-5.895799225452156289e-01,-2.178931520194909321e+00,-6.296504269401812515e-01,-6.532847019278890111e-01,7.851402517417628568e-02,4.178005832060814329e-01,-1.240216336407770292e+00,9.000542427640723098e-01,1.802242229790547157e+00
|
||||
5.000000000000000000e+00,3.299999999999999822e+00,1.399999999999999911e+00,2.000000000000000111e-01,-2.082851030949963433e-01,1.574371237475571617e+00,1.989894944051877335e-01,1.988731918595391113e+00,1.117283465688190258e+00,-1.563904634839766272e+00,1.862737066135545724e-02,1.054324974904077727e+00,3.054658104061688806e-02,-3.688353084506694468e-02,1.269764750314303914e+00,-7.098541821461039625e-01,1.751561327821833658e-02,3.236257646091186824e-01,-3.337909603535641478e-01,-2.012910387753747560e-02,7.750232632241702557e-01,4.328376214999939409e-01,-8.087175319795336659e-01,-1.104123985799261742e+00,-7.891021802566502430e-01,1.248455788486605312e-03,-1.599397877570428173e-01,-8.319574932171247550e-01,-5.981504525164857977e-01,-1.520039285192063661e+00,4.178537032173259558e-01,-4.001872535163292222e-02,-1.259787343405270210e+00,2.862050418778281854e-02,1.342622010510353237e+00,-7.399358529652596550e-01,1.315137665720972349e+00,-3.234574724834238246e-01,1.978281678498678142e-01,9.775080242218528448e-02,1.401523416005245437e+00,1.584338467855317123e-01,-1.141901419203846579e+00,-1.310970370441212340e+00
|
||||
7.000000000000000000e+00,3.200000000000000178e+00,4.700000000000000178e+00,1.399999999999999911e+00,-1.532921053430127856e+00,-1.711970164094221314e+00,4.613505895568492665e-02,-9.583744802265614648e-01,-8.081161294374096526e-02,-7.038590359904466354e-01,-7.707843007065652285e-01,-4.808453408727291212e-01,7.035855546433883445e-01,9.291451477686910598e-01,3.711725526490392002e-01,-9.898225495471192348e-01,6.436312754533384251e-01,6.888966666079322509e-01,2.746472036124445459e-01,-6.036204360190906559e-01,7.088595753671402822e-01,4.228185746766614517e-01,-3.116856591599125981e+00,6.444520334110422910e-01,-1.913742670861507067e+00,6.635615765913814856e-01,-1.540723984248353051e-01,1.193611680749198101e+00,-9.816121120593053473e-02,-8.866142600561124354e-01,-1.473536645828436575e-01,1.059806294933774540e+00,2.624661786158738463e-02,-1.143351598723767876e-01,7.435535155083369263e-01,2.103593666298129161e-01,-5.927405833231805775e-03,1.366060068403331496e+00,1.555114032059067730e+00,6.133262263287011518e-01,-2.859591514851729244e-01,1.496910993520827127e+00,1.183119557331707039e+00,7.188971655282916373e-01
|
||||
6.400000000000000355e+00,3.200000000000000178e+00,4.500000000000000000e+00,1.500000000000000000e+00,-1.216076580745860891e+00,1.406719033079609216e-01,-7.436721747008731009e-01,-1.590122515543593296e-01,2.400569292967187074e-01,1.001594080906234863e-01,-4.751751058292484897e-01,1.272953748919910755e+00,-1.696131266831543138e+00,7.301835311296144271e-01,-1.857483271594537966e+00,3.825981367234628783e-01,-8.869043262838756103e-01,8.783037577325304435e-01,8.645252400759345646e-02,2.477063784668243063e-01,-1.018279325566851412e+00,-6.545701349975838745e-01,2.072173934109533544e-01,5.835699269093039820e-01,2.929096241763861297e+00,2.228583231034867163e-01,9.760375253689257402e-01,-1.556933932509260599e+00,-1.329891861334062897e+00,-3.554947746084520244e-01,-1.197427695638566325e+00,1.486399253466384573e+00,-4.102186927803287420e-01,1.382181888393138491e+00,1.486782474085630801e+00,4.277971988356689403e-02,5.017997538076389707e-01,-5.609947334090290005e-02,5.384370003545386751e-01,4.833418517805717629e-01,-1.236496258920307123e-01,5.049699814628403338e-01,1.723696275667261801e+00,7.130162297109376990e-01
|
||||
6.900000000000000355e+00,3.100000000000000089e+00,4.900000000000000355e+00,1.500000000000000000e+00,3.257996136406255405e-01,1.247695210432124141e-01,-1.012673123768591088e+00,-1.027296877075462467e+00,3.233565314802586133e-01,-1.369391124047157238e+00,-7.663275989635831564e-01,1.281511340364133167e+00,1.914229697062814095e+00,-1.665956076797718399e+00,1.626649562301581975e+00,-2.114382908455566257e-01,-1.500508703136480514e-02,-1.134116306427339627e-01,1.080544127025487189e+00,-1.607676579043177068e+00,4.561636113551333915e-01,-9.448701973880109239e-01,5.707885293815737615e-01,1.542796338293051850e+00,-4.173264126201667486e-04,3.741550859708025478e-01,4.095517782376913440e-01,-7.995934996704900932e-01,1.511639349884318362e+00,1.706468247260988891e+00,7.017833721170290140e-01,7.328543200764546517e-02,-4.618938153542846425e-01,-6.264902231490875328e-01,1.710836582546655604e+00,1.414415042729023630e+00,-6.366148878954942802e-02,-1.579930529671123685e+00,-2.832011869908987123e+00,-1.083426660264279695e+00,-1.306203959951194038e-01,1.400689034443001413e+00,-6.516562090577807664e-01,5.048154563405017337e-01
|
||||
5.500000000000000000e+00,2.299999999999999822e+00,4.000000000000000000e+00,1.300000000000000044e+00,1.303180961648432445e+00,1.285363168560481606e-01,-1.424478687888413309e-01,-1.308763514238608039e+00,-1.202475308204432825e+00,4.160996344158233162e-01,-2.009075332009267190e-01,1.225313176533015386e-01,-4.727771569624714121e-02,6.641440493586504568e-01,-7.846874114294452029e-01,-3.355806435831669154e-01,1.896182228633144007e+00,-7.997861383857707285e-01,-2.815754308001021111e-01,-5.893867019785693495e-01,4.447813624072501915e-01,1.022392322442069457e+00,-4.982116185861096280e-01,-4.314143411046852394e-01,-2.789816053030302889e-01,5.298337834749576869e-01,-7.393953025101953624e-01,-3.759599659712591357e-01,-2.372193871513015306e+00,-1.381745009494985243e+00,-1.124437560192882157e-01,8.978641732031213962e-01,2.950757833018624043e-01,-1.098768456667299498e+00,-1.400256208127941937e+00,1.746800928981687429e-01,-1.652803642252843597e+00,1.065926818716888880e+00,6.389619165017826341e-02,-1.607320159234058021e+00,-9.659538588418696836e-01,-7.243113192311227966e-01,-7.731925102234387115e-01,-1.489933008221492328e+00
|
||||
6.500000000000000000e+00,2.799999999999999822e+00,4.599999999999999645e+00,1.500000000000000000e+00,-8.746625219888451985e-01,-6.844015561404261927e-01,-7.112857556104382750e-01,1.127956624933380558e+00,1.048278028272145723e-01,-9.932572174375523533e-01,-3.346216059541220478e-01,-8.795570973113842062e-01,-3.000066590117569931e-01,8.755091531413832229e-01,2.522707806121253782e-01,2.285601181528066572e+00,3.759274257674801722e-01,-9.135945099771070055e-01,8.097407308144474181e-01,1.079931217142535704e+00,1.094166991443943804e+00,-1.094240953035091390e+00,-1.476374145148375006e-01,1.131811956828452592e+00,-1.684728958873941140e+00,-4.994167610220383025e-01,-1.426937685426991509e+00,-9.325702298970132142e-01,-1.012457152743806210e+00,1.250569832543434901e+00,-2.345380349087503868e-01,-8.633555813417825853e-01,-1.035605731384494632e+00,1.416671648715303045e-01,-1.113562734066710774e-02,1.344074374673426941e+00,5.000166958573025733e-01,-1.431797778065037496e+00,-6.289807075912683398e-01,1.070072512070977089e+00,-6.210826977013773620e-01,1.734572174923709076e+00,-1.098289431324746657e+00,5.726133530407901961e-01
|
||||
5.700000000000000178e+00,2.799999999999999822e+00,4.500000000000000000e+00,1.300000000000000044e+00,-8.612155533986415312e-01,-5.095951329463573876e-01,1.098581648231146568e+00,-1.270671628385169338e-01,8.134522451141070754e-01,4.732905949147994673e-01,7.538656835623007701e-01,-8.881882110855132684e-01,-2.215743982040006832e-01,4.242526181008702268e-01,-8.490728726936603854e-01,1.629500043232328554e+00,-7.772280421551344132e-01,-3.000035769377952244e-01,-1.006559064794237512e+00,-2.143308065238688442e+00,1.796918522574928012e+00,-2.043389369030472469e-01,-4.479148384155402507e-01,-1.987150616707986650e-01,1.419863972196435675e+00,-9.651066080644172818e-01,6.795678657650824350e-01,-4.237882485494763318e-01,-5.966708555383097856e-01,5.670582125201824031e-01,9.882405737426969150e-01,-5.139029502799155047e-01,-7.688491596748099344e-01,-1.169095747322027146e+00,1.103503766728375579e+00,-5.752559948061179984e-01,-1.849130727275451136e+00,1.409952138396146193e+00,-1.369859501952942260e+00,7.794605312590614510e-01,1.834286466675247307e-01,2.879154322152783774e-01,-5.843752753113219400e-01,3.655914602246360667e-01
|
||||
6.299999999999999822e+00,3.299999999999999822e+00,4.700000000000000178e+00,1.600000000000000089e+00,-1.667779892884237336e+00,5.880377487398128489e-01,1.557010041532160161e+00,8.840271974263261834e-01,-2.019540085386721362e+00,-9.842090022728482435e-01,-1.877949219748069054e-01,4.869373049399326470e-01,-1.066526736602251002e-01,-4.932143871104978095e-01,5.953003076922928072e-01,1.164151766224966300e+00,-2.322940071865973455e-01,7.289298673852393495e-01,-2.579050745189474636e+00,-9.375093861087292479e-01,-3.212589370580095083e-01,-4.885662207546257463e-01,3.327982174044547548e-01,1.013750547498260657e+00,5.066690260283884806e-01,-6.222254717550558256e-01,-1.522768090504186045e+00,5.569641205788870009e-01,-1.838176739670012161e+00,6.530372834064285259e-01,-1.884490821300682517e-01,-1.175834987938228826e+00,2.872573124667927580e-01,-2.876102659000990668e-03,-3.659729291624690128e-02,-8.422329652739403427e-02,4.195241084261415176e-01,9.244340219585094331e-01,4.966151984838515498e-01,1.012133189822309598e+00,-4.413971884780624327e-02,1.618459324231974472e+00,5.711098221298226418e-01,-5.436940296827768027e-01
|
||||
4.900000000000000355e+00,2.399999999999999911e+00,3.299999999999999822e+00,1.000000000000000000e+00,-1.093895056734405014e+00,2.057968037340799639e-01,-1.306521522922600820e+00,-9.733759675567484893e-01,2.390870803735992423e-01,-6.078874462819541247e-01,-9.333162402269222779e-01,-3.447504608839825624e-02,7.267789910378988361e-02,-2.058340252187376151e-01,-3.775469190592885549e-01,8.546427287124486183e-01,3.424273512868276081e-01,-2.234261121946960194e-01,2.464321933515365437e+00,1.938317369284130731e-01,1.132005133677329800e+00,-5.609810031317564727e-01,-1.362940947208009623e+00,-7.917565156434643869e-01,-2.680097833981119337e-01,-4.966082097295170250e-01,1.336386182322793603e+00,-1.200411220961080244e-01,4.614688774411399019e-01,-4.648115603289031811e-02,-4.335543327331675689e-01,3.799601345351499848e-02,1.714051469770731861e+00,-7.679485917368150671e-01,7.669904505595511734e-01,-1.026007251625781880e+00,-4.596264422694389395e-01,3.583205954583646834e-03,3.263750897269906970e-01,1.483128627973814062e+00,-5.008264146453541427e-02,-8.436156065359264877e-01,6.500419730507697169e-01,-3.641698089157559548e-01
|
||||
6.599999999999999645e+00,2.899999999999999911e+00,4.599999999999999645e+00,1.300000000000000044e+00,2.386815709318353684e-01,-1.162224395377518538e-01,-1.943456851286822662e+00,5.082991855939731352e-01,5.833680068212987457e-01,9.266047683086053866e-01,1.800462762460227628e+00,-1.195103773463475738e+00,5.165074442817594313e-01,4.092949966409553664e-01,-4.190819928078221013e-01,3.971062364497787711e-01,4.996469551119659958e-01,-1.218683829977196931e+00,2.462227612764321949e-01,-9.179843060046155578e-01,-6.518564999305904717e-01,-1.774744815188650016e+00,-4.733609255024787688e-01,-2.035706714734769607e-01,5.498568672963908277e-01,8.999266711071546602e-04,-1.542288150799678625e+00,8.621480568842673220e-01,-1.185866235500923072e-01,4.883705904296574141e-01,9.659361184597011762e-01,1.422604748969034771e+00,1.961226989365015383e+00,-7.223875867166795750e-02,3.111244460936535283e-01,-1.078361090816779777e+00,1.061600170035261081e+00,-1.184887444571769644e+00,-1.805251688630421070e+00,8.303860053403917529e-01,-5.216965249478153765e-01,7.776072813422404417e-01,4.080746493461687163e-01,-1.630002651023708671e+00
|
||||
5.200000000000000178e+00,2.700000000000000178e+00,3.899999999999999911e+00,1.399999999999999911e+00,-2.719679364322614479e+00,-1.096601747092719181e+00,1.649148698086453854e-02,-1.221776334694771871e+00,-6.527614493487129410e-01,-1.458940730597325430e+00,1.698779597969244382e-01,9.082592703632520748e-02,-4.813926240476332774e-01,1.397065301313742625e+00,1.497715027319563408e+00,5.652672025364510189e-01,-1.799771181466744530e+00,-1.104690147205609430e+00,4.071303310832481426e-01,-6.285575802445897420e-01,-4.870914317118235082e-01,8.989673945880599648e-01,5.108748218924175077e-01,1.314154433813948808e+00,-4.292092966464773340e-01,1.375225420446897218e+00,-5.541312470844856897e-01,1.499491490138763039e+00,1.058346436167786758e-01,-8.605097471096080364e-01,-1.631219507653532963e+00,-3.014723148616931803e-01,-2.562326979954389072e-01,8.576619101224520758e-01,-1.105905028082072861e-01,-4.324319785784446757e-01,1.077037472947536489e+00,-2.248265612701514649e-01,-5.762418162269031807e-01,5.746089172925727961e-01,-4.898282188472668497e-01,6.588021416915129658e-01,-5.969171117831943985e-01,-2.229591829703794215e-01
|
||||
5.000000000000000000e+00,2.000000000000000000e+00,3.500000000000000000e+00,1.000000000000000000e+00,1.521769755882663444e-01,-3.741263202643058672e-01,-1.345146935738967924e-02,8.154719692400600461e-01,4.106017913200476488e-01,4.809698500346235028e-01,-6.354304386192671794e-01,8.528297682743679609e-01,6.695623405090825875e-01,1.004419192261624794e+00,-7.263658321861021783e-01,-1.724585966814570492e-01,6.335339024604004221e-01,-6.088151174171313462e-01,-2.261224697639562242e-01,1.925805737459526989e+00,1.951761012267813733e+00,1.239940549827360128e+00,9.385851362497682482e-01,-1.019251149505129517e+00,5.125622314261223389e-01,-3.591165950658852246e-01,-1.058571897605367740e+00,-5.090058385913199812e-01,1.156650740463465721e-01,-5.473555742986664363e-01,-5.507994257068401511e-01,7.920414984229742217e-01,1.441064851232318200e-01,2.334580796623180188e-01,1.118723968962983539e-01,-6.757031433716509383e-01,-1.370571917960688335e+00,3.105647104204784514e-01,-5.070366321254438091e-01,-2.010782268585877830e+00,-3.925672579651524607e-01,-1.092217941340623444e+00,6.986502343077553023e-01,5.216252272403399948e-01
|
||||
5.900000000000000355e+00,3.000000000000000000e+00,4.200000000000000178e+00,1.500000000000000000e+00,4.968931448384695804e-01,-6.650416181586910058e-01,7.315515818621539657e-01,3.196497831340729956e-01,-4.098545384398195046e-01,-4.533374321385169048e-01,8.927081528737002003e-01,-4.736040569636580932e-01,3.036564735262782810e-01,1.033956986812783585e+00,1.909342625557108653e+00,1.663873124437729611e+00,9.008227642090298470e-01,-1.505911351571387113e+00,-6.890484294179712865e-01,-5.480871874725355974e-01,1.653149832565320887e+00,-6.993179409720908790e-01,3.861663770983691513e-01,1.008670632573117898e-01,-9.351272094375440158e-01,3.818240096193838418e-01,3.982960861974925160e-01,-1.255774881741501536e+00,1.222877447053409838e+00,-2.086510028855187660e+00,-5.907571529099620022e-01,9.719702938655755409e-01,-1.193257833474039131e+00,3.502659195620300148e-01,-1.296360388275429987e+00,-9.302414444422328621e-02,-2.313773113172200357e+00,-8.425717017130081032e-01,-1.542921447154290249e+00,-4.017637421265006226e-01,-4.152313958216570788e-01,-6.736641713091396921e-01,7.979131965667455306e-01,-8.868796038714377161e-01
|
||||
6.000000000000000000e+00,2.200000000000000178e+00,4.000000000000000000e+00,1.000000000000000000e+00,6.343866731890511756e-01,1.629275769958861586e+00,1.390641503046825544e-01,-8.576702045753996639e-01,-1.249338514861542349e+00,-7.097851001194992460e-01,7.046427207498909828e-01,1.555907349688974983e-01,9.367952162539888716e-01,7.703308793272120036e-01,1.408106518782359096e-01,4.734882616664621846e-01,1.855246209420479131e+00,1.415656226174680121e+00,-3.027460169042532345e-01,9.896794419358903028e-01,5.858508058179355826e-01,1.136388077539739472e+00,6.716165720359097424e-01,-9.741674350429900819e-01,-1.619684565372700558e+00,5.726270172050856866e-01,1.902618198369831148e+00,-7.756641079399706484e-01,-1.880897380496502069e-01,-1.035747726195212826e+00,1.177829504705659946e+00,-2.305166855043520702e+00,-2.263660301035808509e+00,3.750199198201532580e-01,-8.234364679135211529e-02,-4.796230150738065023e-01,-3.010947865234137044e-01,5.369879144563616258e-01,-4.138039890496650886e-01,-1.096924971733113541e+00,-9.273629280729662749e-01,8.883388619968426436e-01,-5.247419549622203139e-01,-1.385277583767198228e+00
|
||||
6.099999999999999645e+00,2.899999999999999911e+00,4.700000000000000178e+00,1.399999999999999911e+00,1.021783269439707348e-01,5.049947217800111465e-01,1.328960747553223465e+00,2.179033871216689844e-01,-6.597112472096701152e-01,4.740078672770297041e-01,7.271748700204364591e-01,-3.890530666380676017e-02,-4.459939272557342932e-02,2.601329049387676728e-01,-6.985649825618424347e-02,2.501139068831255696e-01,-1.021913324426928282e+00,-1.150437769818509537e+00,-8.361113795007689697e-01,6.422109433294258540e-01,2.587975673406087140e-01,1.040238964249558640e+00,-1.866909221146099418e-01,-1.143641395841849651e+00,1.144553535284557944e+00,-1.876705553989292327e-02,1.283455036266525351e+00,5.979464913921805902e-01,2.188618678822837005e+00,-2.197729857133623455e-01,9.007239050891806542e-01,8.913641063529440522e-01,-5.551263454944499465e-01,-1.724823171069609085e-01,-1.461738342216722941e+00,-1.548796137002665718e+00,1.265688015307749603e-01,7.930070706974273742e-01,6.380240334954548898e-01,3.400245982596526440e-01,8.630171531510913985e-01,-5.896977956993247894e-01,-2.725327484877594908e-01,7.375215134138817241e-01
|
||||
5.599999999999999645e+00,2.899999999999999911e+00,3.600000000000000089e+00,1.300000000000000044e+00,4.331187294489333151e-01,-2.101888137967623249e-01,1.320794386127914555e+00,-1.292001251047127486e+00,-5.186786872885924549e-01,-2.833977744562524159e-01,8.165348797737703723e-01,2.385197915235162322e-03,-1.261491746790615043e+00,5.140041798160635000e-01,1.087546315466894509e+00,7.393045331330262426e-01,6.191549216054889060e-01,-1.874313496741068175e+00,-8.998864767434843204e-01,4.820806086722010941e-01,-5.488818475438848876e-02,5.225576019988119603e-01,-1.266342676962954217e+00,-6.149476428488614282e-02,-1.389781018896206755e+00,-1.953678562619406422e+00,2.957790885068872222e-01,8.425887964569803712e-01,2.456164279017757912e-01,-3.299648026466609624e-02,-1.562014341829266240e+00,1.006107067097547159e+00,-4.404489737594127069e-02,1.959562005205767843e+00,9.423143082769667167e-01,-2.005125426652148324e+00,7.550496802558879228e-01,-1.396535237573157229e+00,-7.594954904290640574e-01,-2.507566767601495106e-01,-9.406245036260366121e-02,3.975652156174661611e-01,-1.022855040804214077e+00,-1.150692004256646861e+00
|
||||
6.700000000000000178e+00,3.100000000000000089e+00,4.400000000000000355e+00,1.399999999999999911e+00,6.006052017330760773e-01,-1.325026793402665944e-02,1.743730487015256181e-01,-2.193683351694660111e+00,-1.771373833153235544e-01,-8.907291830614958439e-01,-9.206263730168693371e-01,9.219348042245775199e-01,-1.095671228972512345e+00,-1.092896606326030140e+00,-3.310106034017458732e-01,4.502888306473442070e-01,-8.840147297480861477e-01,1.234144035780061488e+00,1.449847525361218858e+00,-8.814470664684638246e-01,-2.450817555768555756e-01,-7.786754726576129437e-01,-1.685382104871227193e+00,3.030110504561573936e-01,7.335948682293695899e-01,2.011864263126561525e+00,-8.974095036313369800e-01,1.336235090812621040e+00,1.342353691257953230e+00,1.978533095671530795e-01,6.021634895760638040e-01,8.732730483007036248e-01,1.974099948241899494e+00,4.778085626164694233e-01,-6.013788550368521363e-02,-8.661687990074722343e-01,3.053207550124980574e-01,1.024164932773069969e+00,2.446103613294719481e-01,-7.799232489250029765e-01,8.907620249656333922e-02,-1.291534824601138776e-01,2.647387577557072658e-01,-1.661848367218250022e+00
|
||||
5.599999999999999645e+00,3.000000000000000000e+00,4.500000000000000000e+00,1.500000000000000000e+00,5.507886141027313887e-01,5.954231567637230382e-01,4.448534381865085763e-01,-3.762817145024025239e-03,-1.805936262603421660e+00,-1.932279197126340886e-02,1.060714999342169618e+00,-8.601288762924613751e-01,-1.989269466161283750e+00,-1.540557971870693654e+00,3.140256918206031367e-01,3.728760088524375460e-01,8.862931946214680501e-01,-5.525899572965248252e-02,-1.500328375978570605e+00,-8.185041405936757108e-01,8.188393725993478034e-01,1.404959074394759033e-01,6.498296346799786738e-01,4.347888054610397068e-01,-2.049605517302959257e-01,-1.740068375080336960e-01,1.857102269755859680e+00,4.146742666092209095e-01,-1.285875503163605993e-01,4.554199909368095156e-01,2.229058196242733325e-01,-2.157356373494461188e+00,6.500845143723144037e-01,1.820939274089675486e+00,-7.802798683900640242e-01,1.454035748839167086e+00,-2.568696973319169463e-01,2.934713976498222743e-01,1.070360016973173956e+00,-7.200014312908091796e-01,1.242493912818471324e+00,-1.214217281359339262e+00,-8.751547489139164249e-01,-5.935203173475258609e-01
|
||||
5.799999999999999822e+00,2.700000000000000178e+00,4.099999999999999645e+00,1.000000000000000000e+00,6.620053664519022218e-01,-3.408744105694707649e-01,-1.519974459585867965e+00,-2.165328718498284177e-01,-7.842213825343838929e-01,7.312936208403685301e-01,-3.432350544551032723e-01,7.077407590065136478e-02,-4.054724571406713163e-01,4.339389682302889351e-01,-1.835907634705541969e-01,3.251987146870652934e-01,-2.593388564741710312e+00,9.725087697778614371e-02,4.139136701102331117e-01,-1.992800549145920253e-01,6.693924713925414327e-01,7.386070289928207133e-01,1.304213891849502982e+00,1.048116080722816534e-01,-1.913800704669981201e+00,-2.285499448789645172e+00,-1.601840952074517599e+00,-3.790706118413619818e-02,-1.573052882805656694e-01,2.762398520199737528e-01,-6.252459225571738166e-01,-7.364911715057482766e-01,5.550479424104340920e-01,6.559244113725019032e-01,-2.566501354804808233e-01,-3.847665823895329851e-02,4.043143433289911326e-01,5.043435751629945507e-01,-1.143980699598740269e+00,-7.195738559179507554e-01,-1.230546045645386721e+00,-5.069066148368306379e-01,8.123335893418310860e-01,5.462718669437655050e-01
|
||||
6.200000000000000178e+00,2.200000000000000178e+00,4.500000000000000000e+00,1.500000000000000000e+00,-1.098097960362558689e+00,5.122667268259818441e-01,8.584310534245198632e-02,-4.939267070859206799e-01,-1.406459655103631246e+00,-1.748233716177669539e-01,6.799440061159555126e-01,-2.163097648396125727e+00,-3.961231977514494962e-01,2.254283698804962377e+00,6.726367185680938166e-01,2.598324950034759939e-01,-7.371851695709140673e-01,-6.783298378739697210e-01,-8.328839569996336623e-02,1.602863629377135890e+00,4.655891908949305047e-01,-8.721583977708226021e-01,1.176786962383863822e+00,-2.925942071580907022e-01,1.697346481013949138e+00,-5.666030246377040669e-01,-1.003265756903888972e+00,1.746295778135699972e-01,9.823269838002980370e-01,1.037444796730910168e+00,1.591917666688115185e-01,-9.880966879686111648e-01,-5.053407218978849258e-01,-2.018281868354216524e+00,-9.131215375688201963e-01,-1.784568148972631163e-01,3.890021406534791559e-01,-3.394543214647791074e-01,-5.697905497773966821e-02,-3.961854447498169285e-01,7.510253041897702042e-01,-8.991129384265388325e-01,8.375479141463264554e-01,1.960880812513910554e+00
|
||||
5.599999999999999645e+00,2.500000000000000000e+00,3.899999999999999911e+00,1.100000000000000089e+00,4.727896560219311262e-01,-5.270916102240418288e-01,-5.362701440867850833e-01,1.209837222184097616e+00,-1.126589425871997507e+00,-9.538044202725639575e-01,-1.164448453870464473e+00,-1.278513840520686173e+00,-1.044816319379856973e+00,7.899049417854930866e-01,1.102282564588024316e+00,-6.970730723601831214e-01,2.073340460456898626e-01,7.591566751082341469e-01,1.005642030971629630e-01,-9.549427576172389021e-01,-1.470401735138081367e+00,1.010427553125508693e+00,4.961794122883804725e-01,5.769558933986538296e-01,-1.107646900901030129e+00,2.349771928890519168e-01,6.289995874568216072e-01,3.140338436471455386e-01,-7.450232168076890149e-01,1.012260510065335684e+00,-1.527631948178773902e+00,9.287419248069415101e-01,1.081055944087073284e+00,1.572330317535224786e+00,-3.424921902504429183e-01,-9.994300165615205289e-01,7.938803623083801053e-01,-6.992152790869743395e-01,4.399551144398878427e-02,-3.174622171600719467e-01,-9.020719714130848166e-01,3.209994661848916131e-01,-1.392015916558035693e+00,5.922056816440394167e-01
|
||||
5.900000000000000355e+00,3.200000000000000178e+00,4.799999999999999822e+00,1.800000000000000044e+00,-9.669310884567345887e-01,-1.731731346467926258e+00,-5.010745879029283867e-02,4.316338528112232398e-01,5.769345970532243628e-01,8.183537308271613409e-01,-2.353640399690413609e+00,-1.005144430956671497e+00,1.066522945030321246e-01,1.519003279936145479e+00,7.837444936747277602e-01,1.901340051848112500e+00,-5.249394229139989765e-01,2.744169952820086356e-01,-1.099970807569307096e+00,-4.043522196239997535e-01,-7.352957182829735761e-01,-6.339886593167213258e-01,-3.934491211856632753e-01,2.717539890680890739e-03,2.221266451648408816e-02,5.434534395827254061e-01,1.399884673868593554e-01,-3.440456288496253623e-01,-5.225785415319466054e-01,-3.071317201586840628e-01,-4.490371414469655487e-01,4.909710551819796431e-01,8.655251906712624343e-01,1.274044537947084610e+00,-7.977027599404172831e-01,4.693722253387500598e-01,-1.394679641592675656e+00,3.731747182525781414e-01,1.082672282091064586e+00,-1.495895016669949729e-01,1.072636047258873182e+00,-1.138567870315476682e+00,-8.886452830916367063e-01,-1.358098426436865347e-01
|
||||
6.099999999999999645e+00,2.799999999999999822e+00,4.000000000000000000e+00,1.300000000000000044e+00,1.022210354585824321e+00,-4.174294563419881920e-01,-4.535531009087745979e-01,-9.916283583780206579e-01,2.028810444426215887e-01,1.246695140894435561e+00,7.006801090936923826e-01,6.966506543362647186e-01,-2.069744749236640258e-01,-5.633093592639144553e-01,6.772459164163702194e-01,-3.191107563414086884e-02,-1.736082357193817483e-01,8.982406224036155740e-01,-1.977874516727299026e-01,-8.377762593852057238e-01,9.091884953309661288e-01,8.071989043386668117e-02,-1.037029343848691942e+00,-1.112905894871616175e+00,9.541187582686681823e-02,2.337409661478275780e+00,-3.928206035462084578e-01,-3.362738590855784970e-01,1.523771197617053375e+00,-5.728119979051538718e-02,-1.448466863247988234e+00,-1.572796452548173241e+00,1.226663973787480266e+00,6.663545422501888638e-01,8.261257084311929288e-01,-5.775655837871274817e-02,-7.267120259827976048e-01,-2.171631157241669663e-01,1.360312173743767616e-01,-8.383111556987010715e-01,5.614499095511267246e-01,-1.259596168799721472e+00,-3.327587645752237422e-01,-2.040078724765028995e-01
|
||||
6.299999999999999822e+00,2.500000000000000000e+00,4.900000000000000355e+00,1.500000000000000000e+00,-6.910198131753685358e-01,-2.205505355019822034e+00,4.478696641112525634e-01,-7.557507604402671220e-01,1.325707959324371465e+00,-3.419822776840522605e-01,-5.413595884312205619e-01,9.152194677887708074e-02,1.053439748630448092e+00,-5.634076631181696992e-01,1.014737694829776826e+00,1.440303641017622649e+00,9.903228106559455179e-01,1.626431490992257256e+00,1.292646021012468838e+00,1.514882293893005771e+00,1.604326319415641189e+00,2.080695296299638064e-01,-4.292238995721983086e-01,-2.262243635243805784e+00,-1.322733119521795730e+00,-4.482827991587955974e-01,-3.817350872405659845e-01,-1.527944634020866055e-01,-1.000760490248750134e+00,-1.595777611441314026e+00,-1.302231664667262145e-01,-1.894179288117905924e-01,-8.075540415498659863e-01,-7.421521616503845564e-01,-9.401565918724067439e-01,-3.965237390163177666e-01,-8.563028269952512872e-01,1.259875331517015473e+00,2.409967320451210648e-01,-9.723179180265172361e-01,-2.804477814674541380e-01,-1.180285606351190619e+00,1.012168295174787902e+00,1.384186724580820149e+00
|
||||
6.099999999999999645e+00,2.799999999999999822e+00,4.700000000000000178e+00,1.199999999999999956e+00,1.252001982753031317e+00,-1.144692631242597569e+00,-9.126701972617591585e-02,-4.015706755129159200e-01,5.620131059141816321e-01,-1.007909803283898009e+00,-6.758916940010165630e-01,-4.132170283518080689e-01,1.532884691324238879e-01,6.941287081378864077e-01,-3.287276927366077905e-01,6.639650755262218595e-01,8.220763567971377528e-01,-2.132152368718210345e-01,-1.245658132865596901e+00,-1.171190335434140417e+00,5.917269751515682463e-01,-4.762244363146694304e-01,-1.712629322682455157e+00,6.129523681830005843e-01,1.295545205462189653e-01,-1.405967081142628361e+00,1.179419981202645795e+00,8.366359871577494500e-01,1.387452512901793111e-01,-1.274319367734416897e+00,-1.402330532885283088e+00,-3.070684868414365054e-01,-1.713915389550289436e+00,4.050802731844854176e-01,-1.410823313380336508e+00,1.649127292546986034e-01,-2.881314527267264114e-01,7.117852680970441215e-01,-9.379475952614881873e-01,2.737294495247240000e-01,-1.394840192834643444e+00,7.955495517694070040e-01,-1.149617662774946869e-01,4.958506689654303967e-01
|
||||
6.400000000000000355e+00,2.899999999999999911e+00,4.299999999999999822e+00,1.300000000000000044e+00,-1.320525346828032243e+00,4.990842756717665529e-01,3.062033963037085194e-01,3.636978927133631134e-01,3.126339630139859938e-01,-1.934638827903477354e-01,1.241299220315990937e+00,-1.558979857657035728e-01,-7.391692003908286734e-01,-5.872619336893859093e-02,-9.505179454445302767e-01,-4.639964233308440100e-01,-1.772466161893988812e-01,-3.795541206458599159e-01,1.993970728054857422e-01,1.945761391306326749e+00,5.709498398461204660e-01,1.072300647288091380e+00,-5.037094373682365900e-01,-5.870162885051485313e-01,-3.781780468929897276e-01,8.528890972688772942e-01,-2.148118478230897743e+00,-1.033164775291367299e+00,1.023358468342198818e-01,-2.240923670629287046e-01,1.967729682143045888e+00,4.476832157426563485e-01,-6.621914435304807611e-01,-1.577607068539347290e+00,-3.405600349378622993e-01,-1.303220082678414604e+00,4.667506504184351646e-01,1.611063222416784513e-01,3.200319320927312861e-01,2.079176664795037155e+00,-9.074659814202976627e-01,-1.924042077959067509e-01,-1.212515744488908975e+00,-8.059851615012544879e-02
|
|
|
@ -0,0 +1,65 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
|
||||
type: pipeline
|
||||
|
||||
display_name: iris-batch-prediction-using-parallel
|
||||
description: The hello world pipeline job with inline parallel job
|
||||
experiment_name: hello-world-parallel-job
|
||||
tags:
|
||||
tag: tagvalue
|
||||
owner: sdkteam
|
||||
|
||||
settings:
|
||||
default_compute: azureml:cpu-cluster
|
||||
|
||||
jobs:
|
||||
batch_prediction:
|
||||
type: parallel
|
||||
compute: azureml:cpu-cluster
|
||||
inputs:
|
||||
input_data:
|
||||
type: mltable
|
||||
path: ./neural-iris-mltable
|
||||
mode: direct
|
||||
score_model:
|
||||
type: uri_folder
|
||||
path: ./iris-model
|
||||
mode: download
|
||||
outputs:
|
||||
job_output_file:
|
||||
type: uri_file
|
||||
path: azureml://datastores/${{default_datastore}}/paths/${{name}}/aggregated_returns.csv
|
||||
mode: rw_mount
|
||||
|
||||
input_data: ${{inputs.input_data}}
|
||||
mini_batch_size: "10kb"
|
||||
resources:
|
||||
instance_count: 2
|
||||
max_concurrency_per_instance: 2
|
||||
|
||||
logging_level: "DEBUG"
|
||||
error_threshold: 5
|
||||
mini_batch_error_threshold: 5
|
||||
retry_settings:
|
||||
max_retries: 2
|
||||
timeout: 60
|
||||
|
||||
environment_variables:
|
||||
"AZUREML_PARALLEL_EXAMPLE": "2a_yaml"
|
||||
|
||||
task:
|
||||
type: run_function
|
||||
code: "./script"
|
||||
entry_script: iris_prediction.py
|
||||
environment:
|
||||
name: "prs-env"
|
||||
version: 1
|
||||
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
|
||||
conda_file: ./environment/environment_parallel.yml
|
||||
program_arguments: >-
|
||||
--model ${{inputs.score_model}}
|
||||
--allowed_failed_percent 30
|
||||
--task_overhead_timeout 1200
|
||||
--progress_update_timeout 600
|
||||
--first_task_creation_timeout 600
|
||||
--resource_monitor_interval 20
|
||||
append_row_to: ${{outputs.job_output_file}}
|
|
@ -0,0 +1,39 @@
|
|||
# ---------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# ---------------------------------------------------------
|
||||
"""This module will load mlflow model and do prediction."""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import pickle
|
||||
from pathlib import Path
|
||||
|
||||
from mlflow.sklearn import load_model
|
||||
|
||||
|
||||
def init():
|
||||
print("Environment variables start ****")
|
||||
for key, val in os.environ.items():
|
||||
print(key, val)
|
||||
print("Environment variables end ****")
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
allow_abbrev=False, description="ParallelRunStep Agent"
|
||||
)
|
||||
parser.add_argument("--model", type=str, default=0)
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
global iris_model
|
||||
|
||||
iris_model = load_model(args.model)
|
||||
|
||||
|
||||
def run(input_data):
|
||||
num_rows, num_cols = input_data.shape
|
||||
pred = iris_model.predict(input_data).reshape((num_rows, 1))
|
||||
|
||||
# cleanup output
|
||||
result = input_data.drop(input_data.columns[4:], axis=1)
|
||||
result["variety"] = pred
|
||||
|
||||
return result
|
|
@ -0,0 +1,16 @@
|
|||
# mnist batch prediction example \[Paralle job\] \[Yaml + CLI example\]
|
||||
|
||||
## Key notes for this example
|
||||
- How to use **parallel job** for **batch inferencing** scenario.
|
||||
- How to use parallel job **run_function** task with predefined **entry_script**.
|
||||
- How to use **url_folder** with **files data** as the **input of parallel job**.
|
||||
- How to use **mini_batch_size** in parallel job to split input data by size.
|
||||
- How to use **append_row_to** to aggregate returns to **uri_file** output.
|
||||
|
||||
To run this example, please following the steps:
|
||||
- Install the Azure ML CLI: [link](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-configure-cli?tabs=public)
|
||||
- Use Azure ML job command to run pipeline.yml.
|
||||
- Create new job: `az ml job create --file pipeline.yml`
|
||||
- Override settings in this job: `az ml job create --file pipeline.yml --set jobs.predict_digits_mnist.resources.instance_count=3`
|
||||
|
||||
To get the same example with python SDK experience, please refer to: [link](../../../../sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_batch_prediction.ipynb)
|
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.data-00000-of-00001
Normal file
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.data-00000-of-00001
Normal file
Двоичный файл не отображается.
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.index
Normal file
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.index
Normal file
Двоичный файл не отображается.
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.meta
Normal file
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.meta
Normal file
Двоичный файл не отображается.
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/saved_model.pb
Normal file
Двоичные данные
cli/jobs/parallel/3a_mnist_batch_identification/mnist_models/saved_model.pb
Normal file
Двоичный файл не отображается.
|
@ -0,0 +1,58 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
|
||||
type: pipeline
|
||||
display_name: mnist-batch-identification-using-parallel
|
||||
description: The hello world pipeline job with inline parallel job
|
||||
experiment_name: hello-world-parallel-job
|
||||
tags:
|
||||
tag: tagvalue
|
||||
owner: sdkteam
|
||||
|
||||
jobs:
|
||||
prepare_data:
|
||||
type: command
|
||||
compute: azureml:cpu-cluster
|
||||
component: ./script/prepare_data.yml
|
||||
|
||||
predict_digits_mnist:
|
||||
type: parallel
|
||||
compute: azureml:cpu-cluster
|
||||
inputs:
|
||||
job_data_path:
|
||||
type: uri_folder
|
||||
path: ${{parent.jobs.prepare_data.outputs.mnist_png}}
|
||||
mode: ro_mount
|
||||
score_model:
|
||||
type: uri_folder
|
||||
path: ./mnist_models
|
||||
mode: download
|
||||
outputs:
|
||||
job_output_file:
|
||||
type: uri_file
|
||||
path: azureml://datastores/${{default_datastore}}/paths/${{name}}/aggregated_returns.csv
|
||||
mode: rw_mount
|
||||
|
||||
mini_batch_size: "5"
|
||||
resources:
|
||||
instance_count: 2
|
||||
mini_batch_error_threshold: 5
|
||||
logging_level: "DEBUG"
|
||||
input_data: ${{inputs.job_data_path}}
|
||||
max_concurrency_per_instance: 2
|
||||
retry_settings:
|
||||
max_retries: 2
|
||||
timeout: 60
|
||||
|
||||
environment_variables:
|
||||
"AZUREML_PARALLEL_EXAMPLE": "3a_yaml"
|
||||
|
||||
task:
|
||||
type: run_function
|
||||
code: ./script
|
||||
entry_script: digit_identification.py
|
||||
environment:
|
||||
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
|
||||
conda_file: ./script/environment_parallel.yml
|
||||
program_arguments: >-
|
||||
--model ${{inputs.score_model}}
|
||||
append_row_to: ${{outputs.job_output_file}}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
# Copyright (c) Microsoft. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import os
|
||||
import numpy as np
|
||||
import argparse
|
||||
import tensorflow as tf
|
||||
from PIL import Image
|
||||
|
||||
|
||||
def init():
|
||||
global g_tf_sess
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
allow_abbrev=False, description="ParallelRunStep Agent"
|
||||
)
|
||||
parser.add_argument("--model", type=str, default=0)
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
# pull down model from workspace
|
||||
model_path = args.model
|
||||
|
||||
# contruct graph to execute
|
||||
tf.reset_default_graph()
|
||||
saver = tf.train.import_meta_graph(os.path.join(model_path, "mnist-tf.model.meta"))
|
||||
g_tf_sess = tf.Session(config=tf.ConfigProto(device_count={"GPU": 0}))
|
||||
saver.restore(g_tf_sess, os.path.join(model_path, "mnist-tf.model"))
|
||||
|
||||
|
||||
def run(mini_batch):
|
||||
print(f"run method start: {__file__}, run({mini_batch})")
|
||||
resultList = []
|
||||
in_tensor = g_tf_sess.graph.get_tensor_by_name("network/X:0")
|
||||
output = g_tf_sess.graph.get_tensor_by_name("network/output/MatMul:0")
|
||||
|
||||
for image in mini_batch:
|
||||
# prepare each image
|
||||
data = Image.open(image)
|
||||
np_im = np.array(data).reshape((1, 784))
|
||||
# perform inference
|
||||
inference_result = output.eval(feed_dict={in_tensor: np_im}, session=g_tf_sess)
|
||||
# find best probability, and add to result list
|
||||
best_result = np.argmax(inference_result)
|
||||
resultList.append("{}: {}".format(os.path.basename(image), best_result))
|
||||
|
||||
return resultList
|
|
@ -0,0 +1,14 @@
|
|||
import yaml
|
||||
import argparse
|
||||
import os
|
||||
|
||||
d = {"paths": [{"file": "./mnist"}]}
|
||||
|
||||
parser = argparse.ArgumentParser(allow_abbrev=False, description="dump mltable")
|
||||
|
||||
parser.add_argument("--output_folder", type=str, default=0)
|
||||
args, _ = parser.parse_known_args()
|
||||
dump_path = os.path.join(args.output_folder, "MLTable")
|
||||
with open(dump_path, "w") as yaml_file:
|
||||
yaml.dump(d, yaml_file, default_flow_style=False)
|
||||
print("Saved MLTable file")
|
|
@ -0,0 +1,17 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
||||
- protobuf==3.20.0
|
|
@ -0,0 +1,10 @@
|
|||
name: prepare-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- idx2numpy
|
||||
- pillow
|
||||
- PyYAML
|
|
@ -0,0 +1,28 @@
|
|||
import os
|
||||
import argparse
|
||||
import gzip
|
||||
import idx2numpy
|
||||
import urllib.request
|
||||
from PIL import Image
|
||||
|
||||
parser = argparse.ArgumentParser(allow_abbrev=False, description="parse user arguments")
|
||||
parser.add_argument("--output_folder", type=str, default=0)
|
||||
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
data_folder = os.path.join(args.output_folder, "mnist")
|
||||
os.makedirs(data_folder, exist_ok=True)
|
||||
urllib.request.urlretrieve(
|
||||
"https://azureopendatastorage.blob.core.windows.net/mnist/t10k-images-idx3-ubyte.gz",
|
||||
filename=os.path.join(os.getcwd(), "test-images.gz"),
|
||||
)
|
||||
|
||||
file_handler = gzip.open("test-images.gz", "r")
|
||||
imagearray = idx2numpy.convert_from_file(file_handler)
|
||||
|
||||
# Choose the first 1000 images and save to the output folder.
|
||||
for i in range(1000):
|
||||
im = Image.fromarray(imagearray[i])
|
||||
im.save(os.path.join(data_folder, f"{i}.png"))
|
||||
|
||||
print("Saved 1000 images to the output folder")
|
|
@ -0,0 +1,18 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
|
||||
type: command
|
||||
|
||||
name: prepare_data
|
||||
display_name: Prepare mnist data
|
||||
version: 1
|
||||
|
||||
command: >-
|
||||
python prepare_data.py --output_folder ${{outputs.mnist_png}}
|
||||
code: ./
|
||||
outputs:
|
||||
mnist_png:
|
||||
type: uri_folder
|
||||
mode: rw_mount
|
||||
|
||||
environment:
|
||||
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
|
||||
conda_file: ./environment_prepare.yml
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
page_type: sample
|
||||
languages:
|
||||
- azurecli
|
||||
products:
|
||||
- azure-machine-learning
|
||||
description: Directory for AzureML parallel job examples.
|
||||
---
|
||||
|
||||
# AzureML parallel job CLI (v2) examples
|
||||
|
||||
[![cleanup](https://github.com/Azure/azureml-examples/workflows/cleanup-cli/badge.svg)](https://github.com/Azure/azureml-examples/actions/workflows/cleanup-cli.yml)
|
||||
[![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
|
||||
[![license: MIT](https://img.shields.io/badge/License-MIT-purple.svg)](../LICENSE)
|
||||
|
||||
Welcome to the AzureML parallel job examples repository! The following parallel job examples will provide detailed guidance and best practices for how to parallelize your machine learn tasks to accelerate the execution and save more cost. Each example uses different input data types, data division method, and parallel settings to help you onboard parallel job in different scenarios.
|
||||
|
||||
Please refer to parallel job introduction doc to learn more before reading these examples. [How to use parallel job in pipeline](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-parallel-job-in-pipeline?tabs=cliv2)
|
||||
|
||||
**Prerequisite**
|
||||
- A basic understanding of Machine Learning
|
||||
- An Azure account with an active subscription - [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F)
|
||||
- An Azure ML workspace - [Configure workspace](https://learn.microsoft.com/en-us/azure/machine-learning/concept-workspace#create-a-workspace)
|
||||
- A CPU compute cluster with name "cpu-cluster" and 4 max instances - [Create compute cluster](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-create-attach-compute-cluster?tabs=azure-cli#create)
|
||||
- Installed Azure Machine Learning CLI v2 - [Install instructions](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-configure-cli?tabs=public#installation)
|
||||
# Parallel job example list
|
||||
| Example name | Description | Scenario | Parallel task type | Parallel job input type | Data division for mini-batches | Output action |
|
||||
| ------------ | ----------- | -------- | ------------------ | ----------------------- | ------------------------------ | ------------- |
|
||||
| [1a - Orange juice sales prediction](./1a_oj_sales_prediction/README.md) | A pipeline job to train orange juice sales prediction model. Each store and brand need a dedicated model for prediction.<br><br>This pipeline contains 2 steps:<br>1) A command job which read full size of data and partition it to output mltable.<br>2) A parallel job which train model for each partition from mltable. | Many models training | run_function | MLTable with tabular data | by partition_keys | ignore mini-batch returns |
|
||||
| [2a - Iris batch prediction](./2a_iris_batch_prediction/README.md) | A pipeline job with a single parallel step to classify iris. Iris data is stored in csv format and a MLTable artifact file helps the job to load iris data into dataframe. | Batch inferencing | run_function | MLTable with tabular data | by mini_batch_size | aggregate mini-batch returns to single file |
|
||||
| [3a - mnist batch prediction](./3a_mnist_batch_identification/README.md) | A pipeline job to predict mnist images. <br><br>This pipeline contains 2 steps:<br>1) A command job which download mnist images from internet into a folder on data store. <br>2) A parallel job read images from the output folder of previous step then process images in parallel. | Batch inferencing | run_function | uri_folder with image files | by mini_batch_size | aggregate mini-batch returns to single file |
|
||||
|
|
@ -69,6 +69,7 @@ def main(args):
|
|||
glob.glob("jobs/automl-standalone-jobs/**/*cli-automl*.yml", recursive=True)
|
||||
)
|
||||
jobs += sorted(glob.glob("responsible-ai/**/cli-*.yml", recursive=True))
|
||||
jobs += sorted(glob.glob("jobs/parallel/**/*pipeline*.yml", recursive=True))
|
||||
jobs = [
|
||||
job.replace(".yml", "")
|
||||
for job in jobs
|
||||
|
|
|
@ -66,8 +66,12 @@
|
|||
" CodeConfiguration,\n",
|
||||
")\n",
|
||||
"from azure.identity import DefaultAzureCredential\n",
|
||||
"from azure.ai.ml.entities._deployment.resource_requirements_settings import ResourceRequirementsSettings\n",
|
||||
"from azure.ai.ml.entities._deployment.container_resource_settings import ResourceSettings"
|
||||
"from azure.ai.ml.entities._deployment.resource_requirements_settings import (\n",
|
||||
" ResourceRequirementsSettings,\n",
|
||||
")\n",
|
||||
"from azure.ai.ml.entities._deployment.container_resource_settings import (\n",
|
||||
" ResourceSettings,\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -266,7 +270,7 @@
|
|||
" cpu=\"100m\",\n",
|
||||
" memory=\"0.5Gi\",\n",
|
||||
" ),\n",
|
||||
" )\n",
|
||||
" ),\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
|
|
|
@ -55,8 +55,12 @@
|
|||
" CodeConfiguration,\n",
|
||||
")\n",
|
||||
"from azure.identity import DefaultAzureCredential\n",
|
||||
"from azure.ai.ml.entities._deployment.resource_requirements_settings import ResourceRequirementsSettings\n",
|
||||
"from azure.ai.ml.entities._deployment.container_resource_settings import ResourceSettings"
|
||||
"from azure.ai.ml.entities._deployment.resource_requirements_settings import (\n",
|
||||
" ResourceRequirementsSettings,\n",
|
||||
")\n",
|
||||
"from azure.ai.ml.entities._deployment.container_resource_settings import (\n",
|
||||
" ResourceSettings,\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -215,7 +219,7 @@
|
|||
" cpu=\"100m\",\n",
|
||||
" memory=\"0.5Gi\",\n",
|
||||
" ),\n",
|
||||
" ) \n",
|
||||
" ),\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
|
@ -420,7 +424,7 @@
|
|||
" cpu=\"100m\",\n",
|
||||
" memory=\"0.5Gi\",\n",
|
||||
" ),\n",
|
||||
" ) \n",
|
||||
" ),\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,376 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Orange juice sales prediction example \\[Parallel job\\] \\[SDK example\\]\n",
|
||||
"## Key notes for this example\n",
|
||||
"- How to use **parallel job** for **many model training** scenario.\n",
|
||||
"- How to use parallel job **run_function** task with predefined **entry_script**.\n",
|
||||
"- How to pre-cook data into **mltable with partition setting**.\n",
|
||||
"- How to use **mltable** with **tabular data** as the **input of parallel job**.\n",
|
||||
"- How to use **partition_keys** in parallel job to consume data with partitions. \n",
|
||||
"- How to use **error_threshold** with **empty returns** to ignore checking failed items in mini-batch.\n",
|
||||
"- How to use other parallel job settings:\n",
|
||||
" - mini_batch_error_threshold\n",
|
||||
" - environment_variables\n",
|
||||
"\n",
|
||||
"To get the same example with CLI + Yaml experience, please refer to: [link](../../../../../cli/jobs/parallel/1a_oj_sales_prediction/README.md)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 1. Connect to Azure Machine Learning Workspace\n",
|
||||
"## 1.1 Import the required libraries"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673838207609
|
||||
},
|
||||
"name": "required-library"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# import required libraries\n",
|
||||
"from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential\n",
|
||||
"from azure.ai.ml import MLClient, Input, Output, load_component\n",
|
||||
"from azure.ai.ml.dsl import pipeline\n",
|
||||
"from azure.ai.ml.entities import Environment, ResourceConfiguration\n",
|
||||
"from azure.ai.ml.constants import AssetTypes, InputOutputModes\n",
|
||||
"from azure.ai.ml.parallel import parallel_run_function, RunFunction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1.2 Configure credential\n",
|
||||
"`DefaultAzureCredential` should be capable of handling most Azure SDK authentication scenarios. \n",
|
||||
"\n",
|
||||
"Reference for more available credentials if it does not work for you: [configure credential example](../../configuration.ipynb), [azure-identity reference doc](https://docs.microsoft.com/en-us/python/api/azure-identity/azure.identity?view=azure-python)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673838211196
|
||||
},
|
||||
"name": "credential"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"try:\n",
|
||||
" credential = DefaultAzureCredential()\n",
|
||||
" # Check if given credential can get token successfully.\n",
|
||||
" credential.get_token(\"https://management.azure.com/.default\")\n",
|
||||
"except Exception as ex:\n",
|
||||
" # Fall back to InteractiveBrowserCredential in case DefaultAzureCredential not work\n",
|
||||
" credential = InteractiveBrowserCredential()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1.3 Get a handle to the workspace\n",
|
||||
"\n",
|
||||
"We use config file to connect to a workspace. The Azure ML workspace should be configured with computer cluster. [Check this notebook for configure a workspace](../../configuration.ipynb)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673858642606
|
||||
},
|
||||
"name": "workspace"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Get a handle to workspace\n",
|
||||
"ml_client = MLClient.from_config(credential=credential)\n",
|
||||
"\n",
|
||||
"# Retrieve an already attached Azure Machine Learning Compute.\n",
|
||||
"cpu_compute_target = \"cpu-cluster\"\n",
|
||||
"print(ml_client.compute.get(cpu_compute_target))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 2. Define components and jobs in pipeline\n",
|
||||
"\n",
|
||||
"## 2.1 Load existing command component"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673860079582
|
||||
},
|
||||
"name": "load-from-yaml"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# load existing command component to partition the single csv data to mltable.\n",
|
||||
"partition_data = load_component(source=\"./src/partition_data/partition_data.yml\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.2 Declare parallel job by `parallel_run_function`\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673860081288
|
||||
},
|
||||
"name": "parallel-job-for-file-data"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Declare parallel job with run_function task\n",
|
||||
"many_model_training_with_partition_keys = parallel_run_function(\n",
|
||||
" name=\"train_many_models_with_partition_keys\",\n",
|
||||
" display_name=\"Train Many Models With Partition Keys\",\n",
|
||||
" description=\"parallel job to train many models with partition_keys on mltable input\",\n",
|
||||
" tags={\n",
|
||||
" \"azureml_parallel_example\": \"oj_many-model_sdk\",\n",
|
||||
" },\n",
|
||||
" inputs=dict(\n",
|
||||
" data_source=Input(\n",
|
||||
" type=AssetTypes.MLTABLE,\n",
|
||||
" description=\"Input mltable with predefined partition format.\",\n",
|
||||
" mode=InputOutputModes.DIRECT, # [Important] To use 'partition_keys', input MLTable is required to use 'direct' mode.\n",
|
||||
" ),\n",
|
||||
" drop_cols=Input(\n",
|
||||
" type=\"string\",\n",
|
||||
" description=\"Columns need to be dropped before training. Split by comma.\",\n",
|
||||
" ),\n",
|
||||
" target_col=Input(\n",
|
||||
" type=\"string\",\n",
|
||||
" description=\"The column name for label of the input data.\",\n",
|
||||
" ),\n",
|
||||
" date_col=Input(\n",
|
||||
" type=\"string\",\n",
|
||||
" description=\"The column name for datatime. This will be used for generating time-series lagging data.\",\n",
|
||||
" ),\n",
|
||||
" lagging_orders=Input(\n",
|
||||
" type=\"string\",\n",
|
||||
" description=\"List of int which indicate how to generate lagging data for time-series input. Split by comma.\",\n",
|
||||
" ),\n",
|
||||
" ),\n",
|
||||
" outputs=dict(\n",
|
||||
" model_folder=Output(\n",
|
||||
" type=AssetTypes.URI_FOLDER,\n",
|
||||
" mode=InputOutputModes.RW_MOUNT,\n",
|
||||
" ),\n",
|
||||
" ),\n",
|
||||
" input_data=\"${{inputs.data_source}}\", # Define which input data will be splitted into mini-batches\n",
|
||||
" partition_keys=[\n",
|
||||
" \"Store\",\n",
|
||||
" \"Brand\",\n",
|
||||
" ], # Use 'partition_keys' as the data division method. This method requires MLTable input with partition setting pre-defined in MLTable artifact.\n",
|
||||
" instance_count=2, # Use 2 nodes from compute cluster to run this parallel job.\n",
|
||||
" max_concurrency_per_instance=1, # Create 2 worker processors in each compute node to execute mini-batches.\n",
|
||||
" error_threshold=-1, # Monitor the failures of item processed by the gap between mini-batch input count and returns. 'Many model training' scenario doesn't fit this setting and '-1' means ignore counting failure items by mini-batch returns.\n",
|
||||
" mini_batch_error_threshold=5, # Monitor the failed mini-batch by exception, time out, or null return. When failed mini-batch count is higher than this setting, the parallel job will be marked as 'failed'.\n",
|
||||
" retry_settings=dict(\n",
|
||||
" max_retries=2, # Define how many retries when mini-batch execution is failed by exception, time out, or null return.\n",
|
||||
" timeout=60, # Define the timeout in second for each mini-batch execution.\n",
|
||||
" ),\n",
|
||||
" logging_level=\"DEBUG\",\n",
|
||||
" environment_variables={\n",
|
||||
" \"AZUREML_PARALLEL_EXAMPLE\": \"1a_sdk\",\n",
|
||||
" },\n",
|
||||
" task=RunFunction(\n",
|
||||
" code=\"./src/parallel_train/\",\n",
|
||||
" entry_script=\"parallel_train.py\",\n",
|
||||
" environment=Environment(\n",
|
||||
" image=\"mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04\",\n",
|
||||
" conda_file=\"./src/parallel_train/conda.yml\",\n",
|
||||
" ),\n",
|
||||
" program_arguments=\"--drop_cols ${{inputs.drop_cols}} \" # Passthrough input parameters into parallel_train script.\n",
|
||||
" \"--target_col ${{inputs.target_col}} \"\n",
|
||||
" \"--date_col ${{inputs.date_col}} \"\n",
|
||||
" \"--lagging_orders ${{inputs.lagging_orders}} \"\n",
|
||||
" \"--model_folder ${{outputs.model_folder}} \",\n",
|
||||
" ),\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 3. Build pipeline"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673860087207
|
||||
},
|
||||
"name": "build-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Declare the overall input of the job.\n",
|
||||
"input_oj_data = Input(\n",
|
||||
" path=\"./oj_sales_data/oj_sales_data.csv\",\n",
|
||||
" type=AssetTypes.URI_FILE,\n",
|
||||
" mode=InputOutputModes.RO_MOUNT,\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"# Declare pipeline structure.\n",
|
||||
"@pipeline(\n",
|
||||
" display_name=\"parallel job for oj many model training\",\n",
|
||||
")\n",
|
||||
"def partition_job_in_pipeline(\n",
|
||||
" pipeline_input_data,\n",
|
||||
"):\n",
|
||||
" # Declare 1st data partition command job.\n",
|
||||
" partition_job = partition_data(\n",
|
||||
" data_source=pipeline_input_data,\n",
|
||||
" partition_keys=\"Store,Brand\",\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" # Declare 2nd parallel model training job.\n",
|
||||
" parallel_train = many_model_training_with_partition_keys(\n",
|
||||
" data_source=partition_job.outputs.tabular_output_data,\n",
|
||||
" drop_cols=\"Revenue,Advert,Store,Brand\",\n",
|
||||
" target_col=\"Quantity\",\n",
|
||||
" date_col=\"WeekStarting\",\n",
|
||||
" lagging_orders=\"1,2,3,4,5,6\",\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" # User could override parallel job run-level property when invoke that parallel job/component in pipeline.\n",
|
||||
" parallel_train.resources.instance_count = 3\n",
|
||||
" parallel_train.max_concurrency_per_instance = 2\n",
|
||||
" parallel_train.mini_batch_error_threshold = 10\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# Create pipeline instance\n",
|
||||
"my_job = partition_job_in_pipeline(\n",
|
||||
" pipeline_input_data=input_oj_data,\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"# Set pipeline level compute\n",
|
||||
"my_job.settings.default_compute = \"cpu-cluster\""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673860094391
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(my_job)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 4. Submit pipeline job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1673858666260
|
||||
},
|
||||
"name": "submit-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pipeline_job = ml_client.jobs.create_or_update(\n",
|
||||
" my_job,\n",
|
||||
" experiment_name=\"hello-world-parallel-job\",\n",
|
||||
")\n",
|
||||
"pipeline_job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"name": "stream-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# wait until the job completes\n",
|
||||
"ml_client.jobs.stream(pipeline_job.name)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"description": {
|
||||
"description": "Create pipeline with parallel node to do batch inference"
|
||||
},
|
||||
"kernel_info": {
|
||||
"name": "python3"
|
||||
},
|
||||
"kernelspec": {
|
||||
"display_name": "vnext",
|
||||
"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.15"
|
||||
},
|
||||
"microsoft": {
|
||||
"host": {
|
||||
"AzureML": {
|
||||
"notebookHasBeenCompleted": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"nteract": {
|
||||
"version": "nteract-front-end@1.0.0"
|
||||
},
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "f1648a01f415a15976454e88ab551f1eeb39d06522c1fdad5697f49923f4699e"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
||||
- mltable==1.0.0
|
|
@ -0,0 +1,105 @@
|
|||
# Copyright (c) Microsoft. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import os
|
||||
import glob
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import pickle
|
||||
import mltable
|
||||
import argparse
|
||||
import mlflow
|
||||
|
||||
# from azureml.opendatasets import OjSalesSimulated
|
||||
from sklearn.model_selection import train_test_split
|
||||
from sklearn.tree import DecisionTreeRegressor
|
||||
from sklearn.ensemble import GradientBoostingRegressor
|
||||
|
||||
|
||||
def init():
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
parser.add_argument("--drop_cols", type=str)
|
||||
parser.add_argument("--target_col", type=str)
|
||||
parser.add_argument("--date_col", type=str)
|
||||
parser.add_argument("--lagging_orders", type=str)
|
||||
parser.add_argument("--model_folder", type=str)
|
||||
parser.add_argument("--partition_keys", type=str)
|
||||
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
global target_col
|
||||
target_col = args.target_col
|
||||
|
||||
global date_col
|
||||
date_col = args.date_col
|
||||
|
||||
global lagging_orders
|
||||
lagging_orders = [int(i) for i in args.lagging_orders.split(",")]
|
||||
|
||||
global model_folder
|
||||
model_folder = args.model_folder
|
||||
|
||||
global drop_cols
|
||||
drop_cols = args.drop_cols.split(",")
|
||||
|
||||
|
||||
def run(input_data, mini_batch_context):
|
||||
mlflow.autolog()
|
||||
|
||||
if not isinstance(input_data, pd.DataFrame):
|
||||
raise Exception("Not a valid DataFrame input.")
|
||||
|
||||
if target_col not in input_data.columns:
|
||||
raise Exception("No target column found from input tabular data")
|
||||
elif date_col not in input_data.columns:
|
||||
raise Exception("No date column found from input tabular data")
|
||||
|
||||
print(f"partition_key_value = {mini_batch_context.partition_key_value}")
|
||||
|
||||
# data cleaning
|
||||
input_data[date_col] = pd.to_datetime(input_data[date_col])
|
||||
input_data = input_data.set_index(date_col).sort_index(ascending=True)
|
||||
input_data = input_data.assign(Week_Year=input_data.index.isocalendar().week.values)
|
||||
input_data = input_data.drop(columns=drop_cols, errors="ignore")
|
||||
|
||||
# data lagging
|
||||
max_lag_order = max(lagging_orders)
|
||||
train_tail = input_data.iloc[-max_lag_order:]
|
||||
column_order = train_tail.columns
|
||||
data_trans = input_data.copy()
|
||||
|
||||
## Make the lag features
|
||||
for lag_order in lagging_orders:
|
||||
data_trans["lag_" + str(lag_order)] = data_trans[target_col].shift(lag_order)
|
||||
|
||||
data_trans = data_trans.loc[input_data.index]
|
||||
data_trans = data_trans.dropna()
|
||||
|
||||
# traning & evaluation
|
||||
features = data_trans.columns.drop(target_col)
|
||||
|
||||
X = data_trans[features].values
|
||||
y = data_trans[target_col].values
|
||||
|
||||
X_train, X_test, y_train, y_test = train_test_split(
|
||||
X, y, test_size=0.05, random_state=12, shuffle=False
|
||||
)
|
||||
|
||||
reg = GradientBoostingRegressor(random_state=12)
|
||||
reg.fit(X_train, y_train)
|
||||
reg_pred = reg.predict(X_test)
|
||||
|
||||
# Dump model
|
||||
relative_path = os.path.join(
|
||||
model_folder,
|
||||
*list(str(i) for i in mini_batch_context.partition_key_value.values()),
|
||||
)
|
||||
|
||||
if not os.path.exists(relative_path):
|
||||
os.makedirs(relative_path)
|
||||
|
||||
mlflow.sklearn.save_model(reg, relative_path)
|
||||
|
||||
return []
|
|
@ -0,0 +1,17 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
||||
- mltable==1.0.0
|
|
@ -0,0 +1,119 @@
|
|||
# Copyright (c) Microsoft. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import os
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import argparse
|
||||
import yaml
|
||||
import json
|
||||
import re
|
||||
import mltable
|
||||
|
||||
|
||||
def normalize_path_value(
|
||||
input_val: str,
|
||||
) -> str:
|
||||
return re.sub('\.|\s|\\\\|\||\*|/|\<|\>|\?|:|"', "_", input_val)
|
||||
|
||||
|
||||
def dump_df_to_mltable(
|
||||
input_df: pd.DataFrame,
|
||||
target_path: str,
|
||||
partition_cols=[],
|
||||
):
|
||||
if len(partition_cols) > 0:
|
||||
for item in partition_cols:
|
||||
if str(item) not in input_df.columns:
|
||||
raise Exception("No target column found from input tabular data")
|
||||
has_partition = True
|
||||
else:
|
||||
has_partition = False
|
||||
|
||||
partitioned_file_name = "partitioned_data.csv"
|
||||
|
||||
# Dump df to target path
|
||||
if has_partition:
|
||||
for group_name, group_df in input_df.groupby(partition_cols):
|
||||
if hasattr(group_name, "__iter__"):
|
||||
relative_path = os.path.join(
|
||||
target_path, *[normalize_path_value(str(e)) for e in group_name]
|
||||
)
|
||||
else:
|
||||
relative_path = os.path.join(target_path, str(group_name))
|
||||
|
||||
if not os.path.exists(relative_path):
|
||||
os.makedirs(relative_path)
|
||||
|
||||
output_path = os.path.join(relative_path, partitioned_file_name)
|
||||
group_df.drop(columns=partition_cols, errors="ignore").to_csv(
|
||||
output_path, index=False
|
||||
)
|
||||
else:
|
||||
if not os.path.exists(target_path):
|
||||
os.makedirs(target_path)
|
||||
|
||||
output_path = os.path.join(target_path, partitioned_file_name)
|
||||
input_df.to_csv(output_path, index=False)
|
||||
|
||||
# Create ML table artifact object
|
||||
mltable_path = os.path.join(target_path, "MLTable")
|
||||
mltable_dic = {
|
||||
"type": "mltable",
|
||||
"paths": [],
|
||||
"transformations": [
|
||||
{
|
||||
"read_delimited": {
|
||||
"delimiter": ",",
|
||||
"encoding": "ascii",
|
||||
"header": "all_files_same_headers",
|
||||
"empty_as_string": False,
|
||||
"include_path_column": True,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
if has_partition:
|
||||
partition_format_str = ""
|
||||
partition_key_droplist = ["Path", "file_name", "extension"]
|
||||
|
||||
for col_name in partition_cols:
|
||||
partition_format_str = partition_format_str + "{" + col_name + "}" + "/"
|
||||
|
||||
partition_format_str = partition_format_str + "{file_name}.{extension}"
|
||||
mltable_dic["paths"].append({"pattern": "./**/*.csv"})
|
||||
mltable_dic["transformations"].append(
|
||||
{
|
||||
"extract_columns_from_partition_format": {
|
||||
"partition_format": partition_format_str
|
||||
},
|
||||
}
|
||||
)
|
||||
mltable_dic["transformations"].append({"drop_columns": partition_key_droplist})
|
||||
else:
|
||||
mltable_dic["paths"].append({"pattern": "./*.csv"})
|
||||
|
||||
# Dump ML table artifact object to file
|
||||
with open(mltable_path, "w") as yaml_file:
|
||||
yaml.dump(mltable_dic, yaml_file, default_flow_style=False)
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--data_source", type=str)
|
||||
parser.add_argument("--partition_keys", type=str)
|
||||
parser.add_argument("--tabular_output_data", type=str)
|
||||
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
try:
|
||||
input_df = pd.read_csv(args.data_source)
|
||||
except:
|
||||
raise Exception("Can not load input data as csv tabular data.")
|
||||
|
||||
partition_cols = args.partition_keys.split(",")
|
||||
dump_df_to_mltable(
|
||||
input_df=input_df,
|
||||
target_path=args.tabular_output_data,
|
||||
partition_cols=partition_cols,
|
||||
)
|
|
@ -0,0 +1,29 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
|
||||
|
||||
type: command
|
||||
|
||||
name: partition_data
|
||||
display_name: Partition input data by keys
|
||||
version: 1
|
||||
|
||||
inputs:
|
||||
data_source:
|
||||
type: uri_file
|
||||
partition_keys:
|
||||
type: string
|
||||
|
||||
outputs:
|
||||
tabular_output_data:
|
||||
type: mltable
|
||||
|
||||
code: ./
|
||||
|
||||
environment:
|
||||
image: mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04
|
||||
conda_file: ./conda.yml
|
||||
|
||||
command: >-
|
||||
python partition_data.py
|
||||
--data_source ${{inputs.data_source}}
|
||||
--partition_keys ${{inputs.partition_keys}}
|
||||
--tabular_output_data ${{outputs.tabular_output_data}}
|
|
@ -0,0 +1,16 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
|
@ -0,0 +1,11 @@
|
|||
flavors:
|
||||
python_function:
|
||||
env: conda.yaml
|
||||
loader_module: mlflow.sklearn
|
||||
model_path: model.pkl
|
||||
python_version: 3.6.8
|
||||
sklearn:
|
||||
pickled_model: model.pkl
|
||||
serialization_format: cloudpickle
|
||||
sklearn_version: 0.20.3
|
||||
utc_time_created: '2021-02-05 10:59:19.184646'
|
Двоичный файл не отображается.
|
@ -0,0 +1,331 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# iris batch prediction example \\[Parallel job\\] \\[SDK example\\]\n",
|
||||
"## Key notes for this example\n",
|
||||
"- How to use **parallel job** for **batch inferencing** scenario.\n",
|
||||
"- How to use parallel job **run_function** task with predefined **entry_script**.\n",
|
||||
"- How to use **mltable** with **tabular data** as the **input of parallel job**.\n",
|
||||
"- How to use **mini_batch_size** in parallel job to split input data by size. \n",
|
||||
"- How to use **append_row_to** to aggregate returns to **uri_file** output.\n",
|
||||
"- How to use parallel job advanced args:\n",
|
||||
" - allowed_failed_percent\n",
|
||||
" - task_overhead_timeout\n",
|
||||
" - progress_update_timeout\n",
|
||||
" - first_task_creation_timeout\n",
|
||||
" - resource_monitor_interval\n",
|
||||
"\n",
|
||||
"To get the same example with CLI + Yaml experience, please refer to: [link](../../../../../cli/jobs/parallel/2a_iris_batch_prediction/README.md)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 1. Connect to Azure Machine Learning Workspace\n",
|
||||
"## 1.1 Import the required libraries"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675409840552
|
||||
},
|
||||
"name": "required-library"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# import required libraries\n",
|
||||
"from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential\n",
|
||||
"from azure.ai.ml import MLClient, Input, Output, load_component\n",
|
||||
"from azure.ai.ml.dsl import pipeline\n",
|
||||
"from azure.ai.ml.entities import Environment, ResourceConfiguration\n",
|
||||
"from azure.ai.ml.constants import AssetTypes, InputOutputModes\n",
|
||||
"from azure.ai.ml.parallel import parallel_run_function, RunFunction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1.2 Configure credential\n",
|
||||
"`DefaultAzureCredential` should be capable of handling most Azure SDK authentication scenarios. \n",
|
||||
"\n",
|
||||
"Reference for more available credentials if it does not work for you: [configure credential example](../../configuration.ipynb), [azure-identity reference doc](https://docs.microsoft.com/en-us/python/api/azure-identity/azure.identity?view=azure-python)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675409848584
|
||||
},
|
||||
"name": "credential"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"try:\n",
|
||||
" credential = DefaultAzureCredential()\n",
|
||||
" # Check if given credential can get token successfully.\n",
|
||||
" credential.get_token(\"https://management.azure.com/.default\")\n",
|
||||
"except Exception as ex:\n",
|
||||
" # Fall back to InteractiveBrowserCredential in case DefaultAzureCredential not work\n",
|
||||
" credential = InteractiveBrowserCredential()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1.3 Get a handle to the workspace\n",
|
||||
"\n",
|
||||
"We use config file to connect to a workspace. The Azure ML workspace should be configured with computer cluster. [Check this notebook for configure a workspace](../../configuration.ipynb)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675409855519
|
||||
},
|
||||
"name": "workspace"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Get a handle to workspace\n",
|
||||
"ml_client = MLClient.from_config(credential=credential)\n",
|
||||
"\n",
|
||||
"# Retrieve an already attached Azure Machine Learning Compute.\n",
|
||||
"cpu_compute_target = \"cpu-cluster\"\n",
|
||||
"print(ml_client.compute.get(cpu_compute_target))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 2. Define parallel job in pipeline"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675411996528
|
||||
},
|
||||
"name": "parallel-job-for-file-data"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Declare parallel job with run_function task\n",
|
||||
"batch_inferencing_with_mini_batch_size = parallel_run_function(\n",
|
||||
" name=\"batch_inferencing_with_mini_batch_size\",\n",
|
||||
" display_name=\"Batch Inferencing with mini_batch_size\",\n",
|
||||
" description=\"parallel job to do batch inferencing with mini_batch_size on mltable tabular input\",\n",
|
||||
" tags={\n",
|
||||
" \"azureml_parallel_example\": \"2a_sdk\",\n",
|
||||
" },\n",
|
||||
" inputs=dict(\n",
|
||||
" input_data=Input(\n",
|
||||
" type=AssetTypes.MLTABLE,\n",
|
||||
" description=\"Input tabular mltable data.\",\n",
|
||||
" mode=InputOutputModes.DIRECT, # [Important] To use mltable tabular data, it is required to use 'direct' mode.\n",
|
||||
" ),\n",
|
||||
" score_model=Input(\n",
|
||||
" type=AssetTypes.URI_FOLDER,\n",
|
||||
" description=\"Folder contains the model file.\",\n",
|
||||
" mode=InputOutputModes.DOWNLOAD,\n",
|
||||
" ),\n",
|
||||
" ),\n",
|
||||
" outputs=dict(\n",
|
||||
" job_output_file=Output(\n",
|
||||
" type=AssetTypes.URI_FILE,\n",
|
||||
" mode=InputOutputModes.RW_MOUNT,\n",
|
||||
" ),\n",
|
||||
" ),\n",
|
||||
" input_data=\"${{inputs.input_data}}\", # Define which input data will be splitted into mini-batches\n",
|
||||
" mini_batch_size=\"10kb\", # Use 'mini_batch_size' as the data division method. For tabular input data, it split data by physical size.\n",
|
||||
" instance_count=2, # Use 2 nodes from compute cluster to run this parallel job.\n",
|
||||
" max_concurrency_per_instance=1, # Create 2 worker processors in each compute node to execute mini-batches.\n",
|
||||
" error_threshold=5, # Monitor the failures of item processed by the gap between mini-batch input count and returns. 'Batch inferencing' scenario should return a list, dataframe, or tuple with the successful items to try to meet this threshold.\n",
|
||||
" mini_batch_error_threshold=5, # Monitor the failed mini-batch by exception, time out, or null return. When failed mini-batch count is higher than this setting, the parallel job will be marked as 'failed'.\n",
|
||||
" retry_settings=dict(\n",
|
||||
" max_retries=2, # Define how many retries when mini-batch execution is failed by exception, time out, or null return.\n",
|
||||
" timeout=60, # Define the timeout in second for each mini-batch execution.\n",
|
||||
" ),\n",
|
||||
" logging_level=\"DEBUG\",\n",
|
||||
" environment_variables={\n",
|
||||
" \"AZUREML_PARALLEL_EXAMPLE\": \"2a_sdk\",\n",
|
||||
" },\n",
|
||||
" task=RunFunction(\n",
|
||||
" code=\"./script\",\n",
|
||||
" entry_script=\"iris_prediction.py\",\n",
|
||||
" environment=Environment(\n",
|
||||
" image=\"mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04\",\n",
|
||||
" conda_file=\"./environment/environment_parallel.yml\",\n",
|
||||
" ),\n",
|
||||
" program_arguments=\"--model ${{inputs.score_model}} \" # Passthrough input model folder path into script.\n",
|
||||
" \"--allowed_failed_percent 30 \" # Advanced parallel setting in arguments. Visit https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-parallel-job-in-pipeline?tabs=cliv2#consider-automation-settings for more details.\n",
|
||||
" \"--task_overhead_timeout 1200 \"\n",
|
||||
" \"--progress_update_timeout 600 \"\n",
|
||||
" \"--resource_monitor_interval 20 \",\n",
|
||||
" append_row_to=\"${{outputs.job_output_file}}\", # Define where to output the aggregated returns from each mini-batches.\n",
|
||||
" ),\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 3. Build pipeline"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675412000673
|
||||
},
|
||||
"name": "build-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Declare the inputs of the job.\n",
|
||||
"input_iris_data = Input(\n",
|
||||
" path=\"./neural-iris-mltable\", type=AssetTypes.MLTABLE, mode=InputOutputModes.DIRECT\n",
|
||||
")\n",
|
||||
"input_model_folder = Input(\n",
|
||||
" path=\"./iris-model\", type=AssetTypes.URI_FOLDER, mode=InputOutputModes.DOWNLOAD\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"# Declare pipeline structure.\n",
|
||||
"@pipeline(\n",
|
||||
" display_name=\"parallel job for iris batch inferencing\",\n",
|
||||
")\n",
|
||||
"def parallel_job_in_pipeline():\n",
|
||||
" # Declare parallel inferencing job.\n",
|
||||
" parallel_train = batch_inferencing_with_mini_batch_size(\n",
|
||||
" input_data=input_iris_data,\n",
|
||||
" score_model=input_model_folder,\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" # User could override parallel job run-level property when invoke that parallel job/component in pipeline.\n",
|
||||
" parallel_train.resources.instance_count = 2\n",
|
||||
" parallel_train.max_concurrency_per_instance = 2\n",
|
||||
" parallel_train.mini_batch_error_threshold = 10\n",
|
||||
" parallel_train.outputs.job_output_file.path = \"azureml://datastores/${{default_datastore}}/paths/${{name}}/aggregated_returns.csv\"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# Create pipeline instance\n",
|
||||
"my_job = parallel_job_in_pipeline()\n",
|
||||
"\n",
|
||||
"# Set pipeline level compute\n",
|
||||
"my_job.tags.update\n",
|
||||
"my_job.settings.default_compute = \"cpu-cluster\""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675412007635
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(my_job)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 4. Submit pipeline job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675412018584
|
||||
},
|
||||
"name": "submit-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pipeline_job = ml_client.jobs.create_or_update(\n",
|
||||
" my_job,\n",
|
||||
" experiment_name=\"hello-world-parallel-job\",\n",
|
||||
")\n",
|
||||
"pipeline_job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"name": "stream-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# wait until the job completes\n",
|
||||
"ml_client.jobs.stream(pipeline_job.name)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"description": {
|
||||
"description": "Create pipeline with parallel node to do batch inference"
|
||||
},
|
||||
"kernel_info": {
|
||||
"name": "python3"
|
||||
},
|
||||
"kernelspec": {
|
||||
"display_name": "vnext",
|
||||
"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.15"
|
||||
},
|
||||
"microsoft": {
|
||||
"host": {
|
||||
"AzureML": {
|
||||
"notebookHasBeenCompleted": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"nteract": {
|
||||
"version": "nteract-front-end@1.0.0"
|
||||
},
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "f1648a01f415a15976454e88ab551f1eeb39d06522c1fdad5697f49923f4699e"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
paths:
|
||||
- file: ./iris.csv
|
||||
transformations:
|
||||
- read_delimited:
|
||||
delimiter: ","
|
||||
encoding: utf8
|
||||
header: all_files_same_headers
|
|
@ -0,0 +1,75 @@
|
|||
5.099999999999999645e+00,3.500000000000000000e+00,1.399999999999999911e+00,2.000000000000000111e-01,1.764052345967664026e+00,4.001572083672232938e-01,9.787379841057392005e-01,2.240893199201457797e+00,1.867557990149967484e+00,-9.772778798764110153e-01,9.500884175255893682e-01,-1.513572082976978872e-01,-1.032188517935578448e-01,4.105985019383723289e-01,1.440435711608779867e-01,1.454273506962975082e+00,7.610377251469934157e-01,1.216750164928284139e-01,4.438632327454256621e-01,3.336743273742668325e-01,1.494079073157606130e+00,-2.051582637658008745e-01,3.130677016509013644e-01,-8.540957393017247767e-01,-2.552989815834078691e+00,6.536185954403606058e-01,8.644361988595057333e-01,-7.421650204064419443e-01,2.269754623987607633e+00,-1.454365674598764757e+00,4.575851730144606805e-02,-1.871838500258335980e-01,1.532779214358457542e+00,1.469358769900285022e+00,1.549474256969163022e-01,3.781625196021735635e-01,-8.877857476301127537e-01,-1.980796468223926965e+00,-3.479121493261526088e-01,1.563489691039800511e-01,1.230290680727720742e+00,1.202379848784411287e+00,-3.873268174079522730e-01,-3.023027505753355659e-01
|
||||
4.900000000000000355e+00,3.000000000000000000e+00,1.399999999999999911e+00,2.000000000000000111e-01,-1.048552965067092613e+00,-1.420017937178975176e+00,-1.706270190625012617e+00,1.950775395231789666e+00,-5.096521817516534991e-01,-4.380743016111863786e-01,-1.252795360049926199e+00,7.774903558319100627e-01,-1.613897847557951515e+00,-2.127402802139687077e-01,-8.954665611936756253e-01,3.869024978592620068e-01,-5.108051375688730245e-01,-1.180632184122412109e+00,-2.818222833865486818e-02,4.283318705304176577e-01,6.651722238316788716e-02,3.024718977397813924e-01,-6.343220936809635946e-01,-3.627411659871381255e-01,-6.724604477759510424e-01,-3.595531615405412884e-01,-8.131462820444540496e-01,-1.726282602331676852e+00,1.774261422537528332e-01,-4.017809362082618851e-01,-1.630198346966044598e+00,4.627822555257741777e-01,-9.072983643832421841e-01,5.194539579613895175e-02,7.290905621775368717e-01,1.289829107574106681e-01,1.139400684543300679e+00,-1.234825820353652626e+00,4.023416411775490031e-01,-6.848100909403131986e-01,-8.707971491818817800e-01,-5.788496647644154613e-01,-3.115525321273726611e-01,5.616534222974543800e-02
|
||||
4.700000000000000178e+00,3.200000000000000178e+00,1.300000000000000044e+00,2.000000000000000111e-01,-1.165149840783356483e+00,9.008264869541871001e-01,4.656624397304598428e-01,-1.536243686277223741e+00,1.488252193795599698e+00,1.895889176030583156e+00,1.178779571159650708e+00,-1.799248358123509139e-01,-1.070752621510542513e+00,1.054451726931136646e+00,-4.031769469731796285e-01,1.222445070382427446e+00,2.082749780768602954e-01,9.766390364837127525e-01,3.563663971744018832e-01,7.065731681919481533e-01,1.050002072082047849e-02,1.785870493905835188e+00,1.269120927036199165e-01,4.019893634447016528e-01,1.883150697056254375e+00,-1.347759061142446368e+00,-1.270484998485733596e+00,9.693967081580111556e-01,-1.173123405114159912e+00,1.943621185649292649e+00,-4.136189807597473456e-01,-7.474548114407577604e-01,1.922942026480384703e+00,1.480514791434424327e+00,1.867558960426569881e+00,9.060446582753852729e-01,-8.612256850547025389e-01,1.910064953099033680e+00,-2.680033709513803819e-01,8.024563957963951610e-01,9.472519677737479826e-01,-1.550100930908341890e-01,6.140793703460802888e-01,9.222066715665268033e-01
|
||||
4.599999999999999645e+00,3.100000000000000089e+00,1.500000000000000000e+00,2.000000000000000111e-01,3.764255311556294337e-01,-1.099400790584194487e+00,2.982381742060559726e-01,1.326385896687030330e+00,-6.945678597313654778e-01,-1.496345403276707620e-01,-4.351535517216374438e-01,1.849263728479341840e+00,6.722947570124354622e-01,4.074618362411104311e-01,-7.699160744453164007e-01,5.392491912918172536e-01,-6.743326606573760706e-01,3.183055827435118251e-02,-6.358460783788809634e-01,6.764332949464997302e-01,5.765908166149409375e-01,-2.082987555779948763e-01,3.960067126616452771e-01,-1.093061508730505782e+00,-1.491257592705605539e+00,4.393917012645369158e-01,1.666734953725290402e-01,6.350314368921063934e-01,2.383144774863942050e+00,9.444794869904138412e-01,-9.128222254441585859e-01,1.117016288095852961e+00,-1.315907410511521158e+00,-4.615846048147089764e-01,-6.824160532463123541e-02,1.713342721649366629e+00,-7.447548220484399017e-01,-8.264385386590143989e-01,-9.845252442543230009e-02,-6.634782863621073723e-01,1.126635922106506982e+00,-1.079931508363423331e+00,-1.147468652411102408e+00,-4.378200447444340337e-01
|
||||
5.000000000000000000e+00,3.600000000000000089e+00,1.399999999999999911e+00,2.000000000000000111e-01,-4.980324506923048955e-01,1.929532053816985782e+00,9.494208069257608074e-01,8.755124138519089494e-02,-1.225435518830167991e+00,8.443629764015471162e-01,-1.000215347389564746e+00,-1.544771096777611596e+00,1.188029792352301772e+00,3.169426119248496265e-01,9.208588237808189580e-01,3.187276529430211891e-01,8.568306119026911638e-01,-6.510255933001468653e-01,-1.034242841784464684e+00,6.815945182816269821e-01,-8.034096641738410760e-01,-6.895497777502005432e-01,-4.555325035173431458e-01,1.747915902505672858e-02,-3.539939112534839505e-01,-1.374951293418018805e+00,-6.436184028328905127e-01,-2.223403152224426638e+00,6.252314510271874681e-01,-1.602057655606747621e+00,-1.104383339428450572e+00,5.216507926097440490e-02,-7.395629963913132876e-01,1.543014595406735801e+00,-1.292856909723448577e+00,2.670508693491829288e-01,-3.928281822749560281e-02,-1.168093497741197417e+00,5.232766605317537012e-01,-1.715463312222481052e-01,7.717905512136673529e-01,8.235041539637314445e-01,2.163235949280689852e+00,1.336527949436391971e+00
|
||||
5.400000000000000355e+00,3.899999999999999911e+00,1.699999999999999956e+00,4.000000000000000222e-01,-3.691818379424435803e-01,-2.393791775759263885e-01,1.099659595887113150e+00,6.552637307225978036e-01,6.401315260975920518e-01,-1.616956044310834395e+00,-2.432612439893563558e-02,-7.380309092056887010e-01,2.799245990432382425e-01,-9.815038964295794144e-02,9.101789080925919428e-01,3.172182151913020554e-01,7.863279621089761529e-01,-4.664190967359430617e-01,-9.444462559182503769e-01,-4.100496932025484709e-01,-1.702041386144059407e-02,3.791517355550818036e-01,2.259308950690852136e+00,-4.225715166064269307e-02,-9.559450004927769751e-01,-3.459817756993864291e-01,-4.635959746460941999e-01,4.814814737734621763e-01,-1.540797014444624802e+00,6.326199420033171150e-02,1.565065379653755862e-01,2.321810362002757755e-01,-5.973160689653627120e-01,-2.379217297360070038e-01,-1.424060908982531570e+00,-4.933198833621940671e-01,-5.428614760167177478e-01,4.160500462614254991e-01,-1.156182431821912715e+00,7.811981017099933755e-01,1.494484544491368805e+00,-2.069985025013532542e+00,4.262587307781009471e-01,6.769080350302455473e-01
|
||||
4.599999999999999645e+00,3.399999999999999911e+00,1.399999999999999911e+00,2.999999999999999889e-01,-6.374370255522290307e-01,-3.972718143287976567e-01,-1.328805775869556227e-01,-2.977908794017283256e-01,-3.090129690471222212e-01,-1.676003806329976697e+00,1.152331564783120044e+00,1.079618592036821090e+00,-8.133642592042028552e-01,-1.466424327802513972e+00,5.210648764527585630e-01,-5.757879698130661250e-01,1.419531633207796739e-01,-3.193284171450951892e-01,6.915387510701865859e-01,6.947491436560059297e-01,-7.255973784635842971e-01,-1.383363955395055411e+00,-1.582938397335081904e+00,6.103793791072051889e-01,-1.188859257784028900e+00,-5.068163542986875436e-01,-5.963140384505081215e-01,-5.256729626954628753e-02,-1.936279805846506941e+00,1.887785967938285514e-01,5.238910238342056047e-01,8.842208704466140989e-02,-3.108861716984717138e-01,9.740016626878340855e-02,3.990463456401301956e-01,-2.772592756426650151e+00,1.955912308250694176e+00,3.900933226879264581e-01,-6.524085823870200418e-01,-3.909533751876010932e-01,4.937417773491884487e-01,-1.161039390343665267e-01,-2.030684467781494362e+00,2.064492861359319420e+00
|
||||
5.000000000000000000e+00,3.399999999999999911e+00,1.500000000000000000e+00,2.000000000000000111e-01,-1.105406572324726111e-01,1.020172711715799707e+00,-6.920498477843911589e-01,1.536377054245797735e+00,2.863436888922795687e-01,6.088438344754507625e-01,-1.045253366146954743e+00,1.211145289682700854e+00,6.898181645347883917e-01,1.301846229564998403e+00,-6.280875596415789186e-01,-4.810271184607877171e-01,2.303916697683941806e+00,-1.060015822721547263e+00,-1.359497006783208228e-01,1.136891362602695299e+00,9.772496771485560119e-02,5.829536797532935966e-01,-3.994490292628751771e-01,3.700558878475187496e-01,-1.306526851735316574e+00,1.658130679618188053e+00,-1.181640451285697613e-01,-6.801782039968503613e-01,6.663830820319143200e-01,-4.607197873885532924e-01,-1.334258471402753443e+00,-1.346717505797555336e+00,6.937731526901325108e-01,-1.595734381462668994e-01,-1.337015596684391627e-01,1.077743805976262736e+00,-1.126825808756743541e+00,-7.306777528648248365e-01,-3.848798091812754563e-01,9.435158931707400554e-02,-4.217145129057893460e-02,-2.868871923899076193e-01,-6.162640209564740346e-02,-1.073052762911746866e-01
|
||||
4.400000000000000355e+00,2.899999999999999911e+00,1.399999999999999911e+00,2.000000000000000111e-01,-7.196043885517928729e-01,-8.129929885540773116e-01,2.745163577239395081e-01,-8.909150829955279072e-01,-1.157355259190853580e+00,-3.122922511256933098e-01,-1.576670161638158985e-01,2.256723497298209313e+00,-7.047002758562337377e-01,9.432607249694947571e-01,7.471883342046318210e-01,-1.188944955203736109e+00,7.732529774025996838e-01,-1.183880640193317735e+00,-2.659172237996740851e+00,6.063195243593807460e-01,-1.755890583437719421e+00,4.509344618059148435e-01,-6.840108977372165722e-01,1.659550796189872113e+00,1.068509399316009079e+00,-4.533858038513876587e-01,-6.878376110286823497e-01,-1.214077403094120600e+00,-4.409226322925913766e-01,-2.803554951845090848e-01,-3.646935443916853870e-01,1.567038552723639677e-01,5.785214977288783977e-01,3.496544569931739899e-01,-7.641439239064430344e-01,-1.437791473801578457e+00,1.364531848102471301e+00,-6.894491845499376437e-01,-6.522935999350191194e-01,-5.211893123011108742e-01,-1.843069550156648528e+00,-4.779740040404866774e-01,-4.796558140079476562e-01,6.203582983435125264e-01
|
||||
4.900000000000000355e+00,3.100000000000000089e+00,1.500000000000000000e+00,1.000000000000000056e-01,6.984571491073360283e-01,3.770889086269340121e-03,9.318483741143036569e-01,3.399649838012619996e-01,-1.568211160255476855e-02,1.609281682982229844e-01,-1.906534935813993525e-01,-3.948495140334503106e-01,-2.677335368939664506e-01,-1.128011331470006873e+00,2.804417053162959750e-01,-9.931236109295806802e-01,8.416312640736364203e-01,-2.494585801609488507e-01,4.949498165009073858e-02,4.938367762809563466e-01,6.433144650629278871e-01,-1.570623408633452733e+00,-2.069036761639717337e-01,8.801789120807822497e-01,-1.698105819432254471e+00,3.872804753950633838e-01,-2.255564229402189369e+00,-1.022506843635603513e+00,3.863055184018809873e-02,-1.656715102321953736e+00,-9.855107376841506506e-01,-1.471835007463586864e+00,1.648134932207559578e+00,1.642277554873339540e-01,5.672902778526693890e-01,-2.226751005151544893e-01,-3.534317487571990712e-01,-1.616474188651032540e+00,-2.918373627478628163e-01,-7.614922118116232985e-01,8.579239242923363262e-01,1.141101866657573405e+00,1.466578715574177627e+00,8.525519394612319779e-01
|
||||
5.400000000000000355e+00,3.700000000000000178e+00,1.500000000000000000e+00,2.000000000000000111e-01,-5.986539369229860741e-01,-1.115896985960394439e+00,7.666631816450860670e-01,3.562928174722889141e-01,-1.768538450677030749e+00,3.554817927437690650e-01,8.145198224878663629e-01,5.892558918162996151e-02,-1.850536710093415305e-01,-8.076484876163556592e-01,-1.446534699563387871e+00,8.002979493400275146e-01,-3.091144447717087962e-01,-2.334666615436927217e-01,1.732721186919133238e+00,6.845011068591904113e-01,3.708250012811020735e-01,1.420618051872356569e-01,1.519994860765772726e+00,1.719589307416194535e+00,9.295051114795280789e-01,5.822245913979242626e-01,-2.094603071206144751e+00,1.237219142335065775e-01,-1.301069541937039942e-01,9.395322938556871506e-02,9.430460873225178231e-01,-2.739677167189556339e+00,-5.693120534701850977e-01,2.699043549407613707e-01,-4.668455460527625167e-01,-1.416906113126259470e+00,8.689634868967953674e-01,2.768719058461280302e-01,-9.711045704444846161e-01,3.148172045158237897e-01,8.215857120497958022e-01,5.292646299360853623e-03,8.005648034309967853e-01,7.826017516166135224e-02
|
||||
4.799999999999999822e+00,3.399999999999999911e+00,1.600000000000000089e+00,2.000000000000000111e-01,-3.952289826543543549e-01,-1.159420516399912948e+00,-8.593076697161272648e-02,1.942929380457716626e-01,8.758327615873309213e-01,-1.151074684872267218e-01,4.574156062209908113e-01,-9.646120137337284017e-01,-7.826291558275251248e-01,-1.103892990268877522e-01,-1.054628463985013864e+00,8.202478373246812060e-01,4.631303293186070924e-01,2.790957643924534270e-01,3.389041252159445405e-01,2.021043561484797468e+00,-4.688641879667956314e-01,-2.201441285500557843e+00,1.993001968964651927e-01,-5.060354096166589516e-02,-5.175190425104032599e-01,-9.788298593587698715e-01,-4.391895218021479308e-01,1.813384292178212842e-01,-5.028167006425382501e-01,2.412453679543748564e+00,-9.605043816331479967e-01,-7.931173627076716359e-01,-2.288620040014528456e+00,2.514844150215370111e-01,-2.016406627799760098e+00,-5.394546333745013911e-01,-2.756705345605569568e-01,-7.097279658468882424e-01,1.738872677454510907e+00,9.943943913154988934e-01,1.319136876301575612e+00,-8.824188185499185488e-01,1.128594064514568451e+00,4.960009463439621902e-01
|
||||
4.799999999999999822e+00,3.000000000000000000e+00,1.399999999999999911e+00,1.000000000000000056e-01,7.714059486768455320e-01,1.029438828782767157e+00,-9.087632459590531120e-01,-4.243176209779014885e-01,8.625960113284510955e-01,-2.655619092974932816e+00,1.513328082573205169e+00,5.531320642075839844e-01,-4.570396066023485471e-02,2.205076557571732931e-01,-1.029935283308976546e+00,-3.499433645891047440e-01,1.100284338220373748e+00,1.298021972326221185e+00,2.696224052563579665e+00,-7.392466628041513554e-02,-6.585529668050037477e-01,-5.142339659399888241e-01,-1.018041875287364784e+00,-7.785475594085075612e-02,3.827324300122681433e-01,-3.424228053195386978e-02,1.096346845665798542e+00,-2.342158013445365394e-01,-3.474506524985632727e-01,-5.812684768603252339e-01,-1.632634526234495231e+00,-1.567767724308454014e+00,-1.179157930637687812e+00,1.301428071664760822e+00,8.952602728899299311e-01,1.374964066392989848e+00,-1.332211654594501749e+00,-1.968624689786020232e+00,-6.600563201340828856e-01,1.758189532960280077e-01,4.986902749098274801e-01,1.047972155968052821e+00,2.842796708072146128e-01,1.742668780655631133e+00
|
||||
4.299999999999999822e+00,3.000000000000000000e+00,1.100000000000000089e+00,1.000000000000000056e-01,-2.226056809483204779e-01,-9.130792180417963699e-01,-1.681218215494433510e+00,-8.889713580954499150e-01,2.421179609851230041e-01,-8.887202573536308048e-01,9.367424635352571416e-01,1.412327706037443065e+00,-2.369586905226602980e+00,8.640523004976479182e-01,-2.239604058661736730e+00,4.014990550902874933e-01,1.224870564193659694e+00,6.485610634357617810e-02,-1.279689173204239472e+00,-5.854312042777726210e-01,-2.616454457109007037e-01,-1.822447837899429379e-01,-2.028968407666670581e-01,-1.098827793093137967e-01,2.134800489101688903e-01,-1.208573653733221231e+00,-2.420198298702194994e-01,1.518261170355705403e+00,-3.846454231425177617e-01,-4.438360931551977862e-01,1.078197303714237831e+00,-2.559184666344096470e+00,1.181378601288285868e+00,-6.319037580051672931e-01,1.639285724525866295e-01,9.632135592119682455e-02,9.424681192203937519e-01,-2.675947462353476802e-01,-6.780257815644503694e-01,1.297845790651098730e+00,-2.364173817141180134e+00,2.033418170524324900e-02,-1.347925422629120407e+00,-7.615733882565589585e-01
|
||||
5.799999999999999822e+00,4.000000000000000000e+00,1.199999999999999956e+00,2.000000000000000111e-01,2.011256681463136964e+00,-4.459542645585702625e-02,1.950696971513811717e-01,-1.781562855705591364e+00,-7.290446587946957102e-01,1.965574007287849145e-01,3.547576931132180866e-01,6.168865543932787743e-01,8.627898917576322380e-03,5.270042084546596728e-01,4.537819126356840149e-01,-1.829740411004531442e+00,3.700572191014953050e-02,7.679024077327036846e-01,5.898798207345194999e-01,-3.638588099707898982e-01,-8.056265075393678199e-01,-1.118311924321632178e+00,-1.310540115414123297e-01,1.133079879559721892e+00,-1.951804101481602105e+00,-6.598917297294979445e-01,-1.139802455426774053e+00,7.849575212405001112e-01,-5.543096265713008952e-01,-4.706376581547914162e-01,-2.169495699366489894e-01,4.453932508947973101e-01,-3.923889981496367363e-01,-3.046143054799926642e+00,5.433118913875196743e-01,4.390429576720425442e-01,-2.195410283312132504e-01,-1.084036620671934514e+00,3.517801106813582823e-01,3.792355335355867552e-01,-4.700328827008747878e-01,-2.167314705755386262e-01,-9.301565025243212492e-01,-1.785890920873291488e-01
|
||||
5.700000000000000178e+00,4.400000000000000355e+00,1.500000000000000000e+00,4.000000000000000222e-01,-1.550429345083480959e+00,4.173188210318354852e-01,-9.443684908242938603e-01,2.381031478323121231e-01,-1.405962916267899265e+00,-5.900576458695396820e-01,-1.104894050659278315e-01,-1.660699811869263298e+00,1.151478731400921579e-01,-3.791475628799227393e-01,-1.742356197809230567e+00,-1.303242754112315716e+00,6.051200840821666649e-01,8.955559855513239853e-01,-1.319086397799670574e-01,4.047618120404974928e-01,2.238435633129106928e-01,3.296229821277380512e-01,1.285984007080293035e+00,-1.506998398214272061e+00,6.764607323616231849e-01,-3.820089555778202195e-01,-2.242589342516403406e-01,-3.022497304550700314e-01,-3.751471166612838637e-01,-1.226196191783019085e+00,1.833391992576012541e-01,1.670943032788857252e+00,-5.613302044875711355e-02,-1.385042735095726001e-03,-6.872990371566635170e-01,-1.174745464181114751e-01,4.661664260340307453e-01,-3.702424407043429233e-01,-4.538040410520010615e-01,4.032645401632468096e-01,-9.180047698190454408e-01,2.524966270768724264e-01,8.203217972614217368e-01,1.359948541679484313e+00
|
||||
5.400000000000000355e+00,3.899999999999999911e+00,1.300000000000000044e+00,4.000000000000000222e-01,-9.038200727694681302e-02,1.367597239806713549e+00,1.034409886481518104e+00,-9.962126403710661604e-01,-1.217938511593150919e+00,-3.049636378544204329e-01,1.028935492594854173e+00,-7.228700756000490391e-02,-6.006575576577884990e-01,1.552243180048560767e+00,2.869044880033463918e-01,-2.320594275790741623e+00,3.171606262926887632e-01,5.200406145708678096e-01,2.256086544711037867e-01,4.497121002319925398e-01,-6.727560892298173334e-02,-1.318395869644734208e+00,-3.707040032204534374e-01,-9.456157955562913831e-01,-9.327409107943778199e-01,-1.263068349102275389e+00,4.524890926396463731e-01,9.789614541262708913e-02,-4.481653626807080570e-01,-6.493379277303881203e-01,-2.342310502145216952e-02,1.079194728112489177e+00,-2.004215715498915085e+00,3.768765208508927378e-01,-5.457119740177823752e-01,-1.884585844979447700e+00,-1.945703083163958791e+00,-9.127834941352918063e-01,2.195095557930452634e-01,3.930629339800916222e-01,-9.389815726777852589e-01,1.017020991413244646e+00,1.422983496516106117e+00,3.960865849565601837e-01
|
||||
5.099999999999999645e+00,3.500000000000000000e+00,1.399999999999999911e+00,2.999999999999999889e-01,-5.914026678081107935e-01,1.124419184510368153e+00,7.553956956633383069e-01,8.674074113549179454e-01,-6.564636749715314634e-01,-2.834554505274702318e+00,2.116791021483675372e+00,-1.610878403449933716e+00,-3.576807186022112894e-02,2.380745351219750283e+00,3.305767562743739951e-01,9.492464735582356594e-01,-1.502396569381712732e+00,-1.777666954733706284e+00,-5.327027919795545019e-01,1.090749734434500073e+00,-3.462494476473099714e-01,-7.946363210714987302e-01,1.979672899449674561e-01,1.081935218477265259e+00,-1.444940199073371678e+00,-1.210542994123351646e+00,-7.886692545093662021e-01,1.094638374712091355e+00,2.348215259487319018e-01,2.132153410570443608e+00,9.364457258311158494e-01,-3.509517686967038308e-02,1.265077838088765949e+00,2.114970127318780146e-01,-7.049213525074449205e-01,6.799748442451023500e-01,-6.963266538610828338e-01,-2.903971008038667700e-01,1.327782695957983039e+00,-1.012814862173993524e-01,-8.031413873416283211e-01,-4.643376914354916396e-01,1.021790585588673084e+00,-5.525406734167291889e-01
|
||||
5.700000000000000178e+00,3.799999999999999822e+00,1.699999999999999956e+00,2.999999999999999889e-01,-3.868708468506465437e-01,-5.102927396336285337e-01,1.839254943403099418e-01,-3.854897603756082813e-01,-1.601836048972536952e+00,-8.871809418450402607e-01,-9.327890415064382656e-01,1.243319384455154886e+00,8.126740421090423716e-01,5.872593793998259759e-01,-5.053583172644099397e-01,-8.157915419939713031e-01,-5.075176016573570426e-01,-1.051880102551673968e+00,2.497200391587007129e+00,-2.245321648371402024e+00,5.640085350738091030e-01,-1.284552297992527237e+00,-1.043434914946926445e-01,-9.880019424937344086e-01,-1.177628962482630826e+00,-1.140196300934961604e+00,1.754986153742058574e+00,-1.329884223095919860e-01,-7.657021944780862954e-01,5.557869640828729807e-01,1.034931456629935298e-02,7.200337593416528126e-01,-1.824256655937829930e+00,3.036039044620014171e-01,7.726948371023817375e-01,-1.661598291114563697e+00,4.481952844233124678e-01,1.696181572828160622e+00,-1.485770335470271673e-02,8.214059370248112391e-01,6.705704503109098935e-01,-7.075056975105769030e-01,3.976673458649516990e-02,-1.566994710861602469e+00
|
||||
5.099999999999999645e+00,3.799999999999999822e+00,1.500000000000000000e+00,2.999999999999999889e-01,-4.513030371025261167e-01,2.656879749662359180e-01,7.231004937377981667e-01,2.461212524791161690e-02,7.199837301431654124e-01,-1.102906212955369725e+00,-1.016972745548715973e-01,1.927938451307721623e-02,1.849591246679636480e+00,-2.141666562000842378e-01,-4.990166379941828878e-01,2.135122384354860847e-02,-9.191134448699437298e-01,1.927538490652161707e-01,-3.650552165462576659e-01,-1.791327548041183659e+00,-5.858655113386084662e-02,-3.175430939301992495e-01,-1.632423302067983251e+00,-6.713415461452176825e-02,1.489355962074480288e+00,5.213037482757136853e-01,6.119271927311578096e-01,-1.341496725583042560e+00,4.768983689222224265e-01,1.484495813800780772e-01,5.290452383344316223e-01,4.226286217088256469e-01,-1.359780725503813681e+00,-4.140081155796743184e-02,-7.578708604251660486e-01,-5.008409428482209214e-02,-8.974009269018304868e-01,1.312470367140996297e+00,-8.589723884443423163e-01,-8.989421564655359909e-01,7.458640654355352950e-02,-1.077099069403994802e+00,-4.246633024328657080e-01,-8.299645975379619234e-01
|
||||
5.400000000000000355e+00,3.399999999999999911e+00,1.699999999999999956e+00,2.000000000000000111e-01,1.411172063889611694e+00,7.858038268311725583e-01,-5.746951846539464365e-02,-3.912170521740162554e-01,9.409176145751133591e-01,4.052040803228880717e-01,4.980524046828567197e-01,-2.619223734425048244e-02,-1.688230027771432162e+00,-1.124659825595527157e-01,-5.324899192090677413e-01,6.450552734598768989e-01,1.011842432994189078e+00,-6.579510447611686130e-01,4.683852342770516430e-01,1.735878997685713188e+00,-6.677127205705589708e-01,1.681921740073137661e+00,-8.525858471706470043e-01,2.295975560795144449e-02,-1.114561184184125094e-02,1.149889987006237450e-02,-8.376780419079452589e-01,-5.911831037644297293e-01,-6.677202863593993953e-01,3.269625954044573790e-01,3.300351145103116446e-01,2.225944331738258786e+00,1.370989006291121415e+00,-5.098432421384790914e-01,3.248696157961860620e-01,9.971179807917595062e-01,3.060182433851780723e-02,-6.964157844693558141e-02,5.157494276988904003e-02,8.672766288084278186e-01,-8.483205228052325131e-01,-3.256694688201741683e-01,4.704331448464818544e-01,3.114470715541555190e-01
|
||||
5.099999999999999645e+00,3.700000000000000178e+00,1.500000000000000000e+00,4.000000000000000222e-01,2.395827598563913252e-01,-3.698011663038032193e-01,9.725357891425369106e-01,2.133868247204537383e+00,4.064154936762062187e-01,-1.931767015498399021e-01,7.557402888945425889e-01,-5.391326367529899466e-01,-7.496903447028966383e-01,3.280874761371180282e-02,-2.582796632969944550e+00,-1.153950363652009425e+00,-3.479618559208458306e-01,-1.353388858147713369e+00,-1.032643101892129600e+00,-4.367483374580073963e-01,-1.642965293530609161e+00,-4.060717962598319186e-01,-5.352701645328444835e-01,2.540520838501601764e-02,1.154184030494019186e+00,1.725044164928659085e-01,2.106202134206362417e-02,9.945445703071174870e-02,2.273927751211284598e-01,-1.016738648609768925e+00,-1.147753247707981733e-01,3.087512418366131217e-01,-1.370759982543060529e+00,8.656529228158532652e-01,1.081376034458189750e+00,-6.313759884493888030e-01,-2.413377914531045498e-01,-8.781903428100731324e-01,6.993804835878171255e-01,-1.061222287445909185e+00,-2.224770102429202978e-01,-8.589199078076715788e-01,5.095427701128949632e-02,-1.794229271489721000e+00
|
||||
4.599999999999999645e+00,3.600000000000000089e+00,1.000000000000000000e+00,2.000000000000000111e-01,1.326461642365693416e+00,-9.646064242062639682e-01,5.989468311627604846e-02,-2.125230447703091996e-01,-7.621145119224981279e-01,-8.877801366359353574e-01,9.363985435524595502e-01,-5.256405931019396682e-01,2.711701846373109070e-01,-8.014968853943748028e-01,-6.471814318477606687e-01,4.722471500878487327e-01,9.304084961111163121e-01,-1.753164023270199490e-01,-1.421919871640436872e+00,1.997956079750004665e+00,-8.565493082342094944e-01,-1.541587399671787484e+00,2.594424587768151991e+00,-4.040322938509371409e-01,-1.461732688261408120e+00,-6.834397667886817906e-01,3.675448960222690298e-01,1.903115575939396953e-01,-8.517291972535899758e-01,1.822723600127959420e+00,-5.215796779933731253e-01,-1.184686590411551999e+00,9.606933984606597088e-01,1.329062846539682319e+00,-8.174930976162264606e-01,-1.401347293039310493e+00,1.030438267415604736e+00,-2.047323613057961733e+00,-1.226621659396615494e+00,9.674461500502350431e-01,-5.535254802238957078e-02,-2.639373485926878593e-01,3.528166064943783486e-01,-1.527744235454086830e-01
|
||||
5.099999999999999645e+00,3.299999999999999822e+00,1.699999999999999956e+00,5.000000000000000000e-01,-1.298686722163090224e+00,1.276075346006187550e+00,1.325014052886815286e+00,2.053325637779596924e-01,4.513401543201027433e-02,2.339624806020057957e+00,-2.764328450158372030e-01,-2.595769818340394330e-01,3.644812492405055671e-01,1.471321956142338294e+00,1.592770754417483614e+00,-2.585726316767712474e-01,3.083312459593452459e-01,-1.378083467064077139e+00,-3.119761079162129414e-01,-8.402903954793065067e-01,-1.006831752298983806e+00,1.681576716267327631e+00,-7.922866618061449318e-01,-5.316059080114549085e-01,3.658487879168582091e-01,1.297825266973585467e+00,4.811151263888354124e-01,2.759355114021582178e+00,-7.466797825114956932e-02,2.587164402297460475e-01,2.756006739840563546e-01,1.435049386789154502e+00,5.072389511096152548e-01,-1.162297003871490958e-01,-9.474885949068795332e-01,2.444434559616325831e-01,1.401344831291959636e+00,-4.103817936578705861e-01,5.289436184165822175e-01,2.461477886848441599e-01,8.635196583813146143e-01,-8.047537406378693081e-01,2.346647030526561650e+00,-1.279161107028258249e+00
|
||||
4.799999999999999822e+00,3.399999999999999911e+00,1.899999999999999911e+00,2.000000000000000111e-01,-3.655510899860373031e-01,9.380925409056455333e-01,2.967331724941133508e-01,8.299861590811031808e-01,-4.961023339825623713e-01,-7.480498268034106724e-02,1.223198363881738623e-02,1.569259614535904346e+00,6.904290243830489837e-01,7.966721083646713941e-01,-6.579260925367952373e-01,9.688826385630507909e-01,2.255816635688035199e-01,1.389145315677927428e+00,2.014060154918468015e+00,-3.067657760270045553e-01,-4.063031304450625547e-01,-8.640449911023695417e-01,-1.435795117163205514e-01,-3.820254489503835948e-01,3.595043995710101581e-01,-1.445668169337359366e-01,-3.615992807816197918e-01,1.064585136127851772e+00,-9.378802311514516932e-01,4.331079531513436498e-01,-4.059417271884834255e-01,7.243685048699644025e-01,1.385261546722230452e+00,-3.030982534240727055e-01,4.410329072731513644e-01,1.787928657331798454e-01,-7.994223995430965735e-01,2.407875097419384380e-01,2.891205052788121677e-01,4.128708204461746800e-01,-1.983988968200457448e-01,9.419230031014656779e-02,-1.147610944843135306e+00,-3.581140754798567416e-01
|
||||
5.000000000000000000e+00,3.000000000000000000e+00,1.600000000000000089e+00,2.000000000000000111e-01,5.559626797097979578e-01,8.924738873315303245e-01,-4.223148241252707158e-01,1.047140294332843252e-01,2.280533251240672021e-01,2.014799467044328662e-01,5.407735853003902138e-01,-1.818077630383569510e+00,-4.932407014757259067e-02,2.390336012467648985e-01,-1.000330348953705428e+00,1.673985707010710033e+00,1.615592672381679640e-01,1.563404745028929455e+00,-7.905230218330772107e-01,-9.073001215253270191e-01,2.242522209656818977e-01,-1.678688362828656633e+00,2.149655906260935223e-01,9.721923200291802958e-02,1.015665281542101228e+00,7.010413411650970872e-01,-4.174773498850339881e-01,-1.097496654770244717e+00,1.712305221343296546e+00,-7.921150205651500409e-01,-1.045524557069465788e+00,-1.084856059461445144e+00,1.117305315536664567e+00,-5.189002044248520740e-01,-7.537044661806008294e-01,1.376898259033473293e-01,-2.069447105572910228e-01,-6.780954607862469397e-01,7.539914669784796297e-01,1.065315492097994809e+00,9.853175089398669151e-01,7.669196696611989550e-01,4.026255311300351858e-01,-1.775887999961828889e+00
|
||||
5.000000000000000000e+00,3.399999999999999911e+00,1.600000000000000089e+00,4.000000000000000222e-01,1.669250806376968654e+00,3.019892103575529396e-01,6.081564276006414804e-01,1.114962322947402162e+00,1.433352502881991786e+00,4.183980113091925190e-01,4.355461592956536010e-01,-5.992242774597194011e-01,3.308975113876019836e-02,-8.541612608143545060e-01,-7.199405321418946846e-01,-8.935744023141912740e-01,-1.560238909972873622e-01,1.049093187920010273e+00,3.170974773290179627e+00,1.894996375479134632e-01,-1.348413087756120010e+00,1.264983329856256056e+00,-3.007838764760271122e-01,-6.606085939769920090e-01,2.098494779230553053e-01,-1.240624599556227503e+00,2.224631640086067730e-01,-8.837552319915496779e-02,9.837790681547566030e-02,3.814162542091708574e-01,6.749225724080680500e-02,1.633808411289249321e-02,2.843145189979445209e-01,4.154006261711268300e-01,-1.031482460315257699e+00,-1.429991258685448408e+00,-6.163805217221475508e-02,-1.432735489934108042e+00,8.753147092167086474e-02,9.387468756823100779e-01,6.071116719160458697e-01,-1.048170406825473133e+00,-8.602624519575188256e-01,3.283012950007553887e-01
|
||||
5.200000000000000178e+00,3.500000000000000000e+00,1.500000000000000000e+00,2.000000000000000111e-01,-4.012978051335100438e-01,-3.166552950521069332e-01,5.969064812479538684e-01,-9.872866934576524089e-01,-4.012347099111824300e-01,-8.000824760846012573e-01,-1.043129498035355596e+00,-8.570781886711646980e-01,6.774621693464116801e-01,5.182038948242156245e-02,-8.791606288350748422e-01,-2.311016075929965274e-01,-1.638807307122177814e+00,-7.333128075836656823e-01,2.149574534867286779e+00,-9.024384966575059452e-02,7.316589270303924808e-01,-6.548837514448298258e-02,3.481692352418086500e-01,6.632580896791739899e-01,-1.104616597526470789e+00,-3.093625727395893713e-02,1.578865194416488205e+00,-7.955005500532910112e-01,-5.664398537322192784e-01,-3.076912773670017476e-01,2.690240731762466586e-01,5.249178636458826652e-01,1.267411654818656697e+00,4.994982334686594583e-01,-6.205312579833403147e-02,1.259167129610813785e+00,7.041110221415821657e-01,-1.495679516257016228e+00,2.526368240355998385e+00,1.769921388196733725e+00,-1.682142227670740953e-01,3.779101017384750572e-01,1.324358749995839135e+00,-1.722007926968826264e-01
|
||||
5.200000000000000178e+00,3.399999999999999911e+00,1.399999999999999911e+00,2.000000000000000111e-01,7.303517903770193609e-01,1.104578473571476538e+00,-1.014825907734441035e+00,-6.023318535828621201e-01,9.214083978105812589e-01,4.608144771488305036e-01,9.237965603139468573e-01,-1.325680146537180359e-01,-2.890052109542329828e-01,-1.998639475583372738e+00,-1.146000426507443271e+00,4.706609465849369289e-02,8.245572195642364433e-01,5.311783665356952788e-01,-1.282419740277020159e-01,-2.717715664906966699e-01,2.171796326382801345e-01,7.821118109215217939e-02,1.404545514939711914e+00,1.464407704782498543e-01,-1.481245962197298427e+00,-1.272558135032316962e+00,1.518759336963580120e+00,-1.171160461450080348e+00,7.644974530335335583e-01,-2.683727352093812080e-01,-1.697582939024854798e-01,-1.341327827684201113e-01,1.221384959459198338e+00,-1.928418285439646718e-01,-3.331928284515295324e-02,-1.530803497399492619e+00,2.066905117080032883e-01,5.310425069780596585e-01,2.391455806537870210e-01,1.397896261086735370e+00,5.517135478023173917e-02,2.989774561190176039e-01,1.648504010268178943e+00,-1.550014189358147831e+00
|
||||
4.700000000000000178e+00,3.200000000000000178e+00,1.600000000000000089e+00,2.000000000000000111e-01,-4.558253477993688407e-01,1.426158752019266229e+00,9.361291483110824041e-01,6.783800988404703469e-01,8.326507394644783178e-01,3.270662091210220779e-01,1.631597427532271549e+00,3.777591697307178809e-01,2.398671058952785706e-01,1.589586741256432678e-01,1.928639555503860181e-01,-1.157017280815867855e+00,7.706730544633433322e-01,-1.304397337833273218e-01,1.821915097860405952e+00,-7.565047058842289118e-02,4.209182841756565763e-01,2.466021862613344273e-01,-6.255570351092533121e-01,9.921368285185058200e-01,1.905063640560017646e+00,-1.477721965984477720e-02,-3.004787855854222922e-01,-3.550287310553740805e-01,-1.892361893317341393e+00,-1.778131437030125439e-01,2.509981160083239460e-01,1.054757925180282774e+00,9.600477411499278579e-01,-4.164990824366924804e-01,-2.768229947738883312e-01,1.123905305614439021e+00,-1.734638970728791252e-01,-5.100295397556169341e-01,1.392518449434272387e+00,1.037585667050634042e+00,1.879179177425780237e-02,-5.937774477786674776e-01,-2.011880319244709003e+00,5.897036055747238992e-01
|
||||
4.799999999999999822e+00,3.100000000000000089e+00,1.600000000000000089e+00,2.000000000000000111e-01,-8.963697225521801704e-01,-1.962732009140752076e+00,1.584820527349017905e+00,6.479677910098883276e-01,-1.139008193116965328e+00,-1.214401382959259035e+00,8.709617821716195696e-01,-8.779706165358701631e-01,1.296149867527883304e+00,6.164593126261552758e-01,5.365965205668234983e-01,4.046954556143003146e-01,1.914508720239117834e-01,8.805111991771105151e-01,-4.540803625156051293e-01,8.595197343438468196e-02,7.519465876771956880e-01,5.629897185861277853e-01,-1.194986805268660301e+00,-5.004096673042639498e-01,2.528035054191545283e-01,-4.080147090398968945e-01,1.774658560973333188e+00,-3.931531947541128669e-01,-1.622184475766908496e-01,7.694301781773038584e-01,3.305327432349157712e-01,-1.452744572047692251e-01,-7.564935288807482783e-01,3.015140573967661775e-01,1.039096440378392661e+00,4.790952240982285781e-01,-7.781835214561222402e-01,1.736774956976710804e+00,-1.446577890035894320e+00,-1.582685641802789034e+00,9.605572244572283536e-01,2.258404786026901034e-01,-5.494985463040402696e-01,-1.098570727555329585e+00
|
||||
5.400000000000000355e+00,3.399999999999999911e+00,1.500000000000000000e+00,4.000000000000000222e-01,2.320799839280298205e+00,1.170908721554419496e-01,5.342011708457714558e-01,3.178850972381815909e-01,4.348079577311579347e-01,5.400944605248059194e-01,7.324240097548762041e-01,-3.752224007606727030e-01,-2.916419863518445732e-01,-1.741022808358901441e+00,-7.803044065015394271e-01,2.711127964467148765e-01,1.045023375502690532e+00,5.990395263761840727e-01,-3.406923438779304592e-01,-1.263172912085154254e+00,-2.777359145427433340e+00,1.151733974780799086e+00,-5.892289865101497659e-01,-4.484650062040592688e-01,1.315739679080687174e-01,-1.405560047391889889e+00,-3.497821801115368889e-01,2.023471949769974021e+00,5.053869385773427370e-01,3.592491565134564024e-01,-1.582494477981758463e+00,2.243601894582640366e+00,-1.422794908626342725e+00,1.922324755444398514e+00,-2.115056015187807503e+00,1.405365438724420324e+00,1.618054269000225531e+00,-8.244091213278346153e-01,4.225803722728827538e-01,5.474805721046650531e-01,-8.137944832313058763e-01,-1.449117610736930351e+00,-1.317717343140765385e+00,5.410082199598076347e-01
|
||||
5.200000000000000178e+00,4.099999999999999645e+00,1.500000000000000000e+00,1.000000000000000056e-01,-8.511560251940573918e-02,-5.643010333021604152e-01,9.667680111664601617e-01,5.080679093914777233e-01,-7.554627263656333858e-01,-1.201201519017389252e+00,5.232617386880769050e-01,-5.375833685580618804e-01,9.920486253150243017e-02,1.576298972627717676e+00,5.023282400747796084e-01,-8.622669997532367292e-01,1.606611898197728150e-01,-9.526449528153877466e-01,1.608522155948723720e+00,-5.615787496032208503e-01,2.072707469736186359e-01,3.077325746794319916e-01,1.592504683737024362e-01,-1.958548955136538705e+00,-1.446421063983328592e+00,-4.523502755690916866e-01,3.194318333315306346e-01,-1.377792142857706681e-01,-9.571474731510167810e-01,-1.348424319121700909e+00,-4.015575444993436105e-01,-4.684760446797231470e-01,5.128364575927566449e-01,-3.263184621583181122e-01,6.027076564293295524e-01,-5.946497697204053967e-01,-2.559576692142683241e-01,-3.480463796426194190e-01,-7.823669669020897333e-01,6.251186564337302132e-01,-8.135959970945070285e-01,-5.216415099706189773e-01,-7.311964594819723995e-02,-1.297379655956739875e+00
|
||||
5.500000000000000000e+00,4.200000000000000178e+00,1.399999999999999911e+00,2.000000000000000111e-01,-3.249349583204991232e-01,-7.113063597427885520e-01,-3.881541924822495826e-01,-5.992800267109062162e-02,-7.999136231406647202e-01,-2.200757798203555882e-01,1.308668752352179165e+00,-2.579855825448711115e-02,1.145262173019224727e+00,3.464944420067607167e-01,7.741606098188164031e-01,-7.744589687708258730e-01,1.049071650855127186e-01,1.339129226154759100e-01,-6.126257388749356547e-01,-8.228283242942817655e-01,-1.490265387907298233e+00,1.496139636951631990e+00,-9.724028893524976347e-01,1.346221073222300113e+00,-4.674931736578534780e-01,-8.624932997247338751e-01,6.225191403049976646e-01,-6.311919417468571103e-01,5.684589189242769125e-01,-3.328117648522095906e-01,4.804244961177867590e-01,-9.681860639071049324e-01,8.313510579847682713e-01,4.879726826630045866e-01,-9.196506900626617576e-01,2.642935721014741723e+00,5.401230264004940329e-01,2.290467070530538773e+00,1.600267818748759119e+00,-1.888347802177837986e-01,-4.122717546045429060e-01,-4.034591834208012262e-01,-1.830028550427810208e+00,-6.958351193495473375e-01
|
||||
4.900000000000000355e+00,3.100000000000000089e+00,1.500000000000000000e+00,1.000000000000000056e-01,2.467660239799705779e-01,1.525957560884808384e+00,-7.727718829782020959e-01,8.820565993630106183e-01,-1.252593341503319024e+00,-5.863200252111323563e-01,-4.576405942895259704e-01,3.718110814974934786e-01,4.573096467208112581e-01,9.623417448143452013e-01,7.708369604049366552e-01,2.431682154024917275e-01,3.903649435086223862e-01,1.588530691097532532e+00,-5.109261812322630769e-01,7.747283190671621078e-01,-1.808143926498251508e+00,4.113342428976086151e-01,-4.832495424791073968e-01,2.571182431510025176e-03,1.040086245053703173e+00,1.646438095263976220e-01,8.851875412089272865e-01,1.473764815138404849e+00,3.890939688657205631e-01,1.171041064620488292e+00,-3.265609776792077201e-01,-8.209882269614044575e-03,-5.226194163984779761e-01,1.042977594646375961e+00,4.140913537935950739e-01,-5.072344618949226058e-01,1.546688336463321878e-01,1.041568388818581825e+00,-3.926799103795318435e-02,-9.489328108497634418e-01,1.319117557874122104e-01,-1.980565591068939701e+00,7.687706443994749561e-01,-4.213275873246805081e-01
|
||||
5.000000000000000000e+00,3.200000000000000178e+00,1.199999999999999956e+00,2.000000000000000111e-01,-4.693107362791067438e-01,8.756956787795067143e-01,-1.365162877225168714e+00,1.947098642820357828e+00,-4.802420417382233242e-01,-5.232509433848950842e-01,1.021224743167163052e+00,7.086952731104265713e-01,2.451229719075076030e+00,-2.112059836315199890e-01,-1.204066386644097320e-01,-1.479315979963253591e+00,-3.321022773488251367e-01,-7.214312955717557818e-01,-4.487670131054991574e-01,-1.744187756553955193e+00,1.660607559894514029e+00,-1.416603482425640603e+00,-2.802202798391713046e+00,-1.188424421583019308e+00,-6.038395527961509801e-01,-1.149554063257118175e+00,1.098303540732512351e+00,-1.378391785960938476e-01,2.538560440645898711e-02,6.103917643054127540e-01,2.860125269781179647e-01,9.785672974460429829e-01,-1.109477553636145197e+00,-5.475181006794317407e-01,6.659671460695377743e-01,-2.534554462084229964e+00,-1.375184479317240749e+00,5.009922321799465950e-01,-4.802490349949254389e-01,9.361075501096975948e-01,8.091802968531627283e-01,-1.198092880191038212e+00,4.066570874668811730e-01,1.201697855667506420e+00
|
||||
5.500000000000000000e+00,3.500000000000000000e+00,1.300000000000000044e+00,2.000000000000000111e-01,1.474344016509719080e-01,-9.774648772458691681e-01,8.793899419133700546e-01,6.354245265539955057e-01,5.426107834987963230e-01,7.159388934369916857e-01,-2.994612860227618967e+00,8.809375610809715429e-01,1.808131810578975429e+00,4.366384746292930052e-01,1.927289964997268290e-01,6.964386733914392780e-01,3.382254736851152965e-01,6.517812617006160103e-01,1.471000245410806345e-03,-7.667048545369002932e-01,-1.004322712214613444e+00,-9.981917282318640838e-01,-1.373042550950895224e+00,-1.067742011019106485e+00,1.761266127419863103e+00,7.540956636562426985e-01,-6.250273906846712801e-01,-3.903926939855080769e-01,1.125575309064542895e-01,-6.555450294843581105e-01,6.751685717432485967e-02,7.776041379029120515e-01,-3.574273354817348453e-02,3.360157426619921339e-01,8.864915393596158877e-01,-2.721317560182082151e-01,2.847905991343631649e-01,-3.093775928833613631e-01,-2.852886983441639893e-02,-3.247302650829599902e-01,-5.288698535561152658e-01,1.737118529870234351e-01,5.665453158182124360e-01,1.463044460010442527e-01
|
||||
4.900000000000000355e+00,3.100000000000000089e+00,1.500000000000000000e+00,1.000000000000000056e-01,4.987269583119319782e-01,-7.379317802412298510e-01,-1.203735192199779425e+00,4.170435029676035632e-01,6.878813911747545529e-01,4.985726659982264719e-02,1.348035780424718721e+00,9.076987979878986534e-01,2.680570840769000540e+00,-2.008085139956655718e-01,-9.988487960953681410e-01,-7.401367907395135504e-01,-5.654978063746562977e-01,4.760313834381145193e-01,-2.158068563961256903e+00,1.318551018090836635e+00,-2.392965911423441394e-01,-2.467935577887517828e-01,-1.079343166024995249e+00,-1.142255514501802072e-01,1.323976766753355225e-02,-1.219449276002772670e-01,3.390592559424304153e-01,-5.896320419510298061e-01,-8.958157604108271110e-01,5.483281304979799042e-01,9.866745381579566931e-02,1.971810551973673942e-01,1.059027254441966326e+00,-1.022564391260685657e+00,-8.552404572508641722e-01,1.257219650828994117e+00,-1.482883357574042549e+00,-1.309412146331014215e+00,8.178618311849957800e-01,2.382001920220386260e-01,1.052321370592758515e-01,-9.165940810038318565e-02,3.126754702756948112e-02,-9.211211469195591806e-02
|
||||
4.400000000000000355e+00,3.000000000000000000e+00,1.300000000000000044e+00,2.000000000000000111e-01,1.355442702594418236e+00,-3.981481287500751032e-01,-1.613735362777791726e-01,1.794448805225073551e+00,2.750970202983580096e-02,2.232016389525177669e+00,-1.049797010189535557e-01,1.367414982460158468e+00,-1.655344038309677801e+00,1.536444608156663783e-01,-1.584473563150935460e+00,8.444543066045863133e-01,-1.212867816209024729e+00,2.837695543833455014e-01,-2.821958766904351101e-01,-1.158203185184028872e+00,-1.619359982897542460e+00,-5.110404635801097939e-01,1.740629445895330862e+00,-2.934850548893774835e-01,9.172215421158560478e-01,-5.704286766218814864e-02,8.767267736904523767e-01,-1.826911378304517664e+00,-4.031883068495333289e-01,9.494055237932187419e-01,-1.632549488331787313e-01,-8.645528271104713225e-02,-4.304619118857929694e-01,1.149379383367123975e+00,2.975143539549459093e-01,4.402227617534797133e-02,6.430545453392927380e-01,5.882249291179366679e-01,2.125870464375365920e-01,1.547031496990844524e+00,-6.028753363911903973e-02,2.780810479679439728e-01,-6.429525533528904768e-01,1.501152270061291982e-01
|
||||
5.099999999999999645e+00,3.399999999999999911e+00,1.500000000000000000e+00,2.000000000000000111e-01,1.587761523745367498e+00,-6.432576017887388087e-01,-1.133592825638458867e+00,9.967596428198155500e-01,-1.487661522336792552e-01,9.600420496977001006e-02,-4.511330369333481360e-02,7.912172392953507882e-02,8.505306835234381913e-01,-8.391241905992736783e-01,-1.011774084105488525e+00,8.496813703770766946e-02,-1.606439689449832731e+00,-1.373053536041928480e+00,1.866683148331627073e+00,7.574683300614039050e-01,-1.005647186901453827e-02,1.238006935958439803e+00,-1.040599230085144988e+00,-3.156031233858582197e-01,6.234536094243824378e-01,8.906716814313947461e-01,5.129168468277763848e-01,-2.541238807688224632e+00,-9.680821176645779680e-01,4.770680923568652587e-01,-3.559514930468063443e-01,2.540231620759171527e+00,9.265583009670964598e-01,5.580818806186658154e-01,-1.116949553746723556e+00,-3.529673960291555834e-02,2.412039642189525157e-01,1.127783630127802361e+00,8.811310970996323322e-01,1.032989194519945642e+00,-9.239120158100020408e-01,1.412151698298630853e+00,-1.380430752307269193e+00,-5.359145616661618039e-01
|
||||
5.000000000000000000e+00,3.500000000000000000e+00,1.300000000000000044e+00,2.999999999999999889e-01,4.307711349456414540e-01,-1.498915917331393177e-01,-1.006036857920391547e+00,-8.215498256031326108e-01,-1.548254322849042408e+00,5.319746390071913300e-01,1.260568845042149277e+00,-1.003935034013660188e-01,-4.003488150134233980e-01,-1.472322928466489600e+00,9.132019242521776103e-01,2.211304333239493047e+00,-1.797455804366897558e+00,-1.063432938154606822e+00,-6.795930425441440992e-01,-5.643179096824889607e-01,2.273459501434809960e-01,1.614249547280227404e+00,1.008597286860103637e+00,5.275973827743158928e-01,-7.239287040586021016e-01,-1.119628233680454388e+00,-7.967753063063008900e-01,1.548066801378738644e+00,-6.174330145790107166e-02,-4.468362536626211967e-01,-1.837557302499922551e-01,8.246182196384677088e-01,-1.312849674549791734e+00,1.414874135922422393e+00,1.564762569462989639e-01,-2.163439782957261026e-01,4.428461137467389896e-01,2.183970731299370305e-01,-3.441964564673812288e-01,-2.527106720416066876e-01,-8.688625468659522122e-01,6.563907508593024298e-01,-5.319938094111618110e-01,-9.562584224322827620e-01
|
||||
4.500000000000000000e+00,2.299999999999999822e+00,1.300000000000000044e+00,2.999999999999999889e-01,1.658635226535373208e-01,1.329141282745553321e+00,-4.834462377981961489e-02,-6.081012569516899280e-01,4.038960208359738124e-01,1.936712462402552015e+00,-1.451905529431747333e+00,3.822027877852935962e-01,2.050866252318538085e-01,1.161533803559117173e+00,9.909091736848452125e-01,-1.867091118097792268e-01,-1.684517255424882842e+00,8.065637678962596091e-01,-8.351926901914831225e-01,-9.467404109571895265e-01,1.148350580691126277e+00,-9.108503776386525086e-01,1.402844740100243293e+00,3.358447214053130181e-01,3.191184000862823944e-01,3.072647805055910286e-01,-1.638423625741792122e+00,-1.776388616346575855e+00,2.155530537886848064e-01,5.680073592264200943e-01,8.261103215620101137e-02,-8.215345170195275104e-01,1.892210388219473655e-02,-8.203415314548415105e-02,-9.571580982754103184e-01,1.013972154112161350e+00,-1.730276061550085842e+00,5.887424068075064465e-01,3.843234052112453059e-01,1.009711854811714327e+00,-1.005311872348858770e+00,1.014071466682110040e-01,2.171164949318165949e+00,6.620742889997063285e-01
|
||||
4.400000000000000355e+00,3.200000000000000178e+00,1.300000000000000044e+00,2.000000000000000111e-01,1.005812087289631868e-01,5.391612741141965648e-01,8.617684238012002229e-02,2.190898013239840125e+00,9.836361957891794905e-01,-8.561495423049708675e-02,2.523314313845212431e-01,-3.907979960810135656e-01,1.209850126410304982e+00,-1.406104771391010866e+00,-1.604738529860987084e+00,1.458714749675993572e+00,2.153119792570582725e+00,4.683049076895917096e-01,1.127379412357372573e-01,6.572676903047772745e-01,-6.470535263827592587e-01,1.712435451522124896e-01,3.890870585621503119e-02,6.265642507453605958e-01,-1.557998528183396347e+00,-5.070347697653374563e-01,8.449956030008372032e-01,-6.755938276300630374e-01,-9.933613754231354065e-01,2.042072149826954064e+00,3.811800017940036173e-02,-5.789181399432078434e-01,-1.692370437474108424e+00,7.293463462804261610e-01,6.991361537186937536e-01,-2.987596005699359458e-01,-1.102230190907090623e+00,-2.454942364237903615e-02,-8.358560674816213343e-01,-9.420935888731158947e-01,-1.032127514617075803e-01,-1.051390398660064562e+00,2.466489552524461781e-01,6.079925094063972635e-01
|
||||
5.000000000000000000e+00,3.500000000000000000e+00,1.600000000000000089e+00,5.999999999999999778e-01,-8.396324471731914096e-01,-1.368245095338390671e+00,1.561279598955807035e+00,-9.402702359572048252e-01,-6.599427051023376567e-01,2.130171674298873552e-01,5.993693725222970503e-01,-2.563168936896427774e-01,4.607943277012555572e-01,-4.009861578964010187e-01,-9.711706648243907392e-01,1.426316860787027352e+00,2.488441614331128093e+00,1.695969533014169306e+00,1.418066391534544557e-01,1.833435361815678455e+00,3.557035157239844536e-01,-4.772862704032293513e-01,4.663795743819788564e-01,-9.439250641118496210e-02,-9.831181837457076966e-01,-8.983219714320159754e-01,8.020517387405159404e-01,-1.846531981664673028e+00,6.041367404426841725e-01,-1.629583602748438276e+00,-2.121176444902435954e+00,-1.838846603758498510e+00,1.966763971934739841e+00,-1.962339649435420053e-01,8.658318016541909079e-02,1.419255045910951196e+00,9.341797484997248491e-01,-1.391505269404219591e+00,8.690063428187611017e-01,1.841812647035462880e-01,-3.416780975958805810e-01,2.429091413778038805e-02,1.279812020628021907e+00,-8.859664820409528518e-01
|
||||
5.099999999999999645e+00,3.799999999999999822e+00,1.899999999999999911e+00,4.000000000000000222e-01,4.008856791041211509e-01,-9.657236532908345522e-03,-1.797164615395618448e+00,-8.022531717308107879e-01,1.932135532336964612e-01,1.297342089092890616e+00,1.001331017346729579e+00,5.972125044034249930e-01,-8.152756611364585515e-01,1.801213990808534948e+00,2.152404676396114658e-01,-1.006365521678550312e+00,-1.829049808569510049e-01,8.962484253561593395e-01,7.617498318158106956e-03,8.868646865827609638e-01,1.103693957462150266e+00,4.005306845987061659e-01,-8.577026230468940415e-01,1.354546631899805342e-01,4.516585593883100380e-02,1.859346333851628286e+00,-1.626321937826830100e+00,-1.348224510943540622e-01,-5.840935467949193161e-01,3.351056201959988767e-01,-2.437564359199356101e+00,1.114924559490279909e+00,1.374848733553365662e-02,-1.844701163628046148e+00,-3.611131347398661151e-01,6.089623416545242307e-01,-1.591447875458031458e+00,3.222216443155699172e-03,-1.057473647801530081e+00,-5.559850318789673063e-01,2.673838267463693116e-02,1.834502535815762947e-01,-4.707424981827272314e-01,2.727963895302641384e-01
|
||||
4.799999999999999822e+00,3.000000000000000000e+00,1.399999999999999911e+00,2.999999999999999889e-01,8.179776072548057275e-01,-2.789142751032397949e-01,1.431567757449290879e+00,1.462214170780419487e+00,-4.287020655858288509e-01,-6.378405564735842859e-01,-1.664172985166173513e+00,-1.265693316393898538e-01,-3.634377801160513788e-01,7.790512201329915509e-01,-1.509661606068298800e+00,-2.773913917431098386e-01,9.687443931111453521e-01,-7.303570955579599122e-01,-7.623615367276093124e-01,-1.446940334755808522e+00,2.620573846018239283e+00,-7.474731780653793844e-01,-1.300346832218339133e+00,-8.038504040315199717e-01,-7.742950804868045100e-01,-2.693897784512402915e-01,8.253722320875147567e-01,-2.983231689958337207e-01,-9.228233149968279037e-01,-1.451338498191025117e+00,2.185735821987137145e-02,4.253907402979072161e-02,1.530932351028824634e+00,9.244773546980858403e-02,-9.900831128407737436e-02,-1.050653836587489565e+00,-3.059525750983919101e-01,-4.384744580346060516e-01,-3.701641645137025427e-01,-9.592553926405882336e-01,5.383296032761768490e-01,-1.424454175093693709e-01,-2.003534800049873998e-01,-1.714046116048996371e+00
|
||||
5.099999999999999645e+00,3.799999999999999822e+00,1.600000000000000089e+00,2.000000000000000111e-01,4.936440875248638838e-01,4.870153259803794432e-01,-8.391294028422137119e-01,9.901213838791936839e-01,-1.364758230082432355e+00,-2.186990878907987476e-02,-2.712073398901638788e-01,-1.317174788805794305e+00,1.897026120799957527e-01,1.702570152241791313e+00,6.763423006691976491e-02,-4.630217541090509425e-01,4.470241568856782588e-01,1.057199954671549369e-01,2.776213162550148633e-02,-4.255422127714480474e-01,1.421975559292464775e+00,4.563633634807853778e-01,-5.286706589354885910e-01,-1.080038367809579292e-01,-7.408667042040726347e-01,-6.082911500814950356e-01,-6.407257241901990197e-01,-1.134311593722227451e+00,7.772769637679554089e-01,-2.910414632730257689e-01,5.541275783267697319e-01,-6.701258977272964712e-01,-6.036249439233865033e-02,-7.110405967911112013e-01,7.196681705373316751e-01,-2.484193067050382286e-01,-7.308735859513858513e-01,-1.641703228809784143e+00,2.756665493407743917e-01,-7.083850523381071129e-01,-1.577921712099517385e-02,-4.917301080135276226e-01,9.541895808987649330e-01,5.441447523580079659e-01
|
||||
4.599999999999999645e+00,3.200000000000000178e+00,1.399999999999999911e+00,2.000000000000000111e-01,4.472120874548314862e-01,-6.161211233234792362e-01,4.662900435501894925e-01,1.714831608676042896e+00,-8.321860341500619818e-01,1.723391392291887814e-01,-1.649216974417132109e+00,1.398562092125535505e+00,-3.979120985908414232e-01,7.825788808419774645e-01,-1.723228250716323018e+00,1.797539387125904664e+00,-3.568715280255984612e-01,5.456573234700274888e-01,1.508182063325937960e-01,-2.554707861877694164e-01,1.685792302659303576e+00,-1.648046206366179822e+00,2.987136599920089397e-01,9.106456722299702822e-01,-2.985612163636626459e-02,-1.181707843665917995e-01,-1.426877120734650339e-01,-1.227636420410407991e+00,3.812738409493465069e-02,5.127175234723987396e-01,6.859922748066052400e-02,-2.722761011450806068e-01,-4.897250223730267304e-01,-2.792966692783721561e-01,1.257744217496038264e+00,-2.086634979420542546e+00,4.007145654777545529e-02,-3.277549172964167590e-01,1.455807951836843417e+00,5.549222544380277150e-02,1.484925598699954108e+00,-2.123890018045559103e+00,4.595849048340561738e-01,2.800578600376801286e-01
|
||||
5.299999999999999822e+00,3.700000000000000178e+00,1.500000000000000000e+00,2.000000000000000111e-01,1.390533967073938060e+00,-1.641348608823029132e+00,-1.550358081183257908e-01,6.606026178649258840e-02,-4.957954945452093254e-01,1.216577713742940325e+00,-3.386821854453975766e-01,2.034762544021153641e+00,1.054177908938922714e+00,9.508336970037996050e-01,5.592989813908842978e-01,-1.063695591025547893e+00,-4.310963375107570994e-01,5.727513668572158378e-01,6.775570335877171280e-01,1.307183845081257401e+00,-4.674410096259063452e-01,-8.601533849246632002e-01,8.591041927855306293e-01,-8.096265760401126776e-01,8.733118360704121841e-01,1.199736176415037825e+00,4.561530358270553531e-01,-3.575790319685979157e-01,4.108222614387956745e-02,5.934659196032391337e-01,1.018551871207346374e-02,2.198296338670492567e+00,-9.906709306271491711e-01,-1.002668587369790920e+00,-9.768953867353251663e-01,-5.895799225452156289e-01,-2.178931520194909321e+00,-6.296504269401812515e-01,-6.532847019278890111e-01,7.851402517417628568e-02,4.178005832060814329e-01,-1.240216336407770292e+00,9.000542427640723098e-01,1.802242229790547157e+00
|
||||
5.000000000000000000e+00,3.299999999999999822e+00,1.399999999999999911e+00,2.000000000000000111e-01,-2.082851030949963433e-01,1.574371237475571617e+00,1.989894944051877335e-01,1.988731918595391113e+00,1.117283465688190258e+00,-1.563904634839766272e+00,1.862737066135545724e-02,1.054324974904077727e+00,3.054658104061688806e-02,-3.688353084506694468e-02,1.269764750314303914e+00,-7.098541821461039625e-01,1.751561327821833658e-02,3.236257646091186824e-01,-3.337909603535641478e-01,-2.012910387753747560e-02,7.750232632241702557e-01,4.328376214999939409e-01,-8.087175319795336659e-01,-1.104123985799261742e+00,-7.891021802566502430e-01,1.248455788486605312e-03,-1.599397877570428173e-01,-8.319574932171247550e-01,-5.981504525164857977e-01,-1.520039285192063661e+00,4.178537032173259558e-01,-4.001872535163292222e-02,-1.259787343405270210e+00,2.862050418778281854e-02,1.342622010510353237e+00,-7.399358529652596550e-01,1.315137665720972349e+00,-3.234574724834238246e-01,1.978281678498678142e-01,9.775080242218528448e-02,1.401523416005245437e+00,1.584338467855317123e-01,-1.141901419203846579e+00,-1.310970370441212340e+00
|
||||
7.000000000000000000e+00,3.200000000000000178e+00,4.700000000000000178e+00,1.399999999999999911e+00,-1.532921053430127856e+00,-1.711970164094221314e+00,4.613505895568492665e-02,-9.583744802265614648e-01,-8.081161294374096526e-02,-7.038590359904466354e-01,-7.707843007065652285e-01,-4.808453408727291212e-01,7.035855546433883445e-01,9.291451477686910598e-01,3.711725526490392002e-01,-9.898225495471192348e-01,6.436312754533384251e-01,6.888966666079322509e-01,2.746472036124445459e-01,-6.036204360190906559e-01,7.088595753671402822e-01,4.228185746766614517e-01,-3.116856591599125981e+00,6.444520334110422910e-01,-1.913742670861507067e+00,6.635615765913814856e-01,-1.540723984248353051e-01,1.193611680749198101e+00,-9.816121120593053473e-02,-8.866142600561124354e-01,-1.473536645828436575e-01,1.059806294933774540e+00,2.624661786158738463e-02,-1.143351598723767876e-01,7.435535155083369263e-01,2.103593666298129161e-01,-5.927405833231805775e-03,1.366060068403331496e+00,1.555114032059067730e+00,6.133262263287011518e-01,-2.859591514851729244e-01,1.496910993520827127e+00,1.183119557331707039e+00,7.188971655282916373e-01
|
||||
6.400000000000000355e+00,3.200000000000000178e+00,4.500000000000000000e+00,1.500000000000000000e+00,-1.216076580745860891e+00,1.406719033079609216e-01,-7.436721747008731009e-01,-1.590122515543593296e-01,2.400569292967187074e-01,1.001594080906234863e-01,-4.751751058292484897e-01,1.272953748919910755e+00,-1.696131266831543138e+00,7.301835311296144271e-01,-1.857483271594537966e+00,3.825981367234628783e-01,-8.869043262838756103e-01,8.783037577325304435e-01,8.645252400759345646e-02,2.477063784668243063e-01,-1.018279325566851412e+00,-6.545701349975838745e-01,2.072173934109533544e-01,5.835699269093039820e-01,2.929096241763861297e+00,2.228583231034867163e-01,9.760375253689257402e-01,-1.556933932509260599e+00,-1.329891861334062897e+00,-3.554947746084520244e-01,-1.197427695638566325e+00,1.486399253466384573e+00,-4.102186927803287420e-01,1.382181888393138491e+00,1.486782474085630801e+00,4.277971988356689403e-02,5.017997538076389707e-01,-5.609947334090290005e-02,5.384370003545386751e-01,4.833418517805717629e-01,-1.236496258920307123e-01,5.049699814628403338e-01,1.723696275667261801e+00,7.130162297109376990e-01
|
||||
6.900000000000000355e+00,3.100000000000000089e+00,4.900000000000000355e+00,1.500000000000000000e+00,3.257996136406255405e-01,1.247695210432124141e-01,-1.012673123768591088e+00,-1.027296877075462467e+00,3.233565314802586133e-01,-1.369391124047157238e+00,-7.663275989635831564e-01,1.281511340364133167e+00,1.914229697062814095e+00,-1.665956076797718399e+00,1.626649562301581975e+00,-2.114382908455566257e-01,-1.500508703136480514e-02,-1.134116306427339627e-01,1.080544127025487189e+00,-1.607676579043177068e+00,4.561636113551333915e-01,-9.448701973880109239e-01,5.707885293815737615e-01,1.542796338293051850e+00,-4.173264126201667486e-04,3.741550859708025478e-01,4.095517782376913440e-01,-7.995934996704900932e-01,1.511639349884318362e+00,1.706468247260988891e+00,7.017833721170290140e-01,7.328543200764546517e-02,-4.618938153542846425e-01,-6.264902231490875328e-01,1.710836582546655604e+00,1.414415042729023630e+00,-6.366148878954942802e-02,-1.579930529671123685e+00,-2.832011869908987123e+00,-1.083426660264279695e+00,-1.306203959951194038e-01,1.400689034443001413e+00,-6.516562090577807664e-01,5.048154563405017337e-01
|
||||
5.500000000000000000e+00,2.299999999999999822e+00,4.000000000000000000e+00,1.300000000000000044e+00,1.303180961648432445e+00,1.285363168560481606e-01,-1.424478687888413309e-01,-1.308763514238608039e+00,-1.202475308204432825e+00,4.160996344158233162e-01,-2.009075332009267190e-01,1.225313176533015386e-01,-4.727771569624714121e-02,6.641440493586504568e-01,-7.846874114294452029e-01,-3.355806435831669154e-01,1.896182228633144007e+00,-7.997861383857707285e-01,-2.815754308001021111e-01,-5.893867019785693495e-01,4.447813624072501915e-01,1.022392322442069457e+00,-4.982116185861096280e-01,-4.314143411046852394e-01,-2.789816053030302889e-01,5.298337834749576869e-01,-7.393953025101953624e-01,-3.759599659712591357e-01,-2.372193871513015306e+00,-1.381745009494985243e+00,-1.124437560192882157e-01,8.978641732031213962e-01,2.950757833018624043e-01,-1.098768456667299498e+00,-1.400256208127941937e+00,1.746800928981687429e-01,-1.652803642252843597e+00,1.065926818716888880e+00,6.389619165017826341e-02,-1.607320159234058021e+00,-9.659538588418696836e-01,-7.243113192311227966e-01,-7.731925102234387115e-01,-1.489933008221492328e+00
|
||||
6.500000000000000000e+00,2.799999999999999822e+00,4.599999999999999645e+00,1.500000000000000000e+00,-8.746625219888451985e-01,-6.844015561404261927e-01,-7.112857556104382750e-01,1.127956624933380558e+00,1.048278028272145723e-01,-9.932572174375523533e-01,-3.346216059541220478e-01,-8.795570973113842062e-01,-3.000066590117569931e-01,8.755091531413832229e-01,2.522707806121253782e-01,2.285601181528066572e+00,3.759274257674801722e-01,-9.135945099771070055e-01,8.097407308144474181e-01,1.079931217142535704e+00,1.094166991443943804e+00,-1.094240953035091390e+00,-1.476374145148375006e-01,1.131811956828452592e+00,-1.684728958873941140e+00,-4.994167610220383025e-01,-1.426937685426991509e+00,-9.325702298970132142e-01,-1.012457152743806210e+00,1.250569832543434901e+00,-2.345380349087503868e-01,-8.633555813417825853e-01,-1.035605731384494632e+00,1.416671648715303045e-01,-1.113562734066710774e-02,1.344074374673426941e+00,5.000166958573025733e-01,-1.431797778065037496e+00,-6.289807075912683398e-01,1.070072512070977089e+00,-6.210826977013773620e-01,1.734572174923709076e+00,-1.098289431324746657e+00,5.726133530407901961e-01
|
||||
5.700000000000000178e+00,2.799999999999999822e+00,4.500000000000000000e+00,1.300000000000000044e+00,-8.612155533986415312e-01,-5.095951329463573876e-01,1.098581648231146568e+00,-1.270671628385169338e-01,8.134522451141070754e-01,4.732905949147994673e-01,7.538656835623007701e-01,-8.881882110855132684e-01,-2.215743982040006832e-01,4.242526181008702268e-01,-8.490728726936603854e-01,1.629500043232328554e+00,-7.772280421551344132e-01,-3.000035769377952244e-01,-1.006559064794237512e+00,-2.143308065238688442e+00,1.796918522574928012e+00,-2.043389369030472469e-01,-4.479148384155402507e-01,-1.987150616707986650e-01,1.419863972196435675e+00,-9.651066080644172818e-01,6.795678657650824350e-01,-4.237882485494763318e-01,-5.966708555383097856e-01,5.670582125201824031e-01,9.882405737426969150e-01,-5.139029502799155047e-01,-7.688491596748099344e-01,-1.169095747322027146e+00,1.103503766728375579e+00,-5.752559948061179984e-01,-1.849130727275451136e+00,1.409952138396146193e+00,-1.369859501952942260e+00,7.794605312590614510e-01,1.834286466675247307e-01,2.879154322152783774e-01,-5.843752753113219400e-01,3.655914602246360667e-01
|
||||
6.299999999999999822e+00,3.299999999999999822e+00,4.700000000000000178e+00,1.600000000000000089e+00,-1.667779892884237336e+00,5.880377487398128489e-01,1.557010041532160161e+00,8.840271974263261834e-01,-2.019540085386721362e+00,-9.842090022728482435e-01,-1.877949219748069054e-01,4.869373049399326470e-01,-1.066526736602251002e-01,-4.932143871104978095e-01,5.953003076922928072e-01,1.164151766224966300e+00,-2.322940071865973455e-01,7.289298673852393495e-01,-2.579050745189474636e+00,-9.375093861087292479e-01,-3.212589370580095083e-01,-4.885662207546257463e-01,3.327982174044547548e-01,1.013750547498260657e+00,5.066690260283884806e-01,-6.222254717550558256e-01,-1.522768090504186045e+00,5.569641205788870009e-01,-1.838176739670012161e+00,6.530372834064285259e-01,-1.884490821300682517e-01,-1.175834987938228826e+00,2.872573124667927580e-01,-2.876102659000990668e-03,-3.659729291624690128e-02,-8.422329652739403427e-02,4.195241084261415176e-01,9.244340219585094331e-01,4.966151984838515498e-01,1.012133189822309598e+00,-4.413971884780624327e-02,1.618459324231974472e+00,5.711098221298226418e-01,-5.436940296827768027e-01
|
||||
4.900000000000000355e+00,2.399999999999999911e+00,3.299999999999999822e+00,1.000000000000000000e+00,-1.093895056734405014e+00,2.057968037340799639e-01,-1.306521522922600820e+00,-9.733759675567484893e-01,2.390870803735992423e-01,-6.078874462819541247e-01,-9.333162402269222779e-01,-3.447504608839825624e-02,7.267789910378988361e-02,-2.058340252187376151e-01,-3.775469190592885549e-01,8.546427287124486183e-01,3.424273512868276081e-01,-2.234261121946960194e-01,2.464321933515365437e+00,1.938317369284130731e-01,1.132005133677329800e+00,-5.609810031317564727e-01,-1.362940947208009623e+00,-7.917565156434643869e-01,-2.680097833981119337e-01,-4.966082097295170250e-01,1.336386182322793603e+00,-1.200411220961080244e-01,4.614688774411399019e-01,-4.648115603289031811e-02,-4.335543327331675689e-01,3.799601345351499848e-02,1.714051469770731861e+00,-7.679485917368150671e-01,7.669904505595511734e-01,-1.026007251625781880e+00,-4.596264422694389395e-01,3.583205954583646834e-03,3.263750897269906970e-01,1.483128627973814062e+00,-5.008264146453541427e-02,-8.436156065359264877e-01,6.500419730507697169e-01,-3.641698089157559548e-01
|
||||
6.599999999999999645e+00,2.899999999999999911e+00,4.599999999999999645e+00,1.300000000000000044e+00,2.386815709318353684e-01,-1.162224395377518538e-01,-1.943456851286822662e+00,5.082991855939731352e-01,5.833680068212987457e-01,9.266047683086053866e-01,1.800462762460227628e+00,-1.195103773463475738e+00,5.165074442817594313e-01,4.092949966409553664e-01,-4.190819928078221013e-01,3.971062364497787711e-01,4.996469551119659958e-01,-1.218683829977196931e+00,2.462227612764321949e-01,-9.179843060046155578e-01,-6.518564999305904717e-01,-1.774744815188650016e+00,-4.733609255024787688e-01,-2.035706714734769607e-01,5.498568672963908277e-01,8.999266711071546602e-04,-1.542288150799678625e+00,8.621480568842673220e-01,-1.185866235500923072e-01,4.883705904296574141e-01,9.659361184597011762e-01,1.422604748969034771e+00,1.961226989365015383e+00,-7.223875867166795750e-02,3.111244460936535283e-01,-1.078361090816779777e+00,1.061600170035261081e+00,-1.184887444571769644e+00,-1.805251688630421070e+00,8.303860053403917529e-01,-5.216965249478153765e-01,7.776072813422404417e-01,4.080746493461687163e-01,-1.630002651023708671e+00
|
||||
5.200000000000000178e+00,2.700000000000000178e+00,3.899999999999999911e+00,1.399999999999999911e+00,-2.719679364322614479e+00,-1.096601747092719181e+00,1.649148698086453854e-02,-1.221776334694771871e+00,-6.527614493487129410e-01,-1.458940730597325430e+00,1.698779597969244382e-01,9.082592703632520748e-02,-4.813926240476332774e-01,1.397065301313742625e+00,1.497715027319563408e+00,5.652672025364510189e-01,-1.799771181466744530e+00,-1.104690147205609430e+00,4.071303310832481426e-01,-6.285575802445897420e-01,-4.870914317118235082e-01,8.989673945880599648e-01,5.108748218924175077e-01,1.314154433813948808e+00,-4.292092966464773340e-01,1.375225420446897218e+00,-5.541312470844856897e-01,1.499491490138763039e+00,1.058346436167786758e-01,-8.605097471096080364e-01,-1.631219507653532963e+00,-3.014723148616931803e-01,-2.562326979954389072e-01,8.576619101224520758e-01,-1.105905028082072861e-01,-4.324319785784446757e-01,1.077037472947536489e+00,-2.248265612701514649e-01,-5.762418162269031807e-01,5.746089172925727961e-01,-4.898282188472668497e-01,6.588021416915129658e-01,-5.969171117831943985e-01,-2.229591829703794215e-01
|
||||
5.000000000000000000e+00,2.000000000000000000e+00,3.500000000000000000e+00,1.000000000000000000e+00,1.521769755882663444e-01,-3.741263202643058672e-01,-1.345146935738967924e-02,8.154719692400600461e-01,4.106017913200476488e-01,4.809698500346235028e-01,-6.354304386192671794e-01,8.528297682743679609e-01,6.695623405090825875e-01,1.004419192261624794e+00,-7.263658321861021783e-01,-1.724585966814570492e-01,6.335339024604004221e-01,-6.088151174171313462e-01,-2.261224697639562242e-01,1.925805737459526989e+00,1.951761012267813733e+00,1.239940549827360128e+00,9.385851362497682482e-01,-1.019251149505129517e+00,5.125622314261223389e-01,-3.591165950658852246e-01,-1.058571897605367740e+00,-5.090058385913199812e-01,1.156650740463465721e-01,-5.473555742986664363e-01,-5.507994257068401511e-01,7.920414984229742217e-01,1.441064851232318200e-01,2.334580796623180188e-01,1.118723968962983539e-01,-6.757031433716509383e-01,-1.370571917960688335e+00,3.105647104204784514e-01,-5.070366321254438091e-01,-2.010782268585877830e+00,-3.925672579651524607e-01,-1.092217941340623444e+00,6.986502343077553023e-01,5.216252272403399948e-01
|
||||
5.900000000000000355e+00,3.000000000000000000e+00,4.200000000000000178e+00,1.500000000000000000e+00,4.968931448384695804e-01,-6.650416181586910058e-01,7.315515818621539657e-01,3.196497831340729956e-01,-4.098545384398195046e-01,-4.533374321385169048e-01,8.927081528737002003e-01,-4.736040569636580932e-01,3.036564735262782810e-01,1.033956986812783585e+00,1.909342625557108653e+00,1.663873124437729611e+00,9.008227642090298470e-01,-1.505911351571387113e+00,-6.890484294179712865e-01,-5.480871874725355974e-01,1.653149832565320887e+00,-6.993179409720908790e-01,3.861663770983691513e-01,1.008670632573117898e-01,-9.351272094375440158e-01,3.818240096193838418e-01,3.982960861974925160e-01,-1.255774881741501536e+00,1.222877447053409838e+00,-2.086510028855187660e+00,-5.907571529099620022e-01,9.719702938655755409e-01,-1.193257833474039131e+00,3.502659195620300148e-01,-1.296360388275429987e+00,-9.302414444422328621e-02,-2.313773113172200357e+00,-8.425717017130081032e-01,-1.542921447154290249e+00,-4.017637421265006226e-01,-4.152313958216570788e-01,-6.736641713091396921e-01,7.979131965667455306e-01,-8.868796038714377161e-01
|
||||
6.000000000000000000e+00,2.200000000000000178e+00,4.000000000000000000e+00,1.000000000000000000e+00,6.343866731890511756e-01,1.629275769958861586e+00,1.390641503046825544e-01,-8.576702045753996639e-01,-1.249338514861542349e+00,-7.097851001194992460e-01,7.046427207498909828e-01,1.555907349688974983e-01,9.367952162539888716e-01,7.703308793272120036e-01,1.408106518782359096e-01,4.734882616664621846e-01,1.855246209420479131e+00,1.415656226174680121e+00,-3.027460169042532345e-01,9.896794419358903028e-01,5.858508058179355826e-01,1.136388077539739472e+00,6.716165720359097424e-01,-9.741674350429900819e-01,-1.619684565372700558e+00,5.726270172050856866e-01,1.902618198369831148e+00,-7.756641079399706484e-01,-1.880897380496502069e-01,-1.035747726195212826e+00,1.177829504705659946e+00,-2.305166855043520702e+00,-2.263660301035808509e+00,3.750199198201532580e-01,-8.234364679135211529e-02,-4.796230150738065023e-01,-3.010947865234137044e-01,5.369879144563616258e-01,-4.138039890496650886e-01,-1.096924971733113541e+00,-9.273629280729662749e-01,8.883388619968426436e-01,-5.247419549622203139e-01,-1.385277583767198228e+00
|
||||
6.099999999999999645e+00,2.899999999999999911e+00,4.700000000000000178e+00,1.399999999999999911e+00,1.021783269439707348e-01,5.049947217800111465e-01,1.328960747553223465e+00,2.179033871216689844e-01,-6.597112472096701152e-01,4.740078672770297041e-01,7.271748700204364591e-01,-3.890530666380676017e-02,-4.459939272557342932e-02,2.601329049387676728e-01,-6.985649825618424347e-02,2.501139068831255696e-01,-1.021913324426928282e+00,-1.150437769818509537e+00,-8.361113795007689697e-01,6.422109433294258540e-01,2.587975673406087140e-01,1.040238964249558640e+00,-1.866909221146099418e-01,-1.143641395841849651e+00,1.144553535284557944e+00,-1.876705553989292327e-02,1.283455036266525351e+00,5.979464913921805902e-01,2.188618678822837005e+00,-2.197729857133623455e-01,9.007239050891806542e-01,8.913641063529440522e-01,-5.551263454944499465e-01,-1.724823171069609085e-01,-1.461738342216722941e+00,-1.548796137002665718e+00,1.265688015307749603e-01,7.930070706974273742e-01,6.380240334954548898e-01,3.400245982596526440e-01,8.630171531510913985e-01,-5.896977956993247894e-01,-2.725327484877594908e-01,7.375215134138817241e-01
|
||||
5.599999999999999645e+00,2.899999999999999911e+00,3.600000000000000089e+00,1.300000000000000044e+00,4.331187294489333151e-01,-2.101888137967623249e-01,1.320794386127914555e+00,-1.292001251047127486e+00,-5.186786872885924549e-01,-2.833977744562524159e-01,8.165348797737703723e-01,2.385197915235162322e-03,-1.261491746790615043e+00,5.140041798160635000e-01,1.087546315466894509e+00,7.393045331330262426e-01,6.191549216054889060e-01,-1.874313496741068175e+00,-8.998864767434843204e-01,4.820806086722010941e-01,-5.488818475438848876e-02,5.225576019988119603e-01,-1.266342676962954217e+00,-6.149476428488614282e-02,-1.389781018896206755e+00,-1.953678562619406422e+00,2.957790885068872222e-01,8.425887964569803712e-01,2.456164279017757912e-01,-3.299648026466609624e-02,-1.562014341829266240e+00,1.006107067097547159e+00,-4.404489737594127069e-02,1.959562005205767843e+00,9.423143082769667167e-01,-2.005125426652148324e+00,7.550496802558879228e-01,-1.396535237573157229e+00,-7.594954904290640574e-01,-2.507566767601495106e-01,-9.406245036260366121e-02,3.975652156174661611e-01,-1.022855040804214077e+00,-1.150692004256646861e+00
|
||||
6.700000000000000178e+00,3.100000000000000089e+00,4.400000000000000355e+00,1.399999999999999911e+00,6.006052017330760773e-01,-1.325026793402665944e-02,1.743730487015256181e-01,-2.193683351694660111e+00,-1.771373833153235544e-01,-8.907291830614958439e-01,-9.206263730168693371e-01,9.219348042245775199e-01,-1.095671228972512345e+00,-1.092896606326030140e+00,-3.310106034017458732e-01,4.502888306473442070e-01,-8.840147297480861477e-01,1.234144035780061488e+00,1.449847525361218858e+00,-8.814470664684638246e-01,-2.450817555768555756e-01,-7.786754726576129437e-01,-1.685382104871227193e+00,3.030110504561573936e-01,7.335948682293695899e-01,2.011864263126561525e+00,-8.974095036313369800e-01,1.336235090812621040e+00,1.342353691257953230e+00,1.978533095671530795e-01,6.021634895760638040e-01,8.732730483007036248e-01,1.974099948241899494e+00,4.778085626164694233e-01,-6.013788550368521363e-02,-8.661687990074722343e-01,3.053207550124980574e-01,1.024164932773069969e+00,2.446103613294719481e-01,-7.799232489250029765e-01,8.907620249656333922e-02,-1.291534824601138776e-01,2.647387577557072658e-01,-1.661848367218250022e+00
|
||||
5.599999999999999645e+00,3.000000000000000000e+00,4.500000000000000000e+00,1.500000000000000000e+00,5.507886141027313887e-01,5.954231567637230382e-01,4.448534381865085763e-01,-3.762817145024025239e-03,-1.805936262603421660e+00,-1.932279197126340886e-02,1.060714999342169618e+00,-8.601288762924613751e-01,-1.989269466161283750e+00,-1.540557971870693654e+00,3.140256918206031367e-01,3.728760088524375460e-01,8.862931946214680501e-01,-5.525899572965248252e-02,-1.500328375978570605e+00,-8.185041405936757108e-01,8.188393725993478034e-01,1.404959074394759033e-01,6.498296346799786738e-01,4.347888054610397068e-01,-2.049605517302959257e-01,-1.740068375080336960e-01,1.857102269755859680e+00,4.146742666092209095e-01,-1.285875503163605993e-01,4.554199909368095156e-01,2.229058196242733325e-01,-2.157356373494461188e+00,6.500845143723144037e-01,1.820939274089675486e+00,-7.802798683900640242e-01,1.454035748839167086e+00,-2.568696973319169463e-01,2.934713976498222743e-01,1.070360016973173956e+00,-7.200014312908091796e-01,1.242493912818471324e+00,-1.214217281359339262e+00,-8.751547489139164249e-01,-5.935203173475258609e-01
|
||||
5.799999999999999822e+00,2.700000000000000178e+00,4.099999999999999645e+00,1.000000000000000000e+00,6.620053664519022218e-01,-3.408744105694707649e-01,-1.519974459585867965e+00,-2.165328718498284177e-01,-7.842213825343838929e-01,7.312936208403685301e-01,-3.432350544551032723e-01,7.077407590065136478e-02,-4.054724571406713163e-01,4.339389682302889351e-01,-1.835907634705541969e-01,3.251987146870652934e-01,-2.593388564741710312e+00,9.725087697778614371e-02,4.139136701102331117e-01,-1.992800549145920253e-01,6.693924713925414327e-01,7.386070289928207133e-01,1.304213891849502982e+00,1.048116080722816534e-01,-1.913800704669981201e+00,-2.285499448789645172e+00,-1.601840952074517599e+00,-3.790706118413619818e-02,-1.573052882805656694e-01,2.762398520199737528e-01,-6.252459225571738166e-01,-7.364911715057482766e-01,5.550479424104340920e-01,6.559244113725019032e-01,-2.566501354804808233e-01,-3.847665823895329851e-02,4.043143433289911326e-01,5.043435751629945507e-01,-1.143980699598740269e+00,-7.195738559179507554e-01,-1.230546045645386721e+00,-5.069066148368306379e-01,8.123335893418310860e-01,5.462718669437655050e-01
|
||||
6.200000000000000178e+00,2.200000000000000178e+00,4.500000000000000000e+00,1.500000000000000000e+00,-1.098097960362558689e+00,5.122667268259818441e-01,8.584310534245198632e-02,-4.939267070859206799e-01,-1.406459655103631246e+00,-1.748233716177669539e-01,6.799440061159555126e-01,-2.163097648396125727e+00,-3.961231977514494962e-01,2.254283698804962377e+00,6.726367185680938166e-01,2.598324950034759939e-01,-7.371851695709140673e-01,-6.783298378739697210e-01,-8.328839569996336623e-02,1.602863629377135890e+00,4.655891908949305047e-01,-8.721583977708226021e-01,1.176786962383863822e+00,-2.925942071580907022e-01,1.697346481013949138e+00,-5.666030246377040669e-01,-1.003265756903888972e+00,1.746295778135699972e-01,9.823269838002980370e-01,1.037444796730910168e+00,1.591917666688115185e-01,-9.880966879686111648e-01,-5.053407218978849258e-01,-2.018281868354216524e+00,-9.131215375688201963e-01,-1.784568148972631163e-01,3.890021406534791559e-01,-3.394543214647791074e-01,-5.697905497773966821e-02,-3.961854447498169285e-01,7.510253041897702042e-01,-8.991129384265388325e-01,8.375479141463264554e-01,1.960880812513910554e+00
|
||||
5.599999999999999645e+00,2.500000000000000000e+00,3.899999999999999911e+00,1.100000000000000089e+00,4.727896560219311262e-01,-5.270916102240418288e-01,-5.362701440867850833e-01,1.209837222184097616e+00,-1.126589425871997507e+00,-9.538044202725639575e-01,-1.164448453870464473e+00,-1.278513840520686173e+00,-1.044816319379856973e+00,7.899049417854930866e-01,1.102282564588024316e+00,-6.970730723601831214e-01,2.073340460456898626e-01,7.591566751082341469e-01,1.005642030971629630e-01,-9.549427576172389021e-01,-1.470401735138081367e+00,1.010427553125508693e+00,4.961794122883804725e-01,5.769558933986538296e-01,-1.107646900901030129e+00,2.349771928890519168e-01,6.289995874568216072e-01,3.140338436471455386e-01,-7.450232168076890149e-01,1.012260510065335684e+00,-1.527631948178773902e+00,9.287419248069415101e-01,1.081055944087073284e+00,1.572330317535224786e+00,-3.424921902504429183e-01,-9.994300165615205289e-01,7.938803623083801053e-01,-6.992152790869743395e-01,4.399551144398878427e-02,-3.174622171600719467e-01,-9.020719714130848166e-01,3.209994661848916131e-01,-1.392015916558035693e+00,5.922056816440394167e-01
|
||||
5.900000000000000355e+00,3.200000000000000178e+00,4.799999999999999822e+00,1.800000000000000044e+00,-9.669310884567345887e-01,-1.731731346467926258e+00,-5.010745879029283867e-02,4.316338528112232398e-01,5.769345970532243628e-01,8.183537308271613409e-01,-2.353640399690413609e+00,-1.005144430956671497e+00,1.066522945030321246e-01,1.519003279936145479e+00,7.837444936747277602e-01,1.901340051848112500e+00,-5.249394229139989765e-01,2.744169952820086356e-01,-1.099970807569307096e+00,-4.043522196239997535e-01,-7.352957182829735761e-01,-6.339886593167213258e-01,-3.934491211856632753e-01,2.717539890680890739e-03,2.221266451648408816e-02,5.434534395827254061e-01,1.399884673868593554e-01,-3.440456288496253623e-01,-5.225785415319466054e-01,-3.071317201586840628e-01,-4.490371414469655487e-01,4.909710551819796431e-01,8.655251906712624343e-01,1.274044537947084610e+00,-7.977027599404172831e-01,4.693722253387500598e-01,-1.394679641592675656e+00,3.731747182525781414e-01,1.082672282091064586e+00,-1.495895016669949729e-01,1.072636047258873182e+00,-1.138567870315476682e+00,-8.886452830916367063e-01,-1.358098426436865347e-01
|
||||
6.099999999999999645e+00,2.799999999999999822e+00,4.000000000000000000e+00,1.300000000000000044e+00,1.022210354585824321e+00,-4.174294563419881920e-01,-4.535531009087745979e-01,-9.916283583780206579e-01,2.028810444426215887e-01,1.246695140894435561e+00,7.006801090936923826e-01,6.966506543362647186e-01,-2.069744749236640258e-01,-5.633093592639144553e-01,6.772459164163702194e-01,-3.191107563414086884e-02,-1.736082357193817483e-01,8.982406224036155740e-01,-1.977874516727299026e-01,-8.377762593852057238e-01,9.091884953309661288e-01,8.071989043386668117e-02,-1.037029343848691942e+00,-1.112905894871616175e+00,9.541187582686681823e-02,2.337409661478275780e+00,-3.928206035462084578e-01,-3.362738590855784970e-01,1.523771197617053375e+00,-5.728119979051538718e-02,-1.448466863247988234e+00,-1.572796452548173241e+00,1.226663973787480266e+00,6.663545422501888638e-01,8.261257084311929288e-01,-5.775655837871274817e-02,-7.267120259827976048e-01,-2.171631157241669663e-01,1.360312173743767616e-01,-8.383111556987010715e-01,5.614499095511267246e-01,-1.259596168799721472e+00,-3.327587645752237422e-01,-2.040078724765028995e-01
|
||||
6.299999999999999822e+00,2.500000000000000000e+00,4.900000000000000355e+00,1.500000000000000000e+00,-6.910198131753685358e-01,-2.205505355019822034e+00,4.478696641112525634e-01,-7.557507604402671220e-01,1.325707959324371465e+00,-3.419822776840522605e-01,-5.413595884312205619e-01,9.152194677887708074e-02,1.053439748630448092e+00,-5.634076631181696992e-01,1.014737694829776826e+00,1.440303641017622649e+00,9.903228106559455179e-01,1.626431490992257256e+00,1.292646021012468838e+00,1.514882293893005771e+00,1.604326319415641189e+00,2.080695296299638064e-01,-4.292238995721983086e-01,-2.262243635243805784e+00,-1.322733119521795730e+00,-4.482827991587955974e-01,-3.817350872405659845e-01,-1.527944634020866055e-01,-1.000760490248750134e+00,-1.595777611441314026e+00,-1.302231664667262145e-01,-1.894179288117905924e-01,-8.075540415498659863e-01,-7.421521616503845564e-01,-9.401565918724067439e-01,-3.965237390163177666e-01,-8.563028269952512872e-01,1.259875331517015473e+00,2.409967320451210648e-01,-9.723179180265172361e-01,-2.804477814674541380e-01,-1.180285606351190619e+00,1.012168295174787902e+00,1.384186724580820149e+00
|
||||
6.099999999999999645e+00,2.799999999999999822e+00,4.700000000000000178e+00,1.199999999999999956e+00,1.252001982753031317e+00,-1.144692631242597569e+00,-9.126701972617591585e-02,-4.015706755129159200e-01,5.620131059141816321e-01,-1.007909803283898009e+00,-6.758916940010165630e-01,-4.132170283518080689e-01,1.532884691324238879e-01,6.941287081378864077e-01,-3.287276927366077905e-01,6.639650755262218595e-01,8.220763567971377528e-01,-2.132152368718210345e-01,-1.245658132865596901e+00,-1.171190335434140417e+00,5.917269751515682463e-01,-4.762244363146694304e-01,-1.712629322682455157e+00,6.129523681830005843e-01,1.295545205462189653e-01,-1.405967081142628361e+00,1.179419981202645795e+00,8.366359871577494500e-01,1.387452512901793111e-01,-1.274319367734416897e+00,-1.402330532885283088e+00,-3.070684868414365054e-01,-1.713915389550289436e+00,4.050802731844854176e-01,-1.410823313380336508e+00,1.649127292546986034e-01,-2.881314527267264114e-01,7.117852680970441215e-01,-9.379475952614881873e-01,2.737294495247240000e-01,-1.394840192834643444e+00,7.955495517694070040e-01,-1.149617662774946869e-01,4.958506689654303967e-01
|
||||
6.400000000000000355e+00,2.899999999999999911e+00,4.299999999999999822e+00,1.300000000000000044e+00,-1.320525346828032243e+00,4.990842756717665529e-01,3.062033963037085194e-01,3.636978927133631134e-01,3.126339630139859938e-01,-1.934638827903477354e-01,1.241299220315990937e+00,-1.558979857657035728e-01,-7.391692003908286734e-01,-5.872619336893859093e-02,-9.505179454445302767e-01,-4.639964233308440100e-01,-1.772466161893988812e-01,-3.795541206458599159e-01,1.993970728054857422e-01,1.945761391306326749e+00,5.709498398461204660e-01,1.072300647288091380e+00,-5.037094373682365900e-01,-5.870162885051485313e-01,-3.781780468929897276e-01,8.528890972688772942e-01,-2.148118478230897743e+00,-1.033164775291367299e+00,1.023358468342198818e-01,-2.240923670629287046e-01,1.967729682143045888e+00,4.476832157426563485e-01,-6.621914435304807611e-01,-1.577607068539347290e+00,-3.405600349378622993e-01,-1.303220082678414604e+00,4.667506504184351646e-01,1.611063222416784513e-01,3.200319320927312861e-01,2.079176664795037155e+00,-9.074659814202976627e-01,-1.924042077959067509e-01,-1.212515744488908975e+00,-8.059851615012544879e-02
|
|
|
@ -0,0 +1,39 @@
|
|||
# ---------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# ---------------------------------------------------------
|
||||
"""This module will load mlflow model and do prediction."""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import pickle
|
||||
from pathlib import Path
|
||||
|
||||
from mlflow.sklearn import load_model
|
||||
|
||||
|
||||
def init():
|
||||
print("Environment variables start ****")
|
||||
for key, val in os.environ.items():
|
||||
print(key, val)
|
||||
print("Environment variables end ****")
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
allow_abbrev=False, description="ParallelRunStep Agent"
|
||||
)
|
||||
parser.add_argument("--model", type=str, default=0)
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
global iris_model
|
||||
|
||||
iris_model = load_model(args.model)
|
||||
|
||||
|
||||
def run(input_data):
|
||||
num_rows, num_cols = input_data.shape
|
||||
pred = iris_model.predict(input_data).reshape((num_rows, 1))
|
||||
|
||||
# cleanup output
|
||||
result = input_data.drop(input_data.columns[4:], axis=1)
|
||||
result["variety"] = pred
|
||||
|
||||
return result
|
|
@ -0,0 +1,357 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# mnist batch prediction example \\[Parallel job\\] \\[SDK example\\]\n",
|
||||
"## Key notes for this example\n",
|
||||
"- How to use **parallel job** for **batch inferencing** scenario.\n",
|
||||
"- How to use parallel job **run_function** task with predefined **entry_script**.\n",
|
||||
"- How to use **url_folder** with **files data** as the **input of parallel job**.\n",
|
||||
"- How to use **mini_batch_size** in parallel job to split input data by size. \n",
|
||||
"- How to use **append_row_to** to aggregate returns to **uri_file** output.\n",
|
||||
"\n",
|
||||
"To get the same example with CLI + Yaml experience, please refer to: [link](../../../../../cli/jobs/parallel/3a_mnist_batch_identification/README.md)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 1. Connect to Azure Machine Learning Workspace\n",
|
||||
"## 1.1 Import the required libraries"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675653935697
|
||||
},
|
||||
"name": "required-library"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# import required libraries\n",
|
||||
"from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential\n",
|
||||
"from azure.ai.ml import MLClient, Input, Output, load_component\n",
|
||||
"from azure.ai.ml.dsl import pipeline\n",
|
||||
"from azure.ai.ml.entities import Environment, ResourceConfiguration\n",
|
||||
"from azure.ai.ml.constants import AssetTypes, InputOutputModes\n",
|
||||
"from azure.ai.ml.parallel import parallel_run_function, RunFunction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1.2 Configure credential\n",
|
||||
"`DefaultAzureCredential` should be capable of handling most Azure SDK authentication scenarios. \n",
|
||||
"\n",
|
||||
"Reference for more available credentials if it does not work for you: [configure credential example](../../configuration.ipynb), [azure-identity reference doc](https://docs.microsoft.com/en-us/python/api/azure-identity/azure.identity?view=azure-python)."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675653940684
|
||||
},
|
||||
"name": "credential"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"try:\n",
|
||||
" credential = DefaultAzureCredential()\n",
|
||||
" # Check if given credential can get token successfully.\n",
|
||||
" credential.get_token(\"https://management.azure.com/.default\")\n",
|
||||
"except Exception as ex:\n",
|
||||
" # Fall back to InteractiveBrowserCredential in case DefaultAzureCredential not work\n",
|
||||
" credential = InteractiveBrowserCredential()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 1.3 Get a handle to the workspace\n",
|
||||
"\n",
|
||||
"We use config file to connect to a workspace. The Azure ML workspace should be configured with computer cluster. [Check this notebook for configure a workspace](../../configuration.ipynb)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675653943687
|
||||
},
|
||||
"name": "workspace"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Get a handle to workspace\n",
|
||||
"ml_client = MLClient.from_config(credential=credential)\n",
|
||||
"\n",
|
||||
"# Retrieve an already attached Azure Machine Learning Compute.\n",
|
||||
"cpu_compute_target = \"cpu-cluster\"\n",
|
||||
"print(ml_client.compute.get(cpu_compute_target))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 2. Define components and jobs in pipeline\n",
|
||||
"## 2.1 Load existing component"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675654881745
|
||||
},
|
||||
"jupyter": {
|
||||
"outputs_hidden": false,
|
||||
"source_hidden": false
|
||||
},
|
||||
"nteract": {
|
||||
"transient": {
|
||||
"deleting": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"prepare_data_component = load_component(source=\"./script/prepare_data.yml\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
"nteract": {
|
||||
"transient": {
|
||||
"deleting": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"## 2.2 Declare parallel job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675654195739
|
||||
},
|
||||
"name": "parallel-job-for-file-data"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Declare parallel job with run_function task\n",
|
||||
"batch_inferencing_with_mini_batch_size = parallel_run_function(\n",
|
||||
" name=\"batch_inferencing_with_mini_batch_size\",\n",
|
||||
" display_name=\"Batch Inferencing with mini_batch_size\",\n",
|
||||
" description=\"parallel job to do batch inferencing with mini_batch_size on url folder with files input\",\n",
|
||||
" tags={\n",
|
||||
" \"azureml_parallel_example\": \"3a_sdk\",\n",
|
||||
" },\n",
|
||||
" inputs=dict(\n",
|
||||
" job_data_path=Input(\n",
|
||||
" type=AssetTypes.URI_FOLDER,\n",
|
||||
" description=\"Input tabular mltable data.\",\n",
|
||||
" mode=InputOutputModes.RO_MOUNT,\n",
|
||||
" ),\n",
|
||||
" score_model=Input(\n",
|
||||
" type=AssetTypes.URI_FOLDER,\n",
|
||||
" description=\"Folder contains the model file.\",\n",
|
||||
" mode=InputOutputModes.DOWNLOAD,\n",
|
||||
" ),\n",
|
||||
" ),\n",
|
||||
" outputs=dict(\n",
|
||||
" job_output_file=Output(\n",
|
||||
" type=AssetTypes.URI_FILE,\n",
|
||||
" mode=InputOutputModes.RW_MOUNT,\n",
|
||||
" ),\n",
|
||||
" ),\n",
|
||||
" input_data=\"${{inputs.job_data_path}}\", # Define which input data will be splitted into mini-batches\n",
|
||||
" mini_batch_size=\"5\", # Use 'mini_batch_size' as the data division method. For files input data, this number define the file count for each mini-batch.\n",
|
||||
" instance_count=2, # Use 2 nodes from compute cluster to run this parallel job.\n",
|
||||
" max_concurrency_per_instance=2, # Create 2 worker processors in each compute node to execute mini-batches.\n",
|
||||
" error_threshold=5, # Monitor the failures of item processed by the gap between mini-batch input count and returns. 'Batch inferencing' scenario should return a list, dataframe, or tuple with the successful items to try to meet this threshold.\n",
|
||||
" mini_batch_error_threshold=5, # Monitor the failed mini-batch by exception, time out, or null return. When failed mini-batch count is higher than this setting, the parallel job will be marked as 'failed'.\n",
|
||||
" retry_settings=dict(\n",
|
||||
" max_retries=2, # Define how many retries when mini-batch execution is failed by exception, time out, or null return.\n",
|
||||
" timeout=60, # Define the timeout in second for each mini-batch execution.\n",
|
||||
" ),\n",
|
||||
" logging_level=\"DEBUG\",\n",
|
||||
" environment_variables={\n",
|
||||
" \"AZUREML_PARALLEL_EXAMPLE\": \"3a_sdk\",\n",
|
||||
" },\n",
|
||||
" task=RunFunction(\n",
|
||||
" code=\"./script\",\n",
|
||||
" entry_script=\"digit_identification.py\",\n",
|
||||
" environment=Environment(\n",
|
||||
" image=\"mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04\",\n",
|
||||
" conda_file=\"./script/environment_parallel.yml\",\n",
|
||||
" ),\n",
|
||||
" program_arguments=\"--model ${{inputs.score_model}} \",\n",
|
||||
" append_row_to=\"${{outputs.job_output_file}}\", # Define where to output the aggregated returns from each mini-batches.\n",
|
||||
" ),\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 3. Build pipeline"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675654935751
|
||||
},
|
||||
"name": "build-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Declare the inputs of the job.\n",
|
||||
"input_model_folder = Input(\n",
|
||||
" path=\"./mnist_models\", type=AssetTypes.URI_FOLDER, mode=InputOutputModes.DOWNLOAD\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"# Declare pipeline structure.\n",
|
||||
"@pipeline(\n",
|
||||
" display_name=\"parallel job for iris batch inferencing\",\n",
|
||||
")\n",
|
||||
"def parallel_job_in_pipeline():\n",
|
||||
" # Declare command job to prepare mnist data\n",
|
||||
" prepare_data = prepare_data_component()\n",
|
||||
"\n",
|
||||
" # Declare parallel inferencing job.\n",
|
||||
" predict_digits_mnist = batch_inferencing_with_mini_batch_size(\n",
|
||||
" job_data_path=prepare_data.outputs.mnist_png,\n",
|
||||
" score_model=input_model_folder,\n",
|
||||
" )\n",
|
||||
"\n",
|
||||
" # User could override parallel job run-level property when invoke that parallel job/component in pipeline.\n",
|
||||
" predict_digits_mnist.resources.instance_count = 2\n",
|
||||
" predict_digits_mnist.max_concurrency_per_instance = 2\n",
|
||||
" predict_digits_mnist.mini_batch_error_threshold = 10\n",
|
||||
" predict_digits_mnist.outputs.job_output_file.path = \"azureml://datastores/${{default_datastore}}/paths/${{name}}/aggregated_returns.csv\"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# Create pipeline instance\n",
|
||||
"my_job = parallel_job_in_pipeline()\n",
|
||||
"\n",
|
||||
"# Set pipeline level compute\n",
|
||||
"my_job.tags.update\n",
|
||||
"my_job.settings.default_compute = \"cpu-cluster\""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675412007635
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"print(my_job)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# 4. Submit pipeline job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"gather": {
|
||||
"logged": 1675654944788
|
||||
},
|
||||
"name": "submit-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pipeline_job = ml_client.jobs.create_or_update(\n",
|
||||
" my_job,\n",
|
||||
" experiment_name=\"hello-world-parallel-job\",\n",
|
||||
")\n",
|
||||
"pipeline_job"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"name": "stream-pipeline"
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# wait until the job completes\n",
|
||||
"ml_client.jobs.stream(pipeline_job.name)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"description": {
|
||||
"description": "Create pipeline with parallel node to do batch inference"
|
||||
},
|
||||
"kernel_info": {
|
||||
"name": "python3"
|
||||
},
|
||||
"kernelspec": {
|
||||
"display_name": "vnext",
|
||||
"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.15"
|
||||
},
|
||||
"microsoft": {
|
||||
"host": {
|
||||
"AzureML": {
|
||||
"notebookHasBeenCompleted": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"nteract": {
|
||||
"version": "nteract-front-end@1.0.0"
|
||||
},
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "f1648a01f415a15976454e88ab551f1eeb39d06522c1fdad5697f49923f4699e"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.data-00000-of-00001
Normal file
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.data-00000-of-00001
Normal file
Двоичный файл не отображается.
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.index
Normal file
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.index
Normal file
Двоичный файл не отображается.
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.meta
Normal file
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/mnist-tf.model.meta
Normal file
Двоичный файл не отображается.
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/saved_model.pb
Normal file
Двоичные данные
sdk/python/jobs/parallel/3a_mnist_batch_identification/mnist_models/saved_model.pb
Normal file
Двоичный файл не отображается.
|
@ -0,0 +1,46 @@
|
|||
# Copyright (c) Microsoft. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import os
|
||||
import numpy as np
|
||||
import argparse
|
||||
import tensorflow as tf
|
||||
from PIL import Image
|
||||
|
||||
|
||||
def init():
|
||||
global g_tf_sess
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
allow_abbrev=False, description="ParallelRunStep Agent"
|
||||
)
|
||||
parser.add_argument("--model", type=str, default=0)
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
# pull down model from workspace
|
||||
model_path = args.model
|
||||
|
||||
# contruct graph to execute
|
||||
tf.reset_default_graph()
|
||||
saver = tf.train.import_meta_graph(os.path.join(model_path, "mnist-tf.model.meta"))
|
||||
g_tf_sess = tf.Session(config=tf.ConfigProto(device_count={"GPU": 0}))
|
||||
saver.restore(g_tf_sess, os.path.join(model_path, "mnist-tf.model"))
|
||||
|
||||
|
||||
def run(mini_batch):
|
||||
print(f"run method start: {__file__}, run({mini_batch})")
|
||||
resultList = []
|
||||
in_tensor = g_tf_sess.graph.get_tensor_by_name("network/X:0")
|
||||
output = g_tf_sess.graph.get_tensor_by_name("network/output/MatMul:0")
|
||||
|
||||
for image in mini_batch:
|
||||
# prepare each image
|
||||
data = Image.open(image)
|
||||
np_im = np.array(data).reshape((1, 784))
|
||||
# perform inference
|
||||
inference_result = output.eval(feed_dict={in_tensor: np_im}, session=g_tf_sess)
|
||||
# find best probability, and add to result list
|
||||
best_result = np.argmax(inference_result)
|
||||
resultList.append("{}: {}".format(os.path.basename(image), best_result))
|
||||
|
||||
return resultList
|
|
@ -0,0 +1,14 @@
|
|||
import yaml
|
||||
import argparse
|
||||
import os
|
||||
|
||||
d = {"paths": [{"file": "./mnist"}]}
|
||||
|
||||
parser = argparse.ArgumentParser(allow_abbrev=False, description="dump mltable")
|
||||
|
||||
parser.add_argument("--output_folder", type=str, default=0)
|
||||
args, _ = parser.parse_known_args()
|
||||
dump_path = os.path.join(args.output_folder, "MLTable")
|
||||
with open(dump_path, "w") as yaml_file:
|
||||
yaml.dump(d, yaml_file, default_flow_style=False)
|
||||
print("Saved MLTable file")
|
|
@ -0,0 +1,17 @@
|
|||
name: prs-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- mlflow
|
||||
- azureml-dataset-runtime[pandas,fuse]
|
||||
- azureml-telemetry
|
||||
- pandas
|
||||
- pillow
|
||||
- azureml-core
|
||||
- scikit-learn~=0.20.0
|
||||
- cloudpickle==1.1.1
|
||||
- tensorflow==1.15.2
|
||||
- protobuf==3.20.0
|
|
@ -0,0 +1,10 @@
|
|||
name: prepare-env
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.7.6
|
||||
- pip
|
||||
- pip:
|
||||
- idx2numpy
|
||||
- pillow
|
||||
- PyYAML
|
|
@ -0,0 +1,28 @@
|
|||
import os
|
||||
import argparse
|
||||
import gzip
|
||||
import idx2numpy
|
||||
import urllib.request
|
||||
from PIL import Image
|
||||
|
||||
parser = argparse.ArgumentParser(allow_abbrev=False, description="parse user arguments")
|
||||
parser.add_argument("--output_folder", type=str, default=0)
|
||||
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
data_folder = os.path.join(args.output_folder, "mnist")
|
||||
os.makedirs(data_folder, exist_ok=True)
|
||||
urllib.request.urlretrieve(
|
||||
"https://azureopendatastorage.blob.core.windows.net/mnist/t10k-images-idx3-ubyte.gz",
|
||||
filename=os.path.join(os.getcwd(), "test-images.gz"),
|
||||
)
|
||||
|
||||
file_handler = gzip.open("test-images.gz", "r")
|
||||
imagearray = idx2numpy.convert_from_file(file_handler)
|
||||
|
||||
# Choose the first 1000 images and save to the output folder.
|
||||
for i in range(1000):
|
||||
im = Image.fromarray(imagearray[i])
|
||||
im.save(os.path.join(data_folder, f"{i}.png"))
|
||||
|
||||
print("Saved 1000 images to the output folder")
|
|
@ -0,0 +1,18 @@
|
|||
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
|
||||
type: command
|
||||
|
||||
name: prepare_data
|
||||
display_name: Prepare mnist data
|
||||
version: 1
|
||||
|
||||
command: >-
|
||||
python prepare_data.py --output_folder ${{outputs.mnist_png}}
|
||||
code: ./
|
||||
outputs:
|
||||
mnist_png:
|
||||
type: uri_folder
|
||||
mode: rw_mount
|
||||
|
||||
environment:
|
||||
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
|
||||
conda_file: ./environment_prepare.yml
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
page_type: sample
|
||||
languages:
|
||||
- python
|
||||
products:
|
||||
- azure-machine-learning
|
||||
description: Directory for AzureML parallel job examples.
|
||||
---
|
||||
|
||||
# AzureML parallel job python SDK (v2) examples
|
||||
|
||||
[![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
|
||||
[![license: MIT](https://img.shields.io/badge/License-MIT-purple.svg)](../LICENSE)
|
||||
|
||||
Welcome to the AzureML parallel job examples repository! The following parallel job examples will provide detailed guidance and best practices for how to parallelize your machine learn tasks to accelerate the execution and save more cost. Each example uses different input data types, data division method, and parallel settings to help you onboard parallel job in different scenarios.
|
||||
|
||||
**Prerequisite**
|
||||
- A basic understanding of Machine Learning
|
||||
- A basic understanding for how AzureML parallel job works - [How to use parallel job in pipeline](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-parallel-job-in-pipeline?tabs=cliv2)
|
||||
- An Azure account with an active subscription - [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F)
|
||||
- An Azure ML workspace with computer cluster - [Configure workspace](../configuration.ipynb)
|
||||
- A python environment
|
||||
- Installed Azure Machine Learning Python SDK v2 - [install instructions](../../README.md#getting-started)
|
||||
|
||||
# Parallel job example list
|
||||
| Example name | Description | Scenario | Parallel task type | Parallel job input type | Data division for mini-batches | Output action |
|
||||
| ------------ | ----------- | -------- | ------------------ | ----------------------- | ------------------------------ | ------------- |
|
||||
| [1a - Orange juice sales prediction](./1a_oj_sales_prediction/README.md) | A pipeline job to train orange juice sales prediction model. Each store and brand need a dedicated model for prediction.<br><br>This pipeline contains 2 steps:<br>1) A command job which read full size of data and partition it to output mltable.<br>2) A parallel job which train model for each partition from mltable. | Many models training | run_function | MLTable with tabular data | by partition_keys | ignore mini-batch returns |
|
||||
| [2a - Iris batch prediction](./2a_iris_batch_prediction/README.md) | A pipeline job with a single parallel step to classify iris. Iris data is stored in csv format and a MLTable artifact file helps the job to load iris data into dataframe. | Batch inferencing | run_function | MLTable with tabular data | by mini_batch_size | aggregate mini-batch returns to single file |
|
||||
| [3a - mnist batch prediction](./3a_mnist_batch_identification/README.md) | A pipeline job to predict mnist images. <br><br>This pipeline contains 2 steps:<br>1) A command job which download mnist images from internet into a folder on data store. <br>2) A parallel job read images from the output folder of previous step then process images in parallel. | Batch inferencing | run_function | uri_folder with image files | by mini_batch_size | aggregate mini-batch returns to single file |
|
|
@ -177,14 +177,11 @@
|
|||
" # Dedicated or LowPriority. The latter is cheaper but there is a chance of job termination\n",
|
||||
" tier=\"Dedicated\",\n",
|
||||
" )\n",
|
||||
|
||||
" print(\n",
|
||||
" f\"AMLCompute with name {cpu_cluster.name} will be created, with compute size {cpu_cluster.size}\"\n",
|
||||
" )",
|
||||
"\n",
|
||||
" f\"AMLCompute with name {cpu_cluster.name} will be created, with compute size {cpu_cluster.size}\"\n",
|
||||
" )\n",
|
||||
" # Now, we pass the object to MLClient's create_or_update method\n",
|
||||
" cpu_cluster = ml_client.compute.begin_create_or_update(cpu_cluster)\n",
|
||||
"\n"
|
||||
" cpu_cluster = ml_client.compute.begin_create_or_update(cpu_cluster)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче