Coursera

Ungraded Lab: Feature Engineering with Images

In this optional notebook, you will be looking at how to prepare features with an image dataset, particularly CIFAR-10. You will mostly go through the same steps but you will need to add parser functions in your transform module to successfully read and convert the data. As with the previous notebooks, we will just go briefly over the early stages of the pipeline so you can focus on the Transform component.

Let’s begin!

Imports

import os
import pprint
import tempfile
import urllib

import absl
import tensorflow as tf
tf.get_logger().propagate = False
pp = pprint.PrettyPrinter()

from tfx import v1 as tfx

from tfx.orchestration.experimental.interactive.interactive_context import InteractiveContext
from tfx.types import Channel

from google.protobuf.json_format import MessageToDict

print('TensorFlow version: {}'.format(tf.__version__))
print('TFX version: {}'.format(tfx.__version__))
TensorFlow version: 2.6.0
TFX version: 1.3.0

Set up pipeline paths

# Location of the pipeline metadata store
_pipeline_root = './pipeline/'

# Data files directory
_data_root = './data/cifar10'

# Path to the training data
_data_filepath = os.path.join(_data_root, 'train.tfrecord')

Download example data

We will download the training split of the CIFAR-10 dataset and save it to the _data_filepath. Take note that this is already in TFRecord format so we won’t need to convert it when we use ExampleGen later.

# Create data folder for the images
!mkdir -p {_data_root}

# URL of the hosted dataset
DATA_PATH = 'https://raw.githubusercontent.com/tensorflow/tfx/v0.21.4/tfx/examples/cifar10/data/train.tfrecord'

# Download the dataset and save locally
urllib.request.urlretrieve(DATA_PATH, _data_filepath)
('./data/cifar10/train.tfrecord', <http.client.HTTPMessage at 0x7f2490548dc0>)

Create the InteractiveContext

# Initialize the InteractiveContext
context = InteractiveContext(pipeline_root=_pipeline_root)
WARNING:absl:InteractiveContext metadata_connection_config not provided: using SQLite ML Metadata database at ./pipeline/metadata.sqlite.

Run TFX components interactively

ExampleGen

As mentioned earlier, the dataset is already in TFRecord format so, unlike the previous TFX labs, there is no need to convert it when we ingest the data. You can simply import it with ImportExampleGen and here is the syntax and modules for that.

# Ingest the data through ExampleGen
example_gen = tfx.components.ImportExampleGen(input_base=_data_root)

# Run the component
context.run(example_gen)
WARNING:root:Make sure that locally built Python SDK docker image has Python 3.8 interpreter.
<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
ExecutionResult at 0x7f2473766e20
.execution_id1
.component<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.inputs{}
.component.outputs
['examples']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }

As usual, this component produces two artifacts, training examples and evaluation examples:

# Print split names and URI
artifact = example_gen.outputs['examples'].get()[0]
print(artifact.split_names, artifact.uri)
["train", "eval"] ./pipeline/ImportExampleGen/examples/1

You can also take a look at the first three training examples ingested by using the tf.io.parse_single_example() method from the tf.io module. See how it is setup in the cell below.

import IPython.display as display

# Get the URI of the output artifact representing the training examples, which is a directory
train_uri = os.path.join(example_gen.outputs['examples'].get()[0].uri, 'Split-train')

# Get the list of files in this directory (all compressed TFRecord files)
tfrecord_filenames = [os.path.join(train_uri, name)
                      for name in os.listdir(train_uri)]

# Create a `TFRecordDataset` to read these files
dataset = tf.data.TFRecordDataset(tfrecord_filenames, compression_type="GZIP")

# Description per example
image_feature_description = {
    'label': tf.io.FixedLenFeature([], tf.int64),
    'image_raw': tf.io.FixedLenFeature([], tf.string),
}

# Image parser function
def _parse_image_function(example_proto):
  # Parse the input tf.Example proto using the dictionary above.
  return tf.io.parse_single_example(example_proto, image_feature_description)

# Map the parser to the dataset
parsed_image_dataset = dataset.map(_parse_image_function)

# Display the first three images
for features in parsed_image_dataset.take(3):
    image_raw = features['image_raw'].numpy()
    display.display(display.Image(data=image_raw))
    pprint.pprint('Class ID: {}'.format(features['label'].numpy()))

jpeg

'Class ID: 1'

jpeg

'Class ID: 8'

jpeg

'Class ID: 3'

StatisticsGen

Next, you will generate the statistics so you can infer a schema in the next step. You can also look at the visualization of the statistics. As you might expect with CIFAR-10, there is a column for the image and another column for the numeric label.

# Run StatisticsGen
statistics_gen = tfx.components.StatisticsGen(
    examples=example_gen.outputs['examples'])

context.run(statistics_gen)
WARNING:root:Make sure that locally built Python SDK docker image has Python 3.8 interpreter.
<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
ExecutionResult at 0x7f230f01aca0
.execution_id2
.component<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.inputs
['examples']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.outputs
['statistics']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
# Visualize the results
context.show(statistics_gen.outputs['statistics'])

Artifact at ./pipeline/StatisticsGen/statistics/2

'train' split:

<iframe id='facets-iframe' width="100%" height="500px"> <script> facets_iframe = document.getElementById('facets-iframe'); facets_html = '<script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"><\/script>'; facets_iframe.srcdoc = facets_html; facets_iframe.id = ""; setTimeout(() => { facets_iframe.setAttribute('height', facets_iframe.contentWindow.document.body.offsetHeight + 'px') }, 1500)
'eval' split:

<iframe id='facets-iframe' width="100%" height="500px"> <script> facets_iframe = document.getElementById('facets-iframe'); facets_html = '<script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"><\/script>'; facets_iframe.srcdoc = facets_html; facets_iframe.id = ""; setTimeout(() => { facets_iframe.setAttribute('height', facets_iframe.contentWindow.document.body.offsetHeight + 'px') }, 1500)

SchemaGen

Here, you pass in the statistics to generate the Schema. For the version of TFX you are using, you will have to explicitly set infer_feature_shape=True so the downstream TFX components (e.g. Transform) will parse input as a Tensor and not SparseTensor. If not set, you will have compatibility issues later when you run the transform.

# Run SchemaGen
schema_gen = tfx.components.SchemaGen(
      statistics=statistics_gen.outputs['statistics'], infer_feature_shape=True)
context.run(schema_gen)
<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
ExecutionResult at 0x7f247353dc70
.execution_id3
.component<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.inputs
['statistics']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.outputs
['schema']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
# Visualize the results
context.show(schema_gen.outputs['schema'])

Artifact at ./pipeline/SchemaGen/schema/3

<style scoped> .dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}
Type Presence Valency Domain
Feature name
'image_raw' BYTES required -
'label' INT required -

ExampleValidator

ExampleValidator is not required but you can still run it just to make sure that there are no anomalies.

# Run ExampleValidator
example_validator = tfx.components.ExampleValidator(
    statistics=statistics_gen.outputs['statistics'],
    schema=schema_gen.outputs['schema'])
context.run(example_validator)
<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
ExecutionResult at 0x7f2490541c40
.execution_id4
.component<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.inputs
['statistics']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['schema']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.outputs
['anomalies']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
# Visualize the results. There should be no anomalies.
context.show(example_validator.outputs['anomalies'])

Artifact at ./pipeline/ExampleValidator/anomalies/4

'train' split:

No anomalies found.

'eval' split:

No anomalies found.

Transform

To successfully transform the raw image, you need to parse the current bytes format and convert it to a tensor. For that, you can use the tf.image.decode_image() function. The transform module below utilizes this and converts the image to a (32,32,3) shaped float tensor. It also scales the pixels and converts the labels to one-hot tensors. The output features should then be ready to pass on to a model that accepts this format.

_transform_module_file = 'cifar10_transform.py'
%%writefile {_transform_module_file}

import tensorflow as tf
import tensorflow_transform as tft

# Keys
_LABEL_KEY = 'label'
_IMAGE_KEY = 'image_raw'


def _transformed_name(key):
    return key + '_xf'

def _image_parser(image_str):
    '''converts the images to a float tensor'''
    image = tf.image.decode_image(image_str, channels=3)
    image = tf.reshape(image, (32, 32, 3))
    image = tf.cast(image, tf.float32)
    return image


def _label_parser(label_id):
    '''one hot encodes the labels'''
    label = tf.one_hot(label_id, 10)
    return label


def preprocessing_fn(inputs):
    """tf.transform's callback function for preprocessing inputs.
    Args:
        inputs: map from feature keys to raw not-yet-transformed features.
    Returns:
        Map from string feature key to transformed feature operations.
    """
    
    # Convert the raw image and labels to a float array and
    # one-hot encoded labels, respectively.
    with tf.device("/cpu:0"):
        outputs = {
            _transformed_name(_IMAGE_KEY):
                tf.map_fn(
                    _image_parser,
                    tf.squeeze(inputs[_IMAGE_KEY], axis=1),
                    dtype=tf.float32),
            _transformed_name(_LABEL_KEY):
                tf.map_fn(
                    _label_parser,
                    tf.squeeze(inputs[_LABEL_KEY], axis=1),
                    dtype=tf.float32)
        }
    
    # scale the pixels from 0 to 1
    outputs[_transformed_name(_IMAGE_KEY)] = tft.scale_to_0_1(outputs[_transformed_name(_IMAGE_KEY)])
    
    return outputs
Writing cifar10_transform.py

Now, we pass in this feature engineering code to the Transform component and run it to transform your data.

# Ignore TF warning messages
tf.get_logger().setLevel('ERROR')

# Setup the Transform component
transform = tfx.components.Transform(
    examples=example_gen.outputs['examples'],
    schema=schema_gen.outputs['schema'],
    module_file=os.path.abspath(_transform_module_file))

# Run the component
context.run(transform)
WARNING:root:This output type hint will be ignored and not used for type-checking purposes. Typically, output type hints for a PTransform are single (or nested) types wrapped by a PCollection, PDone, or None. Got: Tuple[Dict[str, Union[NoneType, _Dataset]], Union[Dict[str, Dict[str, PCollection]], NoneType], int] instead.
WARNING:root:This output type hint will be ignored and not used for type-checking purposes. Typically, output type hints for a PTransform are single (or nested) types wrapped by a PCollection, PDone, or None. Got: Tuple[Dict[str, Union[NoneType, _Dataset]], Union[Dict[str, Dict[str, PCollection]], NoneType], int] instead.
WARNING:root:Make sure that locally built Python SDK docker image has Python 3.8 interpreter.
<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
ExecutionResult at 0x7f246a5b1220
.execution_id5
.component<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.inputs
['examples']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['schema']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
.component.outputs
['transform_graph']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['transformed_examples']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['updated_analyzer_cache']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['pre_transform_schema']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['pre_transform_stats']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['post_transform_schema']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['post_transform_stats']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }
['post_transform_anomalies']<style> .tfx-object.expanded { padding: 4px 8px 4px 8px; background: white; border: 1px solid #bbbbbb; box-shadow: 4px 4px 2px rgba(0,0,0,0.05); } .tfx-object, .tfx-object * { font-size: 11pt; } .tfx-object > .title { cursor: pointer; } .tfx-object .expansion-marker { color: #999999; } .tfx-object.expanded > .title > .expansion-marker:before { content: '▼'; } .tfx-object.collapsed > .title > .expansion-marker:before { content: '▶'; } .tfx-object .class-name { font-weight: bold; } .tfx-object .deemphasize { opacity: 0.5; } .tfx-object.collapsed > table.attr-table { display: none; } .tfx-object.expanded > table.attr-table { display: block; } .tfx-object table.attr-table { border: 2px solid white; margin-top: 5px; } .tfx-object table.attr-table td.attr-name { vertical-align: top; font-weight: bold; } .tfx-object table.attr-table td.attrvalue { text-align: left; } <script> function toggleTfxObject(element) { var objElement = element.parentElement; if (objElement.classList.contains('collapsed')) { objElement.classList.remove('collapsed'); objElement.classList.add('expanded'); } else { objElement.classList.add('collapsed'); objElement.classList.remove('expanded'); } }

Preview the results

Now that the Transform component is finished, you can preview how the transformed images and labels look like. You can use the same sequence and helper function from previous labs.

# Get the URI of the output artifact representing the transformed examples, which is a directory
train_uri = os.path.join(transform.outputs['transformed_examples'].get()[0].uri, 'Split-train')

# Get the list of files in this directory (all compressed TFRecord files)
tfrecord_filenames = [os.path.join(train_uri, name)
                      for name in os.listdir(train_uri)]

# Create a `TFRecordDataset` to read these files
dataset = tf.data.TFRecordDataset(tfrecord_filenames, compression_type="GZIP")
# Define a helper function to get individual examples
def get_records(dataset, num_records):
    '''Extracts records from the given dataset.
    Args:
        dataset (TFRecordDataset): dataset saved by ExampleGen
        num_records (int): number of records to preview
    '''
    
    # initialize an empty list
    records = []
    
    # Use the `take()` method to specify how many records to get
    for tfrecord in dataset.take(num_records):
        
        # Get the numpy property of the tensor
        serialized_example = tfrecord.numpy()
        
        # Initialize a `tf.train.Example()` to read the serialized data
        example = tf.train.Example()
        
        # Read the example data (output is a protocol buffer message)
        example.ParseFromString(serialized_example)
        
        # convert the protocol bufffer message to a Python dictionary
        example_dict = (MessageToDict(example))
        
        # append to the records list
        records.append(example_dict)
        
    return records

You should see from the output of the cell below that the transformed raw image (i.e. image_raw_xf) now has a float array that is scaled from 0 to 1. Similarly, you’ll see that the transformed label (i.e. label_xf) is now one-hot encoded.

# Get 1 record from the dataset
sample_records = get_records(dataset, 1)

# Print the output
pp.pprint(sample_records)
[{'features': {'feature': {'image_raw_xf': {'floatList': {'value': [0.16470589,
                                                                    0.09019608,
                                                                    0.0627451,
                                                                    0.2627451,
                                                                    0.2,
                                                                    0.14901961,
                                                                    0.28627452,
                                                                    0.22352941,
                                                                    0.16078432,
                                                                    0.29803923,
                                                                    0.2509804,
                                                                    0.16470589,
                                                                    0.36862746,
                                                                    0.3019608,
                                                                    0.23921569,
                                                                    0.36862746,
                                                                    0.29803923,
                                                                    0.24313726,
                                                                    0.28627452,
                                                                    0.21176471,
                                                                    0.18431373,
                                                                    0.32941177,
                                                                    0.2627451,
                                                                    0.23137255,
                                                                    0.3254902,
                                                                    0.2784314,
                                                                    0.22352941,
                                                                    0.12941177,
                                                                    0.09803922,
                                                                    0.047058824,
                                                                    0.07450981,
                                                                    0.05490196,
                                                                    0.043137256,
                                                                    0.09411765,
                                                                    0.078431375,
                                                                    0.06666667,
                                                                    0.15294118,
                                                                    0.1254902,
                                                                    0.101960786,
                                                                    0.22745098,
                                                                    0.1882353,
                                                                    0.14901961,
                                                                    0.16862746,
                                                                    0.101960786,
                                                                    0.07058824,
                                                                    0.16862746,
                                                                    0.09019608,
                                                                    0.0627451,
                                                                    0.23529412,
                                                                    0.13725491,
                                                                    0.14901961,
                                                                    0.12941177,
                                                                    0.050980393,
                                                                    0.05490196,
                                                                    0.14901961,
                                                                    0.09803922,
                                                                    0.07450981,
                                                                    0.15294118,
                                                                    0.12941177,
                                                                    0.08235294,
                                                                    0.25882354,
                                                                    0.2509804,
                                                                    0.2,
                                                                    0.21960784,
                                                                    0.22352941,
                                                                    0.16078432,
                                                                    0.24705882,
                                                                    0.23137255,
                                                                    0.18431373,
                                                                    0.22745098,
                                                                    0.20392157,
                                                                    0.15686275,
                                                                    0.23529412,
                                                                    0.18039216,
                                                                    0.14509805,
                                                                    0.2509804,
                                                                    0.19607843,
                                                                    0.14509805,
                                                                    0.24705882,
                                                                    0.21568628,
                                                                    0.13333334,
                                                                    0.23529412,
                                                                    0.19607843,
                                                                    0.09019608,
                                                                    0.3529412,
                                                                    0.27058825,
                                                                    0.16470589,
                                                                    0.5019608,
                                                                    0.40784314,
                                                                    0.30588236,
                                                                    0.40392157,
                                                                    0.31764707,
                                                                    0.23529412,
                                                                    0.36078432,
                                                                    0.2784314,
                                                                    0.20392157,
                                                                    0.22352941,
                                                                    0.14509805,
                                                                    0.10980392,
                                                                    0.3254902,
                                                                    0.25490198,
                                                                    0.20784314,
                                                                    0.2901961,
                                                                    0.23921569,
                                                                    0.1764706,
                                                                    0.23921569,
                                                                    0.19607843,
                                                                    0.1254902,
                                                                    0.27450982,
                                                                    0.21176471,
                                                                    0.15294118,
                                                                    0.29803923,
                                                                    0.23529412,
                                                                    0.1764706,
                                                                    0.36862746,
                                                                    0.29803923,
                                                                    0.2509804,
                                                                    0.40784314,
                                                                    0.34509805,
                                                                    0.29411766,
                                                                    0.34117648,
                                                                    0.2901961,
                                                                    0.22745098,
                                                                    0.1254902,
                                                                    0.08627451,
                                                                    0.039215688,
                                                                    0.09411765,
                                                                    0.0627451,
                                                                    0.050980393,
                                                                    0.08627451,
                                                                    0.07058824,
                                                                    0.05882353,
                                                                    0.14117648,
                                                                    0.12941177,
                                                                    0.09411765,
                                                                    0.21568628,
                                                                    0.19215687,
                                                                    0.14509805,
                                                                    0.22352941,
                                                                    0.1764706,
                                                                    0.12941177,
                                                                    0.2,
                                                                    0.13333334,
                                                                    0.101960786,
                                                                    0.21960784,
                                                                    0.14509805,
                                                                    0.12941177,
                                                                    0.14901961,
                                                                    0.09019608,
                                                                    0.07058824,
                                                                    0.101960786,
                                                                    0.06666667,
                                                                    0.03137255,
                                                                    0.09019608,
                                                                    0.07450981,
                                                                    0.03137255,
                                                                    0.13333334,
                                                                    0.13333334,
                                                                    0.08627451,
                                                                    0.16470589,
                                                                    0.16470589,
                                                                    0.11764706,
                                                                    0.14901961,
                                                                    0.14117648,
                                                                    0.09411765,
                                                                    0.105882354,
                                                                    0.09019608,
                                                                    0.043137256,
                                                                    0.08235294,
                                                                    0.047058824,
                                                                    0.011764706,
                                                                    0.16470589,
                                                                    0.1254902,
                                                                    0.08627451,
                                                                    0.23529412,
                                                                    0.2,
                                                                    0.13333334,
                                                                    0.28235295,
                                                                    0.23529412,
                                                                    0.14901961,
                                                                    0.31764707,
                                                                    0.23137255,
                                                                    0.13725491,
                                                                    0.40784314,
                                                                    0.3137255,
                                                                    0.21176471,
                                                                    0.49803922,
                                                                    0.41960785,
                                                                    0.3254902,
                                                                    0.41568628,
                                                                    0.34509805,
                                                                    0.2509804,
                                                                    0.3372549,
                                                                    0.2509804,
                                                                    0.19607843,
                                                                    0.40784314,
                                                                    0.3372549,
                                                                    0.28235295,
                                                                    0.3254902,
                                                                    0.28627452,
                                                                    0.23921569,
                                                                    0.18039216,
                                                                    0.14901961,
                                                                    0.105882354,
                                                                    0.20784314,
                                                                    0.16078432,
                                                                    0.11372549,
                                                                    0.27058825,
                                                                    0.21960784,
                                                                    0.15686275,
                                                                    0.42352942,
                                                                    0.3647059,
                                                                    0.28235295,
                                                                    0.4627451,
                                                                    0.39607844,
                                                                    0.31764707,
                                                                    0.30980393,
                                                                    0.24313726,
                                                                    0.17254902,
                                                                    0.13333334,
                                                                    0.06666667,
                                                                    0.02745098,
                                                                    0.07450981,
                                                                    0.039215688,
                                                                    0.019607844,
                                                                    0.06666667,
                                                                    0.05490196,
                                                                    0.03529412,
                                                                    0.12156863,
                                                                    0.12941177,
                                                                    0.07450981,
                                                                    0.17254902,
                                                                    0.1764706,
                                                                    0.105882354,
                                                                    0.19215687,
                                                                    0.16862746,
                                                                    0.11372549,
                                                                    0.14509805,
                                                                    0.11372549,
                                                                    0.0627451,
                                                                    0.16470589,
                                                                    0.12941177,
                                                                    0.07058824,
                                                                    0.15294118,
                                                                    0.12156863,
                                                                    0.07058824,
                                                                    0.10980392,
                                                                    0.101960786,
                                                                    0.050980393,
                                                                    0.07450981,
                                                                    0.08235294,
                                                                    0.039215688,
                                                                    0.08235294,
                                                                    0.08627451,
                                                                    0.0627451,
                                                                    0.14117648,
                                                                    0.13725491,
                                                                    0.11764706,
                                                                    0.10980392,
                                                                    0.10980392,
                                                                    0.07058824,
                                                                    0.0627451,
                                                                    0.0627451,
                                                                    0.015686275,
                                                                    0.043137256,
                                                                    0.047058824,
                                                                    0.015686275,
                                                                    0.09803922,
                                                                    0.08627451,
                                                                    0.05882353,
                                                                    0.2,
                                                                    0.16078432,
                                                                    0.1254902,
                                                                    0.27058825,
                                                                    0.2,
                                                                    0.14509805,
                                                                    0.32941177,
                                                                    0.23137255,
                                                                    0.15294118,
                                                                    0.30980393,
                                                                    0.21568628,
                                                                    0.11372549,
                                                                    0.34901962,
                                                                    0.27450982,
                                                                    0.15686275,
                                                                    0.40392157,
                                                                    0.34509805,
                                                                    0.22352941,
                                                                    0.30588236,
                                                                    0.21960784,
                                                                    0.16470589,
                                                                    0.2784314,
                                                                    0.21568628,
                                                                    0.15686275,
                                                                    0.23137255,
                                                                    0.20784314,
                                                                    0.16078432,
                                                                    0.14901961,
                                                                    0.13725491,
                                                                    0.101960786,
                                                                    0.22745098,
                                                                    0.2,
                                                                    0.16078432,
                                                                    0.25490198,
                                                                    0.21568628,
                                                                    0.16862746,
                                                                    0.24313726,
                                                                    0.21176471,
                                                                    0.12941177,
                                                                    0.25490198,
                                                                    0.21176471,
                                                                    0.1254902,
                                                                    0.23921569,
                                                                    0.1764706,
                                                                    0.11372549,
                                                                    0.18039216,
                                                                    0.1254902,
                                                                    0.08235294,
                                                                    0.11372549,
                                                                    0.08627451,
                                                                    0.0627451,
                                                                    0.09803922,
                                                                    0.09803922,
                                                                    0.06666667,
                                                                    0.09803922,
                                                                    0.105882354,
                                                                    0.050980393,
                                                                    0.10980392,
                                                                    0.12156863,
                                                                    0.05490196,
                                                                    0.105882354,
                                                                    0.09803922,
                                                                    0.047058824,
                                                                    0.13725491,
                                                                    0.11372549,
                                                                    0.05882353,
                                                                    0.1254902,
                                                                    0.09803922,
                                                                    0.03529412,
                                                                    0.13725491,
                                                                    0.1254902,
                                                                    0.05882353,
                                                                    0.14509805,
                                                                    0.15686275,
                                                                    0.09019608,
                                                                    0.101960786,
                                                                    0.11764706,
                                                                    0.0627451,
                                                                    0.08627451,
                                                                    0.08627451,
                                                                    0.078431375,
                                                                    0.101960786,
                                                                    0.09803922,
                                                                    0.09019608,
                                                                    0.10980392,
                                                                    0.09803922,
                                                                    0.078431375,
                                                                    0.09019608,
                                                                    0.078431375,
                                                                    0.050980393,
                                                                    0.06666667,
                                                                    0.07058824,
                                                                    0.047058824,
                                                                    0.11372549,
                                                                    0.101960786,
                                                                    0.07450981,
                                                                    0.25490198,
                                                                    0.1882353,
                                                                    0.16078432,
                                                                    0.4117647,
                                                                    0.31764707,
                                                                    0.2784314,
                                                                    0.48235294,
                                                                    0.3764706,
                                                                    0.3019608,
                                                                    0.52156866,
                                                                    0.42745098,
                                                                    0.33333334,
                                                                    0.5921569,
                                                                    0.5254902,
                                                                    0.41568628,
                                                                    0.6901961,
                                                                    0.6313726,
                                                                    0.50980395,
                                                                    0.23529412,
                                                                    0.16078432,
                                                                    0.105882354,
                                                                    0.13725491,
                                                                    0.09019608,
                                                                    0.03529412,
                                                                    0.11372549,
                                                                    0.105882354,
                                                                    0.05882353,
                                                                    0.06666667,
                                                                    0.078431375,
                                                                    0.043137256,
                                                                    0.12156863,
                                                                    0.11764706,
                                                                    0.101960786,
                                                                    0.14117648,
                                                                    0.13725491,
                                                                    0.11764706,
                                                                    0.09411765,
                                                                    0.101960786,
                                                                    0.050980393,
                                                                    0.09019608,
                                                                    0.09411765,
                                                                    0.039215688,
                                                                    0.15294118,
                                                                    0.12941177,
                                                                    0.07450981,
                                                                    0.15686275,
                                                                    0.1254902,
                                                                    0.08235294,
                                                                    0.105882354,
                                                                    0.09019608,
                                                                    0.05490196,
                                                                    0.101960786,
                                                                    0.101960786,
                                                                    0.07058824,
                                                                    0.08235294,
                                                                    0.08627451,
                                                                    0.05490196,
                                                                    0.08235294,
                                                                    0.09019608,
                                                                    0.047058824,
                                                                    0.09411765,
                                                                    0.08235294,
                                                                    0.047058824,
                                                                    0.15294118,
                                                                    0.1254902,
                                                                    0.09411765,
                                                                    0.13333334,
                                                                    0.09803922,
                                                                    0.0627451,
                                                                    0.13725491,
                                                                    0.11372549,
                                                                    0.06666667,
                                                                    0.15294118,
                                                                    0.15686275,
                                                                    0.09411765,
                                                                    0.12156863,
                                                                    0.12941177,
                                                                    0.07450981,
                                                                    0.101960786,
                                                                    0.09803922,
                                                                    0.08235294,
                                                                    0.09411765,
                                                                    0.07058824,
                                                                    0.078431375,
                                                                    0.1254902,
                                                                    0.08627451,
                                                                    0.08235294,
                                                                    0.14117648,
                                                                    0.101960786,
                                                                    0.09411765,
                                                                    0.11372549,
                                                                    0.09411765,
                                                                    0.07058824,
                                                                    0.15294118,
                                                                    0.11372549,
                                                                    0.078431375,
                                                                    0.3372549,
                                                                    0.23137255,
                                                                    0.1882353,
                                                                    0.50980395,
                                                                    0.38431373,
                                                                    0.3254902,
                                                                    0.56078434,
                                                                    0.4509804,
                                                                    0.36862746,
                                                                    0.6117647,
                                                                    0.5137255,
                                                                    0.42745098,
                                                                    0.5764706,
                                                                    0.5058824,
                                                                    0.42745098,
                                                                    0.53333336,
                                                                    0.4745098,
                                                                    0.39215687,
                                                                    0.32156864,
                                                                    0.22745098,
                                                                    0.1254902,
                                                                    0.18431373,
                                                                    0.11764706,
                                                                    0.015686275,
                                                                    0.101960786,
                                                                    0.07450981,
                                                                    0.0,
                                                                    0.07450981,
                                                                    0.05490196,
                                                                    0.0,
                                                                    0.050980393,
                                                                    0.023529412,
                                                                    0.0,
                                                                    0.05882353,
                                                                    0.03529412,
                                                                    0.0,
                                                                    0.07058824,
                                                                    0.07450981,
                                                                    0.019607844,
                                                                    0.08235294,
                                                                    0.09019608,
                                                                    0.03529412,
                                                                    0.11372549,
                                                                    0.09803922,
                                                                    0.05490196,
                                                                    0.10980392,
                                                                    0.08235294,
                                                                    0.050980393,
                                                                    0.09803922,
                                                                    0.078431375,
                                                                    0.05490196,
                                                                    0.078431375,
                                                                    0.06666667,
                                                                    0.039215688,
                                                                    0.09019608,
                                                                    0.09019608,
                                                                    0.05882353,
                                                                    0.09411765,
                                                                    0.09411765,
                                                                    0.0627451,
                                                                    0.12156863,
                                                                    0.10980392,
                                                                    0.08235294,
                                                                    0.11764706,
                                                                    0.09803922,
                                                                    0.07450981,
                                                                    0.13725491,
                                                                    0.10980392,
                                                                    0.078431375,
                                                                    0.1254902,
                                                                    0.10980392,
                                                                    0.06666667,
                                                                    0.1254902,
                                                                    0.12941177,
                                                                    0.05882353,
                                                                    0.1254902,
                                                                    0.12941177,
                                                                    0.06666667,
                                                                    0.11764706,
                                                                    0.09803922,
                                                                    0.07450981,
                                                                    0.12156863,
                                                                    0.09019608,
                                                                    0.08235294,
                                                                    0.1254902,
                                                                    0.078431375,
                                                                    0.078431375,
                                                                    0.14117648,
                                                                    0.09803922,
                                                                    0.08235294,
                                                                    0.105882354,
                                                                    0.07058824,
                                                                    0.03529412,
                                                                    0.13725491,
                                                                    0.09019608,
                                                                    0.03529412,
                                                                    0.28235295,
                                                                    0.19215687,
                                                                    0.13725491,
                                                                    0.42352942,
                                                                    0.31764707,
                                                                    0.2509804,
                                                                    0.5411765,
                                                                    0.45490196,
                                                                    0.3647059,
                                                                    0.6156863,
                                                                    0.5372549,
                                                                    0.44313726,
                                                                    0.5529412,
                                                                    0.4745098,
                                                                    0.38039216,
                                                                    0.45490196,
                                                                    0.3882353,
                                                                    0.28627452,
                                                                    0.41960785,
                                                                    0.27058825,
                                                                    0.08627451,
                                                                    0.29411766,
                                                                    0.16078432,
                                                                    0.0,
                                                                    0.22745098,
                                                                    0.1254902,
                                                                    0.0,
                                                                    0.30980393,
                                                                    0.21960784,
                                                                    0.023529412,
                                                                    0.34901962,
                                                                    0.23921569,
                                                                    0.05490196,
                                                                    0.24313726,
                                                                    0.15294118,
                                                                    0.0,
                                                                    0.18039216,
                                                                    0.13725491,
                                                                    0.02745098,
                                                                    0.16862746,
                                                                    0.14117648,
                                                                    0.07058824,
                                                                    0.1254902,
                                                                    0.08627451,
                                                                    0.050980393,
                                                                    0.16078432,
                                                                    0.11764706,
                                                                    0.101960786,
                                                                    0.18431373,
                                                                    0.14509805,
                                                                    0.13725491,
                                                                    0.105882354,
                                                                    0.078431375,
                                                                    0.05490196,
                                                                    0.11372549,
                                                                    0.09411765,
                                                                    0.07058824,
                                                                    0.09411765,
                                                                    0.08235294,
                                                                    0.047058824,
                                                                    0.1254902,
                                                                    0.11372549,
                                                                    0.078431375,
                                                                    0.105882354,
                                                                    0.105882354,
                                                                    0.06666667,
                                                                    0.13725491,
                                                                    0.12941177,
                                                                    0.08235294,
                                                                    0.14901961,
                                                                    0.14117648,
                                                                    0.09019608,
                                                                    0.15686275,
                                                                    0.15294118,
                                                                    0.07450981,
                                                                    0.13333334,
                                                                    0.12156863,
                                                                    0.047058824,
                                                                    0.11764706,
                                                                    0.09411765,
                                                                    0.039215688,
                                                                    0.13725491,
                                                                    0.101960786,
                                                                    0.06666667,
                                                                    0.12941177,
                                                                    0.09019608,
                                                                    0.05490196,
                                                                    0.105882354,
                                                                    0.06666667,
                                                                    0.02745098,
                                                                    0.19607843,
                                                                    0.1764706,
                                                                    0.101960786,
                                                                    0.16078432,
                                                                    0.13333334,
                                                                    0.05882353,
                                                                    0.23921569,
                                                                    0.19607843,
                                                                    0.1254902,
                                                                    0.40784314,
                                                                    0.35686275,
                                                                    0.2901961,
                                                                    0.33333334,
                                                                    0.28627452,
                                                                    0.2,
                                                                    0.30980393,
                                                                    0.2509804,
                                                                    0.13725491,
                                                                    0.4745098,
                                                                    0.3882353,
                                                                    0.23529412,
                                                                    0.52156866,
                                                                    0.42745098,
                                                                    0.24705882,
                                                                    0.48235294,
                                                                    0.30588236,
                                                                    0.08235294,
                                                                    0.48235294,
                                                                    0.31764707,
                                                                    0.09019608,
                                                                    0.44705883,
                                                                    0.29803923,
                                                                    0.05490196,
                                                                    0.49411765,
                                                                    0.34509805,
                                                                    0.09803922,
                                                                    0.5568628,
                                                                    0.39607844,
                                                                    0.15294118,
                                                                    0.40784314,
                                                                    0.26666668,
                                                                    0.0627451,
                                                                    0.22352941,
                                                                    0.14509805,
                                                                    0.015686275,
                                                                    0.15686275,
                                                                    0.11372549,
                                                                    0.043137256,
                                                                    0.101960786,
                                                                    0.0627451,
                                                                    0.023529412,
                                                                    0.18039216,
                                                                    0.14509805,
                                                                    0.11764706,
                                                                    0.1882353,
                                                                    0.15294118,
                                                                    0.1254902,
                                                                    0.078431375,
                                                                    0.050980393,
                                                                    0.019607844,
                                                                    0.105882354,
                                                                    0.09019608,
                                                                    0.05490196,
                                                                    0.105882354,
                                                                    0.09019608,
                                                                    0.047058824,
                                                                    0.12156863,
                                                                    0.105882354,
                                                                    0.0627451,
                                                                    0.12941177,
                                                                    0.11764706,
                                                                    0.05882353,
                                                                    0.17254902,
                                                                    0.16470589,
                                                                    0.08235294,
                                                                    0.22745098,
                                                                    0.21176471,
                                                                    0.11372549,
                                                                    0.2509804,
                                                                    0.22745098,
                                                                    0.13333334,
                                                                    0.17254902,
                                                                    0.14117648,
                                                                    0.05882353,
                                                                    0.15294118,
                                                                    0.11764706,
                                                                    0.050980393,
                                                                    0.1882353,
                                                                    0.15294118,
                                                                    0.09411765,
                                                                    0.2,
                                                                    0.16078432,
                                                                    0.11372549,
                                                                    0.15686275,
                                                                    0.12156863,
                                                                    0.0627451,
                                                                    0.33333334,
                                                                    0.30980393,
                                                                    0.21568628,
                                                                    0.18039216,
                                                                    0.16470589,
                                                                    0.06666667,
                                                                    0.12156863,
                                                                    0.09411765,
                                                                    0.023529412,
                                                                    0.15686275,
                                                                    0.1254902,
                                                                    0.050980393,
                                                                    0.11372549,
                                                                    0.06666667,
                                                                    0.0,
                                                                    0.3764706,
                                                                    0.30588236,
                                                                    0.16470589,
                                                                    0.57254905,
                                                                    0.46666667,
                                                                    0.25882354,
                                                                    0.5568628,
                                                                    0.43137255,
                                                                    0.19215687,
                                                                    0.4,
                                                                    0.21568628,
                                                                    0.011764706,
                                                                    0.4392157,
                                                                    0.2627451,
                                                                    0.047058824,
                                                                    0.4627451,
                                                                    0.28627452,
                                                                    0.05490196,
                                                                    0.4627451,
                                                                    0.2901961,
                                                                    0.043137256,
                                                                    0.45490196,
                                                                    0.26666668,
                                                                    0.023529412,
                                                                    0.35686275,
                                                                    0.19215687,
                                                                    0.0,
                                                                    0.16862746,
                                                                    0.06666667,
                                                                    0.0,
                                                                    0.105882354,
                                                                    0.05490196,
                                                                    0.0,
                                                                    0.1254902,
                                                                    0.09803922,
                                                                    0.03529412,
                                                                    0.23921569,
                                                                    0.22745098,
                                                                    0.16078432,
                                                                    0.12156863,
                                                                    0.1254902,
                                                                    0.0627451,
                                                                    0.0627451,
                                                                    0.06666667,
                                                                    0.003921569,
                                                                    0.09411765,
                                                                    0.08627451,
                                                                    0.039215688,
                                                                    0.101960786,
                                                                    0.078431375,
                                                                    0.03137255,
                                                                    0.12156863,
                                                                    0.09411765,
                                                                    0.03137255,
                                                                    0.18431373,
                                                                    0.14509805,
                                                                    0.047058824,
                                                                    0.34117648,
                                                                    0.29411766,
                                                                    0.14509805,
                                                                    0.49019608,
                                                                    0.43137255,
                                                                    0.27058825,
                                                                    0.46666667,
                                                                    0.39215687,
                                                                    0.2627451,
                                                                    0.2509804,
                                                                    0.18431373,
                                                                    0.08235294,
                                                                    0.18431373,
                                                                    0.1254902,
                                                                    0.050980393,
                                                                    0.22352941,
                                                                    0.1764706,
                                                                    0.11372549,
                                                                    0.18039216,
                                                                    0.14901961,
                                                                    0.09803922,
                                                                    0.13333334,
                                                                    0.105882354,
                                                                    0.03529412,
                                                                    0.19607843,
                                                                    0.16862746,
                                                                    0.06666667,
                                                                    0.25490198,
                                                                    0.22745098,
                                                                    0.11764706,
                                                                    0.15686275,
                                                                    0.12941177,
                                                                    0.05882353,
                                                                    0.15686275,
                                                                    0.11372549,
                                                                    0.03529412,
                                                                    0.20784314,
                                                                    0.1254902,
                                                                    0.003921569,
                                                                    0.40784314,
                                                                    0.28627452,
                                                                    0.101960786,
                                                                    0.4862745,
                                                                    0.33333334,
                                                                    0.078431375,
                                                                    0.47843137,
                                                                    0.30588236,
                                                                    0.019607844,
                                                                    0.35686275,
                                                                    0.18431373,
                                                                    0.0,
                                                                    0.39215687,
                                                                    0.22352941,
                                                                    0.023529412,
                                                                    0.41960785,
                                                                    0.24313726,
                                                                    0.019607844,
                                                                    0.4745098,
                                                                    0.28627452,
                                                                    0.043137256,
                                                                    0.4745098,
                                                                    0.27450982,
                                                                    0.015686275,
                                                                    0.52156866,
                                                                    0.34117648,
                                                                    0.09803922,
                                                                    0.35686275,
                                                                    0.21960784,
                                                                    0.05490196,
                                                                    0.15294118,
                                                                    0.05882353,
                                                                    0.0,
                                                                    0.14901961,
                                                                    0.09411765,
                                                                    0.0,
                                                                    0.15294118,
                                                                    0.12156863,
                                                                    0.0,
                                                                    0.11764706,
                                                                    0.105882354,
                                                                    0.0,
                                                                    0.12941177,
                                                                    0.1254902,
                                                                    0.007843138,
                                                                    0.15294118,
                                                                    0.13725491,
                                                                    0.039215688,
                                                                    0.16078432,
                                                                    0.12941177,
                                                                    0.047058824,
                                                                    0.2,
                                                                    0.15294118,
                                                                    0.05882353,
                                                                    0.24313726,
                                                                    0.18039216,
                                                                    0.050980393,
                                                                    0.5058824,
                                                                    0.41960785,
                                                                    0.23529412,
                                                                    0.8666667,
                                                                    0.7647059,
                                                                    0.57254905,
                                                                    0.6039216,
                                                                    0.49411765,
                                                                    0.3372549,
                                                                    0.3254902,
                                                                    0.22745098,
                                                                    0.105882354,
                                                                    0.2509804,
                                                                    0.17254902,
                                                                    0.07450981,
                                                                    0.24705882,
                                                                    0.1882353,
                                                                    0.105882354,
                                                                    0.21568628,
                                                                    0.18431373,
                                                                    0.10980392,
                                                                    0.17254902,
                                                                    0.13333334,
                                                                    0.03529412,
                                                                    0.2,
                                                                    0.14509805,
                                                                    0.007843138,
                                                                    0.3137255,
                                                                    0.2509804,
                                                                    0.10980392,
                                                                    0.38039216,
                                                                    0.32156864,
                                                                    0.2,
                                                                    0.23921569,
                                                                    0.16470589,
                                                                    0.03529412,
                                                                    0.32156864,
                                                                    0.19607843,
                                                                    0.003921569,
                                                                    0.4745098,
                                                                    0.31764707,
                                                                    0.078431375,
                                                                    0.49411765,
                                                                    0.30980393,
                                                                    0.03529412,
                                                                    0.52156866,
                                                                    0.32941177,
                                                                    0.03137255,
                                                                    0.34901962,
                                                                    0.20392157,
                                                                    0.03137255,
                                                                    0.3764706,
                                                                    0.22745098,
                                                                    0.043137256,
                                                                    0.4,
                                                                    0.23529412,
                                                                    0.039215688,
                                                                    0.43529412,
                                                                    0.25490198,
                                                                    0.011764706,
                                                                    0.5176471,
                                                                    0.31764707,
                                                                    0.007843138,
                                                                    0.62352943,
                                                                    0.41960785,
                                                                    0.09019608,
                                                                    0.5882353,
                                                                    0.39607844,
                                                                    0.09411765,
                                                                    0.4862745,
                                                                    0.3137255,
                                                                    0.02745098,
                                                                    0.36078432,
                                                                    0.22352941,
                                                                    0.0,
                                                                    0.26666668,
                                                                    0.17254902,
                                                                    0.0,
                                                                    0.19215687,
                                                                    0.12941177,
                                                                    0.0,
                                                                    0.14901961,
                                                                    0.10980392,
                                                                    0.0,
                                                                    0.16862746,
                                                                    0.1254902,
                                                                    0.0,
                                                                    0.17254902,
                                                                    0.11764706,
                                                                    0.0,
                                                                    0.21176471,
                                                                    0.13333334,
                                                                    0.003921569,
                                                                    0.30588236,
                                                                    0.20392157,
                                                                    0.05882353,
                                                                    0.54901963,
                                                                    0.42352942,
                                                                    0.23137255,
                                                                    0.80784315,
                                                                    0.6666667,
                                                                    0.4627451,
                                                                    0.54901963,
                                                                    0.42352942,
                                                                    0.23921569,
                                                                    0.3372549,
                                                                    0.22352941,
                                                                    0.06666667,
                                                                    0.26666668,
                                                                    0.1764706,
                                                                    0.043137256,
                                                                    0.23529412,
                                                                    0.16078432,
                                                                    0.03529412,
                                                                    0.18039216,
                                                                    0.12156863,
                                                                    0.0,
                                                                    0.1764706,
                                                                    0.11764706,
                                                                    0.0,
                                                                    0.24705882,
                                                                    0.15686275,
                                                                    0.0,
                                                                    0.3137255,
                                                                    0.21176471,
                                                                    0.0,
                                                                    0.46666667,
                                                                    0.3529412,
                                                                    0.13333334,
                                                                    0.44313726,
                                                                    0.30980393,
                                                                    0.0627451,
                                                                    0.52156866,
                                                                    0.34901962,
                                                                    0.05490196,
                                                                    0.57254905,
                                                                    0.3882353,
                                                                    0.08235294,
                                                                    0.4862745,
                                                                    0.29803923,
                                                                    0.015686275,
                                                                    0.4509804,
                                                                    0.26666668,
                                                                    0.0,
                                                                    0.3019608,
                                                                    0.19607843,
                                                                    0.02745098,
                                                                    0.34509805,
                                                                    0.22352941,
                                                                    0.050980393,
                                                                    0.35686275,
                                                                    0.21568628,
                                                                    0.02745098,
                                                                    0.4,
                                                                    0.24313726,
                                                                    0.011764706,
                                                                    0.52156866,
                                                                    0.34901962,
                                                                    0.05490196,
                                                                    0.64705884,
                                                                    0.4509804,
                                                                    0.101960786,
                                                                    0.7019608,
                                                                    0.48235294,
                                                                    0.101960786,
                                                                    0.73333335,
                                                                    0.5176471,
                                                                    0.12156863,
                                                                    0.70980394,
                                                                    0.52156866,
                                                                    0.13725491,
                                                                    0.6509804,
                                                                    0.49803922,
                                                                    0.14117648,
                                                                    0.54901963,
                                                                    0.42745098,
                                                                    0.101960786,
                                                                    0.44705883,
                                                                    0.34509805,
                                                                    0.043137256,
                                                                    0.46666667,
                                                                    0.3764706,
                                                                    0.07058824,
                                                                    0.4745098,
                                                                    0.37254903,
                                                                    0.08235294,
                                                                    0.49803922,
                                                                    0.3764706,
                                                                    0.12156863,
                                                                    0.6117647,
                                                                    0.4745098,
                                                                    0.22352941,
                                                                    0.72156864,
                                                                    0.5686275,
                                                                    0.29803923,
                                                                    0.7411765,
                                                                    0.58431375,
                                                                    0.30980393,
                                                                    0.6431373,
                                                                    0.49411765,
                                                                    0.21568628,
                                                                    0.5176471,
                                                                    0.38039216,
                                                                    0.11372549,
                                                                    0.47058824,
                                                                    0.34901962,
                                                                    0.09803922,
                                                                    0.4392157,
                                                                    0.32941177,
                                                                    0.08235294,
                                                                    0.38431373,
                                                                    0.28627452,
                                                                    0.03529412,
                                                                    0.4117647,
                                                                    0.30588236,
                                                                    0.03529412,
                                                                    0.53333336,
                                                                    0.39607844,
                                                                    0.078431375,
                                                                    0.5764706,
                                                                    0.42745098,
                                                                    0.09411765,
                                                                    0.64705884,
                                                                    0.49019608,
                                                                    0.14901961,
                                                                    0.65882355,
                                                                    0.4862745,
                                                                    0.14509805,
                                                                    0.6627451,
                                                                    0.4627451,
                                                                    0.105882354,
                                                                    0.654902,
                                                                    0.4509804,
                                                                    0.12156863,
                                                                    0.5294118,
                                                                    0.34117648,
                                                                    0.05882353,
                                                                    0.42745098,
                                                                    0.2509804,
                                                                    0.0,
                                                                    0.2627451,
                                                                    0.20784314,
                                                                    0.03137255,
                                                                    0.30588236,
                                                                    0.23529412,
                                                                    0.05490196,
                                                                    0.32156864,
                                                                    0.21568628,
                                                                    0.03137255,
                                                                    0.3647059,
                                                                    0.24705882,
                                                                    0.043137256,
                                                                    0.38431373,
                                                                    0.25882354,
                                                                    0.03529412,
                                                                    0.4862745,
                                                                    0.32941177,
                                                                    0.047058824,
                                                                    0.6862745,
                                                                    0.47058824,
                                                                    0.078431375,
                                                                    0.78039217,
                                                                    0.5411765,
                                                                    0.08235294,
                                                                    0.77254903,
                                                                    0.5568628,
                                                                    0.0627451,
                                                                    0.7921569,
                                                                    0.5921569,
                                                                    0.09411765,
                                                                    0.8156863,
                                                                    0.63529414,
                                                                    0.15686275,
                                                                    0.7882353,
                                                                    0.62352943,
                                                                    0.14901961,
                                                                    0.8039216,
                                                                    0.64705884,
                                                                    0.16078432,
                                                                    0.81960785,
                                                                    0.65882355,
                                                                    0.17254902,
                                                                    0.84705883,
                                                                    0.6627451,
                                                                    0.2,
                                                                    0.85490197,
                                                                    0.6784314,
                                                                    0.22745098,
                                                                    0.8862745,
                                                                    0.72156864,
                                                                    0.2901961,
                                                                    0.94509804,
                                                                    0.78431374,
                                                                    0.36078432,
                                                                    0.9137255,
                                                                    0.7490196,
                                                                    0.30980393,
                                                                    0.8352941,
                                                                    0.6666667,
                                                                    0.22352941,
                                                                    0.8352941,
                                                                    0.6666667,
                                                                    0.22352941,
                                                                    0.7921569,
                                                                    0.6313726,
                                                                    0.18431373,
                                                                    0.7607843,
                                                                    0.6,
                                                                    0.15294118,
                                                                    0.74509805,
                                                                    0.5803922,
                                                                    0.11764706,
                                                                    0.7882353,
                                                                    0.59607846,
                                                                    0.12156863,
                                                                    0.8039216,
                                                                    0.60784316,
                                                                    0.13333334,
                                                                    0.79607844,
                                                                    0.59607846,
                                                                    0.13333334,
                                                                    0.7254902,
                                                                    0.52156866,
                                                                    0.09411765,
                                                                    0.69803923,
                                                                    0.48235294,
                                                                    0.11764706,
                                                                    0.5647059,
                                                                    0.35686275,
                                                                    0.043137256,
                                                                    0.4862745,
                                                                    0.29411766,
                                                                    0.03137255,
                                                                    0.43137255,
                                                                    0.2509804,
                                                                    0.015686275,
                                                                    0.24705882,
                                                                    0.21960784,
                                                                    0.047058824,
                                                                    0.24705882,
                                                                    0.20392157,
                                                                    0.023529412,
                                                                    0.27058825,
                                                                    0.2,
                                                                    0.011764706,
                                                                    0.36078432,
                                                                    0.27450982,
                                                                    0.09019608,
                                                                    0.36862746,
                                                                    0.28235295,
                                                                    0.12156863,
                                                                    0.4,
                                                                    0.27450982,
                                                                    0.050980393,
                                                                    0.6784314,
                                                                    0.4745098,
                                                                    0.08627451,
                                                                    0.7921569,
                                                                    0.5529412,
                                                                    0.0627451,
                                                                    0.81960785,
                                                                    0.5882353,
                                                                    0.039215688,
                                                                    0.83137256,
                                                                    0.6039216,
                                                                    0.039215688,
                                                                    0.84705883,
                                                                    0.6313726,
                                                                    0.07450981,
                                                                    0.84313726,
                                                                    0.63529414,
                                                                    0.078431375,
                                                                    0.84313726,
                                                                    0.64705884,
                                                                    0.07058824,
                                                                    0.87058824,
                                                                    0.6745098,
                                                                    0.09803922,
                                                                    0.91764706,
                                                                    0.7176471,
                                                                    0.14901961,
                                                                    0.9098039,
                                                                    0.7176471,
                                                                    0.17254902,
                                                                    0.9529412,
                                                                    0.78431374,
                                                                    0.27058825,
                                                                    1.0,
                                                                    0.8980392,
                                                                    0.38431373,
                                                                    0.98039216,
                                                                    0.8,
                                                                    0.2627451,
                                                                    0.8980392,
                                                                    0.7137255,
                                                                    0.16470589,
                                                                    0.8862745,
                                                                    0.69411767,
                                                                    0.14117648,
                                                                    0.84705883,
                                                                    0.654902,
                                                                    0.101960786,
                                                                    0.84313726,
                                                                    0.6431373,
                                                                    0.09019608,
                                                                    0.827451,
                                                                    0.61960787,
                                                                    0.07058824,
                                                                    0.84313726,
                                                                    0.61960787,
                                                                    0.05882353,
                                                                    0.8235294,
                                                                    0.6,
                                                                    0.047058824,
                                                                    0.7647059,
                                                                    0.5529412,
                                                                    0.023529412,
                                                                    0.7490196,
                                                                    0.54509807,
                                                                    0.08235294,
                                                                    0.64705884,
                                                                    0.4509804,
                                                                    0.10980392,
                                                                    0.42352942,
                                                                    0.23921569,
                                                                    0.0,
                                                                    0.41960785,
                                                                    0.24313726,
                                                                    0.011764706,
                                                                    0.41960785,
                                                                    0.2509804,
                                                                    0.03529412,
                                                                    0.24705882,
                                                                    0.24313726,
                                                                    0.07058824,
                                                                    0.23137255,
                                                                    0.21568628,
                                                                    0.03137255,
                                                                    0.2627451,
                                                                    0.20784314,
                                                                    0.015686275,
                                                                    0.3137255,
                                                                    0.24705882,
                                                                    0.078431375,
                                                                    0.3137255,
                                                                    0.25882354,
                                                                    0.15294118,
                                                                    0.40784314,
                                                                    0.3137255,
                                                                    0.14117648,
                                                                    0.6392157,
                                                                    0.45490196,
                                                                    0.09411765,
                                                                    0.80784315,
                                                                    0.5803922,
                                                                    0.09019608,
                                                                    0.81960785,
                                                                    0.5882353,
                                                                    0.047058824,
                                                                    0.84705883,
                                                                    0.60784316,
                                                                    0.047058824,
                                                                    0.85490197,
                                                                    0.6156863,
                                                                    0.05882353,
                                                                    0.87058824,
                                                                    0.6431373,
                                                                    0.08235294,
                                                                    0.8862745,
                                                                    0.67058825,
                                                                    0.101960786,
                                                                    0.8980392,
                                                                    0.7019608,
                                                                    0.1254902,
                                                                    0.90588236,
                                                                    0.72156864,
                                                                    0.16470589,
                                                                    0.9372549,
                                                                    0.76862746,
                                                                    0.22352941,
                                                                    0.9411765,
                                                                    0.77254903,
                                                                    0.23137255,
                                                                    0.9843137,
                                                                    0.8156863,
                                                                    0.27058825,
                                                                    0.9372549,
                                                                    0.7529412,
                                                                    0.19607843,
                                                                    0.9137255,
                                                                    0.7254902,
                                                                    0.15294118,
                                                                    0.89411765,
                                                                    0.70980394,
                                                                    0.12941177,
                                                                    0.8666667,
                                                                    0.67058825,
                                                                    0.09411765,
                                                                    0.8509804,
                                                                    0.6431373,
                                                                    0.08627451,
                                                                    0.8509804,
                                                                    0.627451,
                                                                    0.07450981,
                                                                    0.8392157,
                                                                    0.6117647,
                                                                    0.050980393,
                                                                    0.8352941,
                                                                    0.6117647,
                                                                    0.050980393,
                                                                    0.7764706,
                                                                    0.5686275,
                                                                    0.019607844,
                                                                    0.7490196,
                                                                    0.5647059,
                                                                    0.10980392,
                                                                    0.5529412,
                                                                    0.40784314,
                                                                    0.13333334,
                                                                    0.39215687,
                                                                    0.26666668,
                                                                    0.08235294,
                                                                    0.39607844,
                                                                    0.2627451,
                                                                    0.08235294,
                                                                    0.38431373,
                                                                    0.2509804,
                                                                    0.0627451,
                                                                    0.20784314,
                                                                    0.21568628,
                                                                    0.0627451,
                                                                    0.23921569,
                                                                    0.23529412,
                                                                    0.0627451,
                                                                    0.26666668,
                                                                    0.22745098,
                                                                    0.03529412,
                                                                    0.3254902,
                                                                    0.27058825,
                                                                    0.11764706,
                                                                    0.3254902,
                                                                    0.2901961,
                                                                    0.22352941,
                                                                    0.6745098,
                                                                    0.6,
                                                                    0.47058824,
                                                                    0.7176471,
                                                                    0.5568628,
                                                                    0.21176471,
                                                                    0.8,
                                                                    0.5882353,
                                                                    0.10980392,
                                                                    0.8235294,
                                                                    0.6,
                                                                    0.05490196,
                                                                    0.8509804,
                                                                    0.6156863,
                                                                    0.043137256,
                                                                    0.8627451,
                                                                    0.62352943,
                                                                    0.0627451,
                                                                    0.87058824,
                                                                    0.6431373,
                                                                    0.078431375,
                                                                    0.87058824,
                                                                    0.65882355,
                                                                    0.078431375,
                                                                    0.8784314,
                                                                    0.68235296,
                                                                    0.09803922,
                                                                    0.8666667,
                                                                    0.6862745,
                                                                    0.11764706,
                                                                    0.92156863,
                                                                    0.74509805,
                                                                    0.18431373,
                                                                    0.92156863,
                                                                    0.7372549,
                                                                    0.18039216,
                                                                    0.91764706,
                                                                    0.7372549,
                                                                    0.16862746,
                                                                    0.8901961,
                                                                    0.7058824,
                                                                    0.1254902,
                                                                    0.8901961,
                                                                    0.69411767,
                                                                    0.10980392,
                                                                    0.8862745,
                                                                    0.6901961,
                                                                    0.09803922,
                                                                    0.8627451,
                                                                    0.6666667,
                                                                    0.08235294,
                                                                    0.8666667,
                                                                    0.6509804,
                                                                    0.08235294,
                                                                    0.84313726,
                                                                    0.61960787,
                                                                    0.05882353,
                                                                    0.84705883,
                                                                    0.61960787,
                                                                    0.05490196,
                                                                    0.827451,
                                                                    0.6039216,
                                                                    0.043137256,
                                                                    0.8117647,
                                                                    0.59607846,
                                                                    0.039215688,
                                                                    0.72156864,
                                                                    0.5529412,
                                                                    0.10980392,
                                                                    0.5803922,
                                                                    0.46666667,
                                                                    0.24705882,
                                                                    0.5176471,
                                                                    0.42745098,
                                                                    0.3019608,
                                                                    0.39607844,
                                                                    0.28627452,
                                                                    0.12941177,
                                                                    0.3882353,
                                                                    0.26666668,
                                                                    0.09411765,
                                                                    0.15294118,
                                                                    0.18039216,
                                                                    0.05882353,
                                                                    0.16470589,
                                                                    0.16862746,
                                                                    0.03529412,
                                                                    0.2509804,
                                                                    0.21568628,
                                                                    0.047058824,
                                                                    0.29803923,
                                                                    0.24705882,
                                                                    0.10980392,
                                                                    0.32156864,
                                                                    0.2901961,
                                                                    0.23921569,
                                                                    0.47843137,
                                                                    0.41960785,
                                                                    0.29803923,
                                                                    0.5764706,
                                                                    0.43529412,
                                                                    0.09803922,
                                                                    0.80784315,
                                                                    0.6156863,
                                                                    0.14117648,
                                                                    0.8352941,
                                                                    0.6156863,
                                                                    0.078431375,
                                                                    0.8235294,
                                                                    0.59607846,
                                                                    0.023529412,
                                                                    0.8235294,
                                                                    0.6039216,
                                                                    0.019607844,
                                                                    0.83137256,
                                                                    0.6313726,
                                                                    0.03137255,
                                                                    0.827451,
                                                                    0.64705884,
                                                                    0.039215688,
                                                                    0.8392157,
                                                                    0.65882355,
                                                                    0.050980393,
                                                                    0.8627451,
                                                                    0.6666667,
                                                                    0.08235294,
                                                                    0.8784314,
                                                                    0.6745098,
                                                                    0.101960786,
                                                                    0.88235295,
                                                                    0.6784314,
                                                                    0.10980392,
                                                                    0.87058824,
                                                                    0.6666667,
                                                                    0.09411765,
                                                                    0.87058824,
                                                                    0.6745098,
                                                                    0.08235294,
                                                                    0.8666667,
                                                                    0.6745098,
                                                                    0.07058824,
                                                                    0.8509804,
                                                                    0.654902,
                                                                    0.0627451,
                                                                    0.8509804,
                                                                    0.6509804,
                                                                    0.05882353,
                                                                    0.84313726,
                                                                    0.6313726,
                                                                    0.050980393,
                                                                    0.8392157,
                                                                    0.62352943,
                                                                    0.05490196,
                                                                    0.8392157,
                                                                    0.62352943,
                                                                    0.05490196,
                                                                    0.81960785,
                                                                    0.6156863,
                                                                    0.047058824,
                                                                    0.80784315,
                                                                    0.5921569,
                                                                    0.03529412,
                                                                    0.72156864,
                                                                    0.5529412,
                                                                    0.11372549,
                                                                    0.5764706,
                                                                    0.4862745,
                                                                    0.2901961,
                                                                    0.54509807,
                                                                    0.47843137,
                                                                    0.3764706,
                                                                    0.32941177,
                                                                    0.22745098,
                                                                    0.08235294,
                                                                    0.35686275,
                                                                    0.24313726,
                                                                    0.07058824,
                                                                    0.13725491,
                                                                    0.19215687,
                                                                    0.0627451,
                                                                    0.16470589,
                                                                    0.19215687,
                                                                    0.05882353,
                                                                    0.2,
                                                                    0.18039216,
                                                                    0.023529412,
                                                                    0.30588236,
                                                                    0.26666668,
                                                                    0.12941177,
                                                                    0.21568628,
                                                                    0.19215687,
                                                                    0.13725491,
                                                                    0.15686275,
                                                                    0.101960786,
                                                                    0.0,
                                                                    0.42745098,
                                                                    0.3019608,
                                                                    0.0,
                                                                    0.7764706,
                                                                    0.60784316,
                                                                    0.16470589,
                                                                    0.827451,
                                                                    0.62352943,
                                                                    0.09019608,
                                                                    0.827451,
                                                                    0.6156863,
                                                                    0.02745098,
                                                                    0.81960785,
                                                                    0.61960787,
                                                                    0.02745098,
                                                                    0.827451,
                                                                    0.6313726,
                                                                    0.039215688,
                                                                    0.827451,
                                                                    0.6509804,
                                                                    0.050980393,
                                                                    0.8392157,
                                                                    0.6627451,
                                                                    0.0627451,
                                                                    0.85882354,
                                                                    0.65882355,
                                                                    0.06666667,
                                                                    0.8627451,
                                                                    0.64705884,
                                                                    0.078431375,
                                                                    0.85882354,
                                                                    0.6431373,
                                                                    0.078431375,
                                                                    0.8745098,
                                                                    0.67058825,
                                                                    0.101960786,
                                                                    0.8627451,
                                                                    0.65882355,
                                                                    0.078431375,
                                                                    0.85882354,
                                                                    0.6627451,
                                                                    0.07058824,
                                                                    0.8666667,
                                                                    0.6666667,
                                                                    0.07450981,
                                                                    0.8392157,
                                                                    0.6392157,
                                                                    0.047058824,
                                                                    0.8392157,
                                                                    0.63529414,
                                                                    0.0627451,
                                                                    0.83137256,
                                                                    0.63529414,
                                                                    0.05882353,
                                                                    0.827451,
                                                                    0.62352943,
                                                                    0.050980393,
                                                                    0.79607844,
                                                                    0.59607846,
                                                                    0.02745098,
                                                                    0.8,
                                                                    0.6,
                                                                    0.047058824,
                                                                    0.6862745,
                                                                    0.5254902,
                                                                    0.10980392,
                                                                    0.32941177,
                                                                    0.25882354,
                                                                    0.078431375,
                                                                    0.2627451,
                                                                    0.21568628,
                                                                    0.12156863,
                                                                    0.29803923,
                                                                    0.20392157,
                                                                    0.05490196,
                                                                    0.3372549,
                                                                    0.22352941,
                                                                    0.050980393,
                                                                    0.15294118,
                                                                    0.23529412,
                                                                    0.07450981,
                                                                    0.18431373,
                                                                    0.24313726,
                                                                    0.07450981,
                                                                    0.18039216,
                                                                    0.1764706,
                                                                    0.003921569,
                                                                    0.28235295,
                                                                    0.2627451,
                                                                    0.11372549,
                                                                    0.1882353,
                                                                    0.16862746,
                                                                    0.08235294,
                                                                    0.11372549,
                                                                    0.0627451,
                                                                    0.0,
                                                                    0.32941177,
                                                                    0.22352941,
                                                                    0.0,
                                                                    0.7254902,
                                                                    0.5764706,
                                                                    0.18039216,
                                                                    0.7921569,
                                                                    0.6039216,
                                                                    0.078431375,
                                                                    0.80784315,
                                                                    0.6039216,
                                                                    0.023529412,
                                                                    0.8117647,
                                                                    0.6117647,
                                                                    0.043137256,
                                                                    0.8235294,
                                                                    0.62352943,
                                                                    0.0627451,
                                                                    0.827451,
                                                                    0.64705884,
                                                                    0.07058824,
                                                                    0.8352941,
                                                                    0.654902,
                                                                    0.07450981,
                                                                    0.8509804,
                                                                    0.654902,
                                                                    0.078431375,
                                                                    0.8509804,
                                                                    0.6509804,
                                                                    0.09019608,
                                                                    0.8509804,
                                                                    0.64705884,
                                                                    0.11372549,
                                                                    0.8352941,
                                                                    0.6313726,
                                                                    0.09803922,
                                                                    0.8509804,
                                                                    0.6509804,
                                                                    0.09803922,
                                                                    0.85490197,
                                                                    0.6509804,
                                                                    0.078431375,
                                                                    0.85490197,
                                                                    0.65882355,
                                                                    0.06666667,
                                                                    0.8352941,
                                                                    0.6392157,
                                                                    0.05490196,
                                                                    0.84313726,
                                                                    0.65882355,
                                                                    0.101960786,
                                                                    0.85490197,
                                                                    0.67058825,
                                                                    0.11372549,
                                                                    0.8352941,
                                                                    0.6313726,
                                                                    0.050980393,
                                                                    0.8117647,
                                                                    0.6117647,
                                                                    0.043137256,
                                                                    0.78431374,
                                                                    0.6117647,
                                                                    0.08235294,
                                                                    0.61960787,
                                                                    0.49411765,
                                                                    0.09803922,
                                                                    0.19607843,
                                                                    0.14901961,
                                                                    0.0,
                                                                    0.12156863,
                                                                    0.09019608,
                                                                    0.007843138,
                                                                    0.2901961,
                                                                    0.20392157,
                                                                    0.050980393,
                                                                    0.3372549,
                                                                    0.21568628,
                                                                    0.03529412,
                                                                    0.18039216,
                                                                    0.27058825,
                                                                    0.09019608,
                                                                    0.19215687,
                                                                    0.25882354,
                                                                    0.08235294,
                                                                    0.1764706,
                                                                    0.1882353,
                                                                    0.019607844,
                                                                    0.2627451,
                                                                    0.24313726,
                                                                    0.08627451,
                                                                    0.2627451,
                                                                    0.23137255,
                                                                    0.08627451,
                                                                    0.18039216,
                                                                    0.1254902,
                                                                    0.0,
                                                                    0.25490198,
                                                                    0.14901961,
                                                                    0.0,
                                                                    0.6666667,
                                                                    0.5176471,
                                                                    0.12941177,
                                                                    0.78431374,
                                                                    0.6,
                                                                    0.08235294,
                                                                    0.8117647,
                                                                    0.6117647,
                                                                    0.043137256,
                                                                    0.8156863,
                                                                    0.62352943,
                                                                    0.078431375,
                                                                    0.81960785,
                                                                    0.63529414,
                                                                    0.08627451,
                                                                    0.827451,
                                                                    0.64705884,
                                                                    0.078431375,
                                                                    0.8352941,
                                                                    0.654902,
                                                                    0.08627451,
                                                                    0.85882354,
                                                                    0.65882355,
                                                                    0.105882354,
                                                                    0.8745098,
                                                                    0.67058825,
                                                                    0.13725491,
                                                                    0.80784315,
                                                                    0.6156863,
                                                                    0.10980392,
                                                                    0.7254902,
                                                                    0.5411765,
                                                                    0.03137255,
                                                                    0.827451,
                                                                    0.63529414,
                                                                    0.09803922,
                                                                    0.8509804,
                                                                    0.6627451,
                                                                    0.09803922,
                                                                    0.8352941,
                                                                    0.6509804,
                                                                    0.07058824,
                                                                    0.8235294,
                                                                    0.6431373,
                                                                    0.06666667,
                                                                    0.8235294,
                                                                    0.64705884,
                                                                    0.09411765,
                                                                    0.8235294,
                                                                    0.64705884,
                                                                    0.09411765,
                                                                    0.8156863,
                                                                    0.6156863,
                                                                    0.047058824,
                                                                    0.81960785,
                                                                    0.61960787,
                                                                    0.05882353,
                                                                    0.79607844,
                                                                    0.62352943,
                                                                    0.10980392,
                                                                    0.5411765,
                                                                    0.41568628,
                                                                    0.019607844,
                                                                    0.16078432,
                                                                    0.09803922,
                                                                    0.0,
                                                                    0.12156863,
                                                                    0.07058824,
                                                                    0.0,
                                                                    0.29803923,
                                                                    0.20392157,
                                                                    0.023529412,
                                                                    0.3254902,
                                                                    0.20784314,
                                                                    0.003921569,
                                                                    0.22352941,
                                                                    0.29803923,
                                                                    0.11764706,
                                                                    0.1882353,
                                                                    0.23921569,
                                                                    0.07058824,
                                                                    0.17254902,
                                                                    0.1764706,
                                                                    0.043137256,
                                                                    0.28627452,
                                                                    0.25882354,
                                                                    0.09411765,
                                                                    0.49411765,
                                                                    0.4509804,
                                                                    0.20784314,
                                                                    0.46666667,
                                                                    0.39215687,
                                                                    0.09019608,
                                                                    0.47843137,
                                                                    0.36078432,
                                                                    0.007843138,
                                                                    0.69803923,
                                                                    0.5372549,
                                                                    0.12156863,
                                                                    0.76862746,
                                                                    0.5764706,
                                                                    0.07450981,
                                                                    0.7921569,
                                                                    0.5882353,
                                                                    0.05490196,
                                                                    0.78431374,
                                                                    0.6,
                                                                    0.05882353,
                                                                    0.7882353,
                                                                    0.61960787,
                                                                    0.06666667,
                                                                    0.8039216,
                                                                    0.6392157,
                                                                    0.07450981,
                                                                    0.81960785,
                                                                    0.63529414,
                                                                    0.078431375,
                                                                    0.85490197,
                                                                    0.6313726,
                                                                    0.10980392,
                                                                    0.8784314,
                                                                    0.6627451,
                                                                    0.16470589,
                                                                    0.8352941,
                                                                    0.64705884,
                                                                    0.16078432,
                                                                    0.7372549,
                                                                    0.5647059,
                                                                    0.07450981,
                                                                    0.81960785,
                                                                    0.654902,
                                                                    0.11372549,
                                                                    0.827451,
                                                                    0.65882355,
                                                                    0.105882354,
                                                                    0.827451,
                                                                    0.6431373,
                                                                    0.08627451,
                                                                    0.81960785,
                                                                    0.6431373,
                                                                    0.09019608,
                                                                    0.8039216,
                                                                    0.63529414,
                                                                    0.09019608,
                                                                    0.78431374,
                                                                    0.6156863,
                                                                    0.07058824,
                                                                    0.827451,
                                                                    0.63529414,
                                                                    0.08235294,
                                                                    0.80784315,
                                                                    0.6039216,
                                                                    0.07058824,
                                                                    0.79607844,
                                                                    0.6,
                                                                    0.10980392,
                                                                    0.5803922,
                                                                    0.4117647,
                                                                    0.0,
                                                                    0.3137255,
                                                                    0.2,
                                                                    0.0,
                                                                    0.34901962,
                                                                    0.25490198,
                                                                    0.003921569,
                                                                    0.43529412,
                                                                    0.3372549,
                                                                    0.078431375,
                                                                    0.3137255,
                                                                    0.20392157,
                                                                    0.0,
                                                                    0.16470589,
                                                                    0.23137255,
                                                                    0.06666667,
                                                                    0.16862746,
                                                                    0.21568628,
                                                                    0.06666667,
                                                                    0.18431373,
                                                                    0.19607843,
                                                                    0.07450981,
                                                                    0.2509804,
                                                                    0.23529412,
                                                                    0.08627451,
                                                                    0.43137255,
                                                                    0.39607844,
                                                                    0.14117648,
                                                                    0.5176471,
                                                                    0.4509804,
                                                                    0.13725491,
                                                                    0.6,
                                                                    0.49411765,
                                                                    0.13725491,
                                                                    0.70980394,
                                                                    0.5647059,
                                                                    0.15686275,
                                                                    0.76862746,
                                                                    0.5764706,
                                                                    0.10980392,
                                                                    0.7882353,
                                                                    0.5921569,
                                                                    0.078431375,
                                                                    0.78039217,
                                                                    0.6,
                                                                    0.05882353,
                                                                    0.7764706,
                                                                    0.6117647,
                                                                    0.047058824,
                                                                    0.7921569,
                                                                    0.63529414,
                                                                    0.05882353,
                                                                    0.8,
                                                                    0.63529414,
                                                                    0.07058824,
                                                                    0.83137256,
                                                                    0.61960787,
                                                                    0.09411765,
                                                                    0.8509804,
                                                                    0.63529414,
                                                                    0.12941177,
                                                                    0.827451,
                                                                    0.6509804,
                                                                    0.14509805,
                                                                    0.79607844,
                                                                    0.6392157,
                                                                    0.1254902,
                                                                    0.8,
                                                                    0.63529414,
                                                                    0.09411765,
                                                                    0.78039217,
                                                                    0.6117647,
                                                                    0.05882353,
                                                                    0.80784315,
                                                                    0.627451,
                                                                    0.08627451,
                                                                    0.80784315,
                                                                    0.627451,
                                                                    0.09019608,
                                                                    0.80784315,
                                                                    0.6431373,
                                                                    0.10980392,
                                                                    0.7882353,
                                                                    0.61960787,
                                                                    0.078431375,
                                                                    0.827451,
                                                                    0.6431373,
                                                                    0.09411765,
                                                                    0.7921569,
                                                                    0.59607846,
                                                                    0.06666667,
                                                                    0.78039217,
                                                                    0.58431375,
                                                                    0.101960786,
                                                                    0.7058824,
                                                                    0.53333336,
                                                                    0.105882354,
                                                                    0.627451,
                                                                    0.49019608,
                                                                    0.13725491,
                                                                    0.63529414,
                                                                    0.52156866,
                                                                    0.22352941,
                                                                    0.5686275,
                                                                    0.4627451,
                                                                    0.2,
                                                                    0.24705882,
                                                                    0.14901961,
                                                                    0.0,
                                                                    0.15686275,
                                                                    0.22352941,
                                                                    0.08235294,
                                                                    0.13725491,
                                                                    0.2,
                                                                    0.05882353,
                                                                    0.15294118,
                                                                    0.19607843,
                                                                    0.078431375,
                                                                    0.2,
                                                                    0.22352941,
                                                                    0.09019608,
                                                                    0.26666668,
                                                                    0.25490198,
                                                                    0.08627451,
                                                                    0.36078432,
                                                                    0.31764707,
                                                                    0.105882354,
                                                                    0.49019608,
                                                                    0.41568628,
                                                                    0.14509805,
                                                                    0.63529414,
                                                                    0.5176471,
                                                                    0.16470589,
                                                                    0.7254902,
                                                                    0.5686275,
                                                                    0.13333334,
                                                                    0.78039217,
                                                                    0.6039216,
                                                                    0.09803922,
                                                                    0.8,
                                                                    0.6156863,
                                                                    0.05882353,
                                                                    0.79607844,
                                                                    0.62352943,
                                                                    0.039215688,
                                                                    0.7882353,
                                                                    0.6431373,
                                                                    0.05490196,
                                                                    0.7921569,
                                                                    0.6431373,
                                                                    0.06666667,
                                                                    0.8117647,
                                                                    0.63529414,
                                                                    0.07450981,
                                                                    0.827451,
                                                                    0.6431373,
                                                                    0.08627451,
                                                                    0.8039216,
                                                                    0.6431373,
                                                                    0.078431375,
                                                                    0.827451,
                                                                    0.6666667,
                                                                    0.101960786,
                                                                    0.8117647,
                                                                    0.64705884,
                                                                    0.08235294,
                                                                    0.8156863,
                                                                    0.6392157,
                                                                    0.08627451,
                                                                    0.8352941,
                                                                    0.654902,
                                                                    0.11764706,
                                                                    0.83137256,
                                                                    0.64705884,
                                                                    0.12941177,
                                                                    0.827451,
                                                                    0.654902,
                                                                    0.14117648,
                                                                    0.8117647,
                                                                    0.6392157,
                                                                    0.11764706,
                                                                    0.80784315,
                                                                    0.6313726,
                                                                    0.078431375,
                                                                    0.79607844,
                                                                    0.627451,
                                                                    0.08627451,
                                                                    0.77254903,
                                                                    0.6,
                                                                    0.10980392,
                                                                    0.73333335,
                                                                    0.5764706,
                                                                    0.14117648,
                                                                    0.6745098,
                                                                    0.5411765,
                                                                    0.1882353,
                                                                    0.5882353,
                                                                    0.47058824,
                                                                    0.1882353,
                                                                    0.4745098,
                                                                    0.36862746,
                                                                    0.16078432,
                                                                    0.22352941,
                                                                    0.11764706,
                                                                    0.0,
                                                                    0.14117648,
                                                                    0.21960784,
                                                                    0.07450981,
                                                                    0.14117648,
                                                                    0.21960784,
                                                                    0.07450981,
                                                                    0.14117648,
                                                                    0.2,
                                                                    0.07058824,
                                                                    0.2,
                                                                    0.24313726,
                                                                    0.11764706,
                                                                    0.23529412,
                                                                    0.25882354,
                                                                    0.1254902,
                                                                    0.2,
                                                                    0.19215687,
                                                                    0.039215688,
                                                                    0.29803923,
                                                                    0.27058825,
                                                                    0.05882353,
                                                                    0.3764706,
                                                                    0.31764707,
                                                                    0.047058824,
                                                                    0.5372549,
                                                                    0.4392157,
                                                                    0.10980392,
                                                                    0.64705884,
                                                                    0.5176471,
                                                                    0.11372549,
                                                                    0.72156864,
                                                                    0.5647059,
                                                                    0.08627451,
                                                                    0.73333335,
                                                                    0.5764706,
                                                                    0.050980393,
                                                                    0.7372549,
                                                                    0.6039216,
                                                                    0.078431375,
                                                                    0.7607843,
                                                                    0.627451,
                                                                    0.105882354,
                                                                    0.7882353,
                                                                    0.63529414,
                                                                    0.12156863,
                                                                    0.80784315,
                                                                    0.654902,
                                                                    0.14117648,
                                                                    0.83137256,
                                                                    0.68235296,
                                                                    0.16078432,
                                                                    0.8156863,
                                                                    0.6666667,
                                                                    0.13725491,
                                                                    0.8235294,
                                                                    0.6666667,
                                                                    0.15294118,
                                                                    0.8156863,
                                                                    0.654902,
                                                                    0.15294118,
                                                                    0.7921569,
                                                                    0.627451,
                                                                    0.15294118,
                                                                    0.7921569,
                                                                    0.6156863,
                                                                    0.14901961,
                                                                    0.78039217,
                                                                    0.6,
                                                                    0.12941177,
                                                                    0.7764706,
                                                                    0.6039216,
                                                                    0.12941177,
                                                                    0.7490196,
                                                                    0.59607846,
                                                                    0.13725491,
                                                                    0.69411767,
                                                                    0.56078434,
                                                                    0.12941177,
                                                                    0.61960787,
                                                                    0.5058824,
                                                                    0.11372549,
                                                                    0.50980395,
                                                                    0.4,
                                                                    0.07058824,
                                                                    0.37254903,
                                                                    0.2784314,
                                                                    0.003921569,
                                                                    0.25882354,
                                                                    0.1764706,
                                                                    0.0,
                                                                    0.25490198,
                                                                    0.16862746,
                                                                    0.023529412,
                                                                    0.19215687,
                                                                    0.10980392,
                                                                    0.0,
                                                                    0.14117648,
                                                                    0.24705882,
                                                                    0.08627451,
                                                                    0.14901961,
                                                                    0.24705882,
                                                                    0.08235294,
                                                                    0.1764706,
                                                                    0.24705882,
                                                                    0.09019608,
                                                                    0.21176471,
                                                                    0.27058825,
                                                                    0.11764706,
                                                                    0.21960784,
                                                                    0.26666668,
                                                                    0.1254902,
                                                                    0.21176471,
                                                                    0.2509804,
                                                                    0.105882354,
                                                                    0.21960784,
                                                                    0.2627451,
                                                                    0.09803922,
                                                                    0.21176471,
                                                                    0.23921569,
                                                                    0.07450981,
                                                                    0.1882353,
                                                                    0.18039216,
                                                                    0.03137255,
                                                                    0.21960784,
                                                                    0.16470589,
                                                                    0.0,
                                                                    0.4862745,
                                                                    0.3647059,
                                                                    0.050980393,
                                                                    0.6627451,
                                                                    0.52156866,
                                                                    0.14509805,
                                                                    0.65882355,
                                                                    0.54509807,
                                                                    0.15294118,
                                                                    0.6627451,
                                                                    0.5529412,
                                                                    0.16078432,
                                                                    0.6901961,
                                                                    0.56078434,
                                                                    0.18039216,
                                                                    0.7176471,
                                                                    0.58431375,
                                                                    0.20392157,
                                                                    0.72156864,
                                                                    0.5803922,
                                                                    0.20392157,
                                                                    0.7411765,
                                                                    0.6,
                                                                    0.21960784,
                                                                    0.7176471,
                                                                    0.5882353,
                                                                    0.18431373,
                                                                    0.7176471,
                                                                    0.58431375,
                                                                    0.19215687,
                                                                    0.7137255,
                                                                    0.5764706,
                                                                    0.20784314,
                                                                    0.72156864,
                                                                    0.5647059,
                                                                    0.1882353,
                                                                    0.7411765,
                                                                    0.5568628,
                                                                    0.14117648,
                                                                    0.6862745,
                                                                    0.52156866,
                                                                    0.13725491,
                                                                    0.53333336,
                                                                    0.42352942,
                                                                    0.13725491,
                                                                    0.39215687,
                                                                    0.3254902,
                                                                    0.11372549,
                                                                    0.32156864,
                                                                    0.2784314,
                                                                    0.101960786,
                                                                    0.24705882,
                                                                    0.22352941,
                                                                    0.09019608,
                                                                    0.21176471,
                                                                    0.1882353,
                                                                    0.08627451,
                                                                    0.12156863,
                                                                    0.09411765,
                                                                    0.019607844,
                                                                    0.16078432,
                                                                    0.1254902,
                                                                    0.06666667,
                                                                    0.16078432,
                                                                    0.1254902,
                                                                    0.06666667,
                                                                    0.16470589,
                                                                    0.28627452,
                                                                    0.12156863,
                                                                    0.15686275,
                                                                    0.2627451,
                                                                    0.09411765,
                                                                    0.19607843,
                                                                    0.2784314,
                                                                    0.11764706,
                                                                    0.23529412,
                                                                    0.29803923,
                                                                    0.14509805,
                                                                    0.2,
                                                                    0.27058825,
                                                                    0.12156863,
                                                                    0.21176471,
                                                                    0.28235295,
                                                                    0.13333334,
                                                                    0.2509804,
                                                                    0.31764707,
                                                                    0.1764706,
                                                                    0.20392157,
                                                                    0.2627451,
                                                                    0.14901961,
                                                                    0.11372549,
                                                                    0.14117648,
                                                                    0.078431375,
                                                                    0.09411765,
                                                                    0.06666667,
                                                                    0.0,
                                                                    0.29803923,
                                                                    0.1882353,
                                                                    0.0,
                                                                    0.6039216,
                                                                    0.46666667,
                                                                    0.14901961,
                                                                    0.41960785,
                                                                    0.3137255,
                                                                    0.003921569,
                                                                    0.28627452,
                                                                    0.19215687,
                                                                    0.0,
                                                                    0.38039216,
                                                                    0.28627452,
                                                                    0.011764706,
                                                                    0.41568628,
                                                                    0.30588236,
                                                                    0.050980393,
                                                                    0.4745098,
                                                                    0.34901962,
                                                                    0.11764706,
                                                                    0.50980395,
                                                                    0.38431373,
                                                                    0.14509805,
                                                                    0.4509804,
                                                                    0.35686275,
                                                                    0.07450981,
                                                                    0.41960785,
                                                                    0.3254902,
                                                                    0.03529412,
                                                                    0.38039216,
                                                                    0.26666668,
                                                                    0.0,
                                                                    0.41568628,
                                                                    0.27450982,
                                                                    0.0,
                                                                    0.65882355,
                                                                    0.4862745,
                                                                    0.105882354,
                                                                    0.50980395,
                                                                    0.3529412,
                                                                    0.011764706,
                                                                    0.16078432,
                                                                    0.078431375,
                                                                    0.0,
                                                                    0.15294118,
                                                                    0.12941177,
                                                                    0.03529412,
                                                                    0.18431373,
                                                                    0.18039216,
                                                                    0.10980392,
                                                                    0.24313726,
                                                                    0.2509804,
                                                                    0.2,
                                                                    0.25882354,
                                                                    0.25882354,
                                                                    0.22745098,
                                                                    0.13725491,
                                                                    0.1254902,
                                                                    0.09803922,
                                                                    0.13333334,
                                                                    0.11764706,
                                                                    0.07450981,
                                                                    0.13725491,
                                                                    0.11372549,
                                                                    0.06666667,
                                                                    0.15686275,
                                                                    0.26666668,
                                                                    0.10980392,
                                                                    0.17254902,
                                                                    0.27450982,
                                                                    0.12156863,
                                                                    0.19607843,
                                                                    0.2784314,
                                                                    0.14901961,
                                                                    0.19607843,
                                                                    0.28235295,
                                                                    0.14117648,
                                                                    0.16862746,
                                                                    0.26666668,
                                                                    0.101960786,
                                                                    0.17254902,
                                                                    0.2627451,
                                                                    0.09803922,
                                                                    0.19215687,
                                                                    0.25882354,
                                                                    0.11764706,
                                                                    0.1882353,
                                                                    0.23137255,
                                                                    0.11372549,
                                                                    0.15294118,
                                                                    0.16078432,
                                                                    0.07450981,
                                                                    0.09803922,
                                                                    0.050980393,
                                                                    0.0,
                                                                    0.3372549,
                                                                    0.21176471,
                                                                    0.0,
                                                                    0.6431373,
                                                                    0.49411765,
                                                                    0.16862746,
                                                                    0.38431373,
                                                                    0.27058825,
                                                                    0.011764706,
                                                                    0.18039216,
                                                                    0.09019608,
                                                                    0.0,
                                                                    0.21176471,
                                                                    0.14117648,
                                                                    0.0,
                                                                    0.2509804,
                                                                    0.17254902,
                                                                    0.03529412,
                                                                    0.26666668,
                                                                    0.15686275,
                                                                    0.07058824,
                                                                    0.28235295,
                                                                    0.18039216,
                                                                    0.09019608,
                                                                    0.20784314,
                                                                    0.14901961,
                                                                    0.0,
                                                                    0.21568628,
                                                                    0.16078432,
                                                                    0.0,
                                                                    0.19607843,
                                                                    0.11372549,
                                                                    0.0,
                                                                    0.2784314,
                                                                    0.16078432,
                                                                    0.0,
                                                                    0.65882355,
                                                                    0.49803922,
                                                                    0.14509805,
                                                                    0.5058824,
                                                                    0.3647059,
                                                                    0.02745098,
                                                                    0.11764706,
                                                                    0.05882353,
                                                                    0.0,
                                                                    0.08235294,
                                                                    0.07450981,
                                                                    0.0,
                                                                    0.078431375,
                                                                    0.07450981,
                                                                    0.0,
                                                                    0.08235294,
                                                                    0.07058824,
                                                                    0.0,
                                                                    0.1254902,
                                                                    0.09803922,
                                                                    0.02745098,
                                                                    0.14509805,
                                                                    0.11372549,
                                                                    0.039215688,
                                                                    0.1764706,
                                                                    0.13333334,
                                                                    0.0627451,
                                                                    0.13333334,
                                                                    0.09019608,
                                                                    0.011764706,
                                                                    0.1764706,
                                                                    0.28235295,
                                                                    0.12156863,
                                                                    0.1764706,
                                                                    0.2784314,
                                                                    0.1254902,
                                                                    0.18039216,
                                                                    0.27450982,
                                                                    0.14901961,
                                                                    0.17254902,
                                                                    0.26666668,
                                                                    0.13333334,
                                                                    0.15294118,
                                                                    0.26666668,
                                                                    0.09411765,
                                                                    0.1764706,
                                                                    0.2784314,
                                                                    0.101960786,
                                                                    0.22352941,
                                                                    0.28627452,
                                                                    0.14117648,
                                                                    0.23529412,
                                                                    0.27450982,
                                                                    0.14117648,
                                                                    0.22352941,
                                                                    0.22745098,
                                                                    0.105882354,
                                                                    0.23529412,
                                                                    0.18431373,
                                                                    0.011764706,
                                                                    0.5019608,
                                                                    0.38431373,
                                                                    0.101960786,
                                                                    0.6901961,
                                                                    0.54509807,
                                                                    0.23921569,
                                                                    0.5647059,
                                                                    0.44705883,
                                                                    0.20392157,
                                                                    0.45882353,
                                                                    0.36862746,
                                                                    0.16470589,
                                                                    0.4392157,
                                                                    0.35686275,
                                                                    0.17254902,
                                                                    0.45882353,
                                                                    0.37254903,
                                                                    0.21960784,
                                                                    0.49019608,
                                                                    0.37254903,
                                                                    0.27058825,
                                                                    0.46666667,
                                                                    0.36078432,
                                                                    0.25490198,
                                                                    0.39607844,
                                                                    0.3254902,
                                                                    0.16862746,
                                                                    0.40784314,
                                                                    0.3529412,
                                                                    0.16862746,
                                                                    0.4,
                                                                    0.31764707,
                                                                    0.13333334,
                                                                    0.47058824,
                                                                    0.36862746,
                                                                    0.12941177,
                                                                    0.6784314,
                                                                    0.5372549,
                                                                    0.19215687,
                                                                    0.58431375,
                                                                    0.45882353,
                                                                    0.13333334,
                                                                    0.25490198,
                                                                    0.2,
                                                                    0.015686275,
                                                                    0.16078432,
                                                                    0.14117648,
                                                                    0.02745098,
                                                                    0.1882353,
                                                                    0.16862746,
                                                                    0.05490196,
                                                                    0.22352941,
                                                                    0.19607843,
                                                                    0.09411765,
                                                                    0.25490198,
                                                                    0.21568628,
                                                                    0.11764706,
                                                                    0.25882354,
                                                                    0.21568628,
                                                                    0.12941177,
                                                                    0.18431373,
                                                                    0.14117648,
                                                                    0.05490196,
                                                                    0.11764706,
                                                                    0.08627451,
                                                                    0.0,
                                                                    0.16470589,
                                                                    0.24705882,
                                                                    0.08627451,
                                                                    0.18039216,
                                                                    0.26666668,
                                                                    0.11372549,
                                                                    0.15294118,
                                                                    0.24705882,
                                                                    0.105882354,
                                                                    0.13725491,
                                                                    0.24705882,
                                                                    0.09803922,
                                                                    0.17254902,
                                                                    0.28235295,
                                                                    0.1254902,
                                                                    0.18431373,
                                                                    0.28235295,
                                                                    0.11764706,
                                                                    0.1882353,
                                                                    0.25490198,
                                                                    0.09019608,
                                                                    0.23137255,
                                                                    0.2627451,
                                                                    0.101960786,
                                                                    0.2627451,
                                                                    0.27058825,
                                                                    0.11764706,
                                                                    0.3254902,
                                                                    0.29411766,
                                                                    0.11372549,
                                                                    0.49019608,
                                                                    0.39607844,
                                                                    0.16078432,
                                                                    0.5803922,
                                                                    0.45882353,
                                                                    0.20392157,
                                                                    0.6156863,
                                                                    0.49803922,
                                                                    0.24705882,
                                                                    0.627451,
                                                                    0.52156866,
                                                                    0.25882354,
                                                                    0.6666667,
                                                                    0.54901963,
                                                                    0.2627451,
                                                                    0.6745098,
                                                                    0.54901963,
                                                                    0.25490198,
                                                                    0.69803923,
                                                                    0.5647059,
                                                                    0.28235295,
                                                                    0.7019608,
                                                                    0.5686275,
                                                                    0.2901961,
                                                                    0.6745098,
                                                                    0.5647059,
                                                                    0.2784314,
                                                                    0.6666667,
                                                                    0.5647059,
                                                                    0.27058825,
                                                                    0.654902,
                                                                    0.5529412,
                                                                    0.2509804,
                                                                    0.7019608,
                                                                    0.59607846,
                                                                    0.2784314,
                                                                    0.69411767,
                                                                    0.5686275,
                                                                    0.24313726,
                                                                    0.627451,
                                                                    0.5137255,
                                                                    0.21568628,
                                                                    0.44313726,
                                                                    0.38039216,
                                                                    0.14901961,
                                                                    0.36862746,
                                                                    0.32156864,
                                                                    0.13333334,
                                                                    0.3647059,
                                                                    0.3137255,
                                                                    0.14901961,
                                                                    0.3529412,
                                                                    0.3019608,
                                                                    0.16862746,
                                                                    0.30588236,
                                                                    0.26666668,
                                                                    0.16078432,
                                                                    0.21568628,
                                                                    0.19215687,
                                                                    0.105882354,
                                                                    0.09019608,
                                                                    0.078431375,
                                                                    0.003921569,
                                                                    0.09411765,
                                                                    0.09019608,
                                                                    0.011764706,
                                                                    0.1882353,
                                                                    0.25882354,
                                                                    0.101960786,
                                                                    0.16470589,
                                                                    0.24705882,
                                                                    0.09411765,
                                                                    0.2,
                                                                    0.3019608,
                                                                    0.15686275,
                                                                    0.20392157,
                                                                    0.3137255,
                                                                    0.16470589,
                                                                    0.14901961,
                                                                    0.25490198,
                                                                    0.11764706,
                                                                    0.15294118,
                                                                    0.24705882,
                                                                    0.105882354,
                                                                    0.17254902,
                                                                    0.22745098,
                                                                    0.09019608,
                                                                    0.14117648,
                                                                    0.16862746,
                                                                    0.03529412,
                                                                    0.11764706,
                                                                    0.12156863,
                                                                    0.0,
                                                                    0.13725491,
                                                                    0.11372549,
                                                                    0.0,
                                                                    0.19607843,
                                                                    0.1254902,
                                                                    0.0,
                                                                    0.24705882,
                                                                    0.15686275,
                                                                    0.0,
                                                                    0.27450982,
                                                                    0.1882353,
                                                                    0.0,
                                                                    0.3137255,
                                                                    0.23529412,
                                                                    0.003921569,
                                                                    0.35686275,
                                                                    0.26666668,
                                                                    0.0,
                                                                    0.37254903,
                                                                    0.2784314,
                                                                    0.0,
                                                                    0.40784314,
                                                                    0.29803923,
                                                                    0.011764706,
                                                                    0.40784314,
                                                                    0.29411766,
                                                                    0.019607844,
                                                                    0.41960785,
                                                                    0.32156864,
                                                                    0.05882353,
                                                                    0.38431373,
                                                                    0.30588236,
                                                                    0.03529412,
                                                                    0.37254903,
                                                                    0.3019608,
                                                                    0.019607844,
                                                                    0.38431373,
                                                                    0.30980393,
                                                                    0.039215688,
                                                                    0.35686275,
                                                                    0.2627451,
                                                                    0.019607844,
                                                                    0.3137255,
                                                                    0.23137255,
                                                                    0.007843138,
                                                                    0.25882354,
                                                                    0.20392157,
                                                                    0.011764706,
                                                                    0.23921569,
                                                                    0.19215687,
                                                                    0.02745098,
                                                                    0.21568628,
                                                                    0.16078432,
                                                                    0.015686275,
                                                                    0.1764706,
                                                                    0.12156863,
                                                                    0.007843138,
                                                                    0.12156863,
                                                                    0.09803922,
                                                                    0.011764706,
                                                                    0.09803922,
                                                                    0.08627451,
                                                                    0.019607844,
                                                                    0.09019608,
                                                                    0.09411765,
                                                                    0.039215688,
                                                                    0.08627451,
                                                                    0.09411765,
                                                                    0.039215688,
                                                                    0.1764706,
                                                                    0.25490198,
                                                                    0.10980392,
                                                                    0.18431373,
                                                                    0.27058825,
                                                                    0.12941177,
                                                                    0.21176471,
                                                                    0.30588236,
                                                                    0.17254902,
                                                                    0.18039216,
                                                                    0.2784314,
                                                                    0.15294118,
                                                                    0.12941177,
                                                                    0.21960784,
                                                                    0.105882354,
                                                                    0.14117648,
                                                                    0.21176471,
                                                                    0.10980392,
                                                                    0.14117648,
                                                                    0.1882353,
                                                                    0.101960786,
                                                                    0.11372549,
                                                                    0.12941177,
                                                                    0.0627451,
                                                                    0.078431375,
                                                                    0.08235294,
                                                                    0.02745098,
                                                                    0.05490196,
                                                                    0.039215688,
                                                                    0.0,
                                                                    0.08627451,
                                                                    0.05490196,
                                                                    0.003921569,
                                                                    0.09803922,
                                                                    0.0627451,
                                                                    0.0,
                                                                    0.08235294,
                                                                    0.05882353,
                                                                    0.0,
                                                                    0.09803922,
                                                                    0.08235294,
                                                                    0.0,
                                                                    0.07450981,
                                                                    0.078431375,
                                                                    0.0,
                                                                    0.09803922,
                                                                    0.09411765,
                                                                    0.0,
                                                                    0.11372549,
                                                                    0.08627451,
                                                                    0.0,
                                                                    0.101960786,
                                                                    0.07450981,
                                                                    0.0,
                                                                    0.10980392,
                                                                    0.09411765,
                                                                    0.0,
                                                                    0.09411765,
                                                                    0.09019608,
                                                                    0.0,
                                                                    0.101960786,
                                                                    0.08627451,
                                                                    0.0,
                                                                    0.09019608,
                                                                    0.06666667,
                                                                    0.0,
                                                                    0.10980392,
                                                                    0.07058824,
                                                                    0.0,
                                                                    0.105882354,
                                                                    0.07450981,
                                                                    0.0,
                                                                    0.105882354,
                                                                    0.078431375,
                                                                    0.007843138,
                                                                    0.08627451,
                                                                    0.0627451,
                                                                    0.007843138,
                                                                    0.09411765,
                                                                    0.0627451,
                                                                    0.011764706,
                                                                    0.09803922,
                                                                    0.07058824,
                                                                    0.03137255,
                                                                    0.07450981,
                                                                    0.0627451,
                                                                    0.03529412,
                                                                    0.078431375,
                                                                    0.07450981,
                                                                    0.05490196,
                                                                    0.105882354,
                                                                    0.10980392,
                                                                    0.078431375,
                                                                    0.06666667,
                                                                    0.078431375,
                                                                    0.043137256,
                                                                    0.15686275,
                                                                    0.23529412,
                                                                    0.09803922,
                                                                    0.16470589,
                                                                    0.2509804,
                                                                    0.10980392,
                                                                    0.18039216,
                                                                    0.27450982,
                                                                    0.14901961,
                                                                    0.14509805,
                                                                    0.23529412,
                                                                    0.12156863,
                                                                    0.1254902,
                                                                    0.20392157,
                                                                    0.09803922,
                                                                    0.15294118,
                                                                    0.21176471,
                                                                    0.12941177,
                                                                    0.1254902,
                                                                    0.15686275,
                                                                    0.105882354,
                                                                    0.07058824,
                                                                    0.08235294,
                                                                    0.05490196,
                                                                    0.07058824,
                                                                    0.06666667,
                                                                    0.050980393,
                                                                    0.078431375,
                                                                    0.0627451,
                                                                    0.05882353,
                                                                    0.08627451,
                                                                    0.07058824,
                                                                    0.07450981,
                                                                    0.07450981,
                                                                    0.07058824,
                                                                    0.0627451,
                                                                    0.078431375,
                                                                    0.08235294,
                                                                    0.050980393,
                                                                    0.07450981,
                                                                    0.09803922,
                                                                    0.050980393,
                                                                    0.06666667,
                                                                    0.11372549,
                                                                    0.06666667,
                                                                    0.06666667,
                                                                    0.105882354,
                                                                    0.0627451,
                                                                    0.0627451,
                                                                    0.07058824,
                                                                    0.050980393,
                                                                    0.07058824,
                                                                    0.078431375,
                                                                    0.05882353,
                                                                    0.050980393,
                                                                    0.078431375,
                                                                    0.050980393,
                                                                    0.043137256,
                                                                    0.08235294,
                                                                    0.050980393,
                                                                    0.0627451,
                                                                    0.07058824,
                                                                    0.06666667,
                                                                    0.05882353,
                                                                    0.05882353,
                                                                    0.050980393,
                                                                    0.0627451,
                                                                    0.050980393,
                                                                    0.03137255,
                                                                    0.07450981,
                                                                    0.0627451,
                                                                    0.043137256,
                                                                    0.07058824,
                                                                    0.06666667,
                                                                    0.05882353,
                                                                    0.07058824,
                                                                    0.06666667,
                                                                    0.05882353,
                                                                    0.09411765,
                                                                    0.078431375,
                                                                    0.07450981,
                                                                    0.05882353,
                                                                    0.05490196,
                                                                    0.047058824,
                                                                    0.07450981,
                                                                    0.06666667,
                                                                    0.07058824,
                                                                    0.08627451,
                                                                    0.08627451,
                                                                    0.08627451,
                                                                    0.078431375,
                                                                    0.08627451,
                                                                    0.06666667,
                                                                    0.078431375,
                                                                    0.09019608,
                                                                    0.0627451]}},
                           'label_xf': {'floatList': {'value': [0.0,
                                                                1.0,
                                                                0.0,
                                                                0.0,
                                                                0.0,
                                                                0.0,
                                                                0.0,
                                                                0.0,
                                                                0.0,
                                                                0.0]}}}}}]

Wrap Up

This notebook demonstrates how to do feature engineering with image datasets as opposed to simple tabular data. This should come in handy in your computer vision projects and you can also try replicating this process with other image datasets from TFDS.