Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

TensorFlow Modeli Analizi

Genişletilmiş TensorFlow temel bir bileşeni, bir örnek (TFX)

Bu örnek, CoLab dizüstü TensorFlow Modeli Analizi (TFMA) bir veri kümesi özelliklerini ve bir model performansını araştırmak ve görselleştirmek için nasıl kullanılabileceğini göstermektedir. Biz daha önce eğitilmiş bir modeli kullanacağız ve şimdi sonuçları ile oynamak için olsun!

Biz eğitimli modeli oldu Chicago Taksi Örnek kullanır, Taksi veri kümesi Gezileri Chicago City yayınladı.

Devamı içinde veri kümesi hakkında Google BigQuery'ye . Tam veri kümesini keşfedin BigQuery UI .

veri kümesindeki sütunlar şunlardır:

pickup_community_area Ücret trip_start_month
trip_start_hour trip_start_day trip_start_timestamp
pickup_latitude pickup_longitude dropoff_latitude
dropoff_longitude trip_miles pickup_census_tract
dropoff_census_tract ödeme şekli şirket
trip_seconds dropoff_community_area ipuçları

Jupyter Uzantıları Yükleme

 jupyter nbextension enable --py widgetsnbextension
jupyter nbextension install --py --symlink tensorflow_model_analysis
jupyter nbextension enable --py tensorflow_model_analysis
 

Yükleme TensorFlow Modeli Analizi (TFMA)

Bu, tüm bağımlılıkları çeker ve bir dakika sürer. uyarıları görmezden gelin.

 import sys

# Confirm that we're using Python 3
assert sys.version_info.major is 3, 'Oops, not running Python 3. Use Runtime > Change runtime type'
 
 import tensorflow as tf
print('TF version: {}'.format(tf.__version__))

print('Installing Apache Beam')
!pip install -Uq apache_beam==2.17.0
import apache_beam as beam
print('Beam version: {}'.format(beam.__version__))

# Install TFMA
# This will pull in all the dependencies, and will take a minute
# Please ignore the warnings
!pip install -q tensorflow-model-analysis==0.21.3

import tensorflow as tf
import tensorflow_model_analysis as tfma
print('TFMA version: {}'.format(tfma.version.VERSION_STRING))
 
TF version: 2.2.0
Installing Apache Beam
Beam version: 2.17.0
ERROR: tfx-bsl 0.22.1 has requirement apache-beam[gcp]<3,>=2.20, but you'll have apache-beam 2.17.0 which is incompatible.
ERROR: tfx-bsl 0.22.1 has requirement pyarrow<0.17,>=0.16.0, but you'll have pyarrow 0.15.1 which is incompatible.
ERROR: tfx-bsl 0.22.1 has requirement tensorflow-metadata<0.23,>=0.22.2, but you'll have tensorflow-metadata 0.21.2 which is incompatible.

Error importing tfx_bsl_extension.coders. Some tfx_bsl functionalities are not available
TFMA version: 0.21.3

Files yükle

Biz her şeyi biz ihtiyaç olan bir tar dosya indirirsiniz. Yani içerir:

  • Eğitim ve değerlendirme veri kümeleri
  • Veri şeması
  • EvalSavedModels olarak Sonuçları Eğitim
 # Download the tar file from GCP and extract it
import io, os, tempfile
BASE_DIR = tempfile.mkdtemp()
TFMA_DIR = os.path.join(BASE_DIR, 'eval_saved_models-0.15.0')
DATA_DIR = os.path.join(TFMA_DIR, 'data')
OUTPUT_DIR = os.path.join(TFMA_DIR, 'output')
SCHEMA = os.path.join(TFMA_DIR, 'schema.pbtxt')

!wget https://storage.googleapis.com/artifacts.tfx-oss-public.appspot.com/datasets/eval_saved_models-0.15.0.tar
!tar xf eval_saved_models-0.15.0.tar
!mv eval_saved_models-0.15.0 {BASE_DIR}
!rm eval_saved_models-0.15.0.tar

print("Here's what we downloaded:")
!ls -R {TFMA_DIR}
 
--2020-07-27 09:11:38--  https://storage.googleapis.com/artifacts.tfx-oss-public.appspot.com/datasets/eval_saved_models-0.15.0.tar
Resolving storage.googleapis.com (storage.googleapis.com)... 64.233.189.128, 108.177.97.128, 108.177.125.128, ...
Connecting to storage.googleapis.com (storage.googleapis.com)|64.233.189.128|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4311040 (4.1M) [application/x-tar]
Saving to: ‘eval_saved_models-0.15.0.tar’

eval_saved_models-0 100%[===================>]   4.11M  12.3MB/s    in 0.3s    

2020-07-27 09:11:39 (12.3 MB/s) - ‘eval_saved_models-0.15.0.tar’ saved [4311040/4311040]

Here's what we downloaded:
/tmp/tmpgq6r13oe/eval_saved_models-0.15.0:
data  run_0  run_1  run_2  schema.pbtxt

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/data:
eval  train

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/data/eval:
data.csv

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/data/train:
data.csv

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0:
eval_model_dir

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir:
1578507304

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304:
assets  saved_model.pb  variables

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304/assets:
vocab_compute_and_apply_vocabulary_1_vocabulary
vocab_compute_and_apply_vocabulary_vocabulary

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304/variables:
variables.data-00000-of-00001  variables.index

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1:
eval_model_dir

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1/eval_model_dir:
1578507304

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1/eval_model_dir/1578507304:
assets  saved_model.pb  variables

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1/eval_model_dir/1578507304/assets:
vocab_compute_and_apply_vocabulary_1_vocabulary
vocab_compute_and_apply_vocabulary_vocabulary

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1/eval_model_dir/1578507304/variables:
variables.data-00000-of-00001  variables.index

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2:
eval_model_dir

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2/eval_model_dir:
1578507304

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2/eval_model_dir/1578507304:
assets  saved_model.pb  variables

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2/eval_model_dir/1578507304/assets:
vocab_compute_and_apply_vocabulary_1_vocabulary
vocab_compute_and_apply_vocabulary_vocabulary

/tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2/eval_model_dir/1578507304/variables:
variables.data-00000-of-00001  variables.index

Şemayı ayrıştırma

Biz indirilen şeylerin yanı tarafından yaratıldı bizim veri için bir şema oldu TensorFlow Veri Doğrulama . Biz TFMA ile kullanabilirsiniz şimdi böylece edelim ayrıştırma.

 from google.protobuf import text_format
from tensorflow.python.lib.io import file_io
from tensorflow_metadata.proto.v0 import schema_pb2
from tensorflow.core.example import example_pb2

schema = schema_pb2.Schema()
contents = file_io.read_file_to_string(SCHEMA)
schema = text_format.Parse(contents, schema)
 

TFRecords oluşturma Şeması kullanın

Biz bu yüzden bir TFRecords dosyası oluşturmak etsinler, veri kümesine TFMA erişmesine izin vermeniz gerekir. Biz bize her özellik için doğru türde verir çünkü bunu oluşturmak için şema kullanabilirsiniz.

 import csv

datafile = os.path.join(DATA_DIR, 'eval', 'data.csv')
reader = csv.DictReader(open(datafile, 'r'))
examples = []
for line in reader:
  example = example_pb2.Example()
  for feature in schema.feature:
    key = feature.name
    if len(line[key]) > 0:
      if feature.type == schema_pb2.FLOAT:
        example.features.feature[key].float_list.value[:] = [float(line[key])]
      elif feature.type == schema_pb2.INT:
        example.features.feature[key].int64_list.value[:] = [int(line[key])]
      elif feature.type == schema_pb2.BYTES:
        example.features.feature[key].bytes_list.value[:] = [line[key].encode('utf8')]
    else:
      if feature.type == schema_pb2.FLOAT:
        example.features.feature[key].float_list.value[:] = []
      elif feature.type == schema_pb2.INT:
        example.features.feature[key].int64_list.value[:] = []
      elif feature.type == schema_pb2.BYTES:
        example.features.feature[key].bytes_list.value[:] = []
  examples.append(example)

TFRecord_file = os.path.join(BASE_DIR, 'train_data.rio')
with tf.io.TFRecordWriter(TFRecord_file) as writer:
  for example in examples:
    writer.write(example.SerializeToString())
  writer.flush()
  writer.close()

!ls {TFRecord_file}
 
/tmp/tmpgq6r13oe/train_data.rio

TFMA çalıştırın ve Metriklerini Render

Şimdi biz TFMA çalıştırın ve ölçümlerini işlemek için kullanacağımız bir işlev oluşturmak için hazırsınız. Bir gerektirir EvalSavedModel bir listesini SliceSpecs ve SliceSpec listesine bir dizin. Bu kullanarak bir EvalResult yaratacak tfma.run_model_analysis ve oluşturmak için kullanabilirsiniz SlicingMetricsViewer kullanarak tfma.view.render_slicing_metrics Yarattığımız dilim kullanarak veri kümesi bir görselleştirme hale getirecek.

 def run_and_render(eval_model=None, slice_list=None, slice_idx=0):
  """Runs the model analysis and renders the slicing metrics

  Args:
      eval_model: An instance of tf.saved_model saved with evaluation data
      slice_list: A list of tfma.slicer.SingleSliceSpec giving the slices
      slice_idx: An integer index into slice_list specifying the slice to use

  Returns:
      A SlicingMetricsViewer object if in Jupyter notebook; None if in Colab.
  """
  eval_result = tfma.run_model_analysis(eval_shared_model=eval_model,
                                          data_location=TFRecord_file,
                                          file_format='tfrecords',
                                          slice_spec=slice_list,
                                          output_path='sample_data',
                                          extractors=None)
  return tfma.view.render_slicing_metrics(eval_result, slicing_spec=slice_list[slice_idx])
 

Dilimleniyor ve kesiliyor

Biz daha önce bir modeli eğitimli ve şimdi sonuçlarını yükledim. Let kendi yapısal özelliğine boyunca dilim TFMA kullanarak başlayarak bizim görsel bir göz atın. Ama önce bizim önceki eğitim koşular birinden EvalSavedModel okumak gerekir.

Arsalar interaktif şunlardır:

  • Tıklama ve sürükleme kaydırmak için
  • Kaydırma için yakınlaştırma
  • Sağ görünümü sıfırlamak için tıklayın

Basitçe vurgulu istenen veri noktası üzerinde daha fazla ayrıntı görmek için. altta seçimleri kullanılarak grafiklerin dört farklı türleri arasından seçin.

Örneğin, ayarlarını yapacak slicing_column bakmak için trip_start_hour bizim özelliğini SliceSpec .

 # Load the TFMA results for the first training run
# This will take a minute
eval_model_base_dir_0 = os.path.join(TFMA_DIR, 'run_0', 'eval_model_dir')
eval_model_dir_0 = os.path.join(eval_model_base_dir_0, next(os.walk(eval_model_base_dir_0))[1][0])
eval_shared_model_0 = tfma.default_eval_shared_model(eval_saved_model_path=eval_model_dir_0)

# Slice our data by the trip_start_hour feature
slices = [tfma.slicer.SingleSliceSpec(columns=['trip_start_hour'])]

run_and_render(eval_model=eval_shared_model_0, slice_list=slices, slice_idx=0)
 
WARNING:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta
WARNING:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_model_analysis/eval_saved_model/load.py:169: load (from tensorflow.python.saved_model.loader_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.loader.load or tf.compat.v1.saved_model.load. There will be a new function for importing SavedModels in Tensorflow 2.0.

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_model_analysis/eval_saved_model/load.py:169: load (from tensorflow.python.saved_model.loader_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.loader.load or tf.compat.v1.saved_model.load. There will be a new function for importing SavedModels in Tensorflow 2.0.

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304/variables/variables

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304/variables/variables

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_model_analysis/eval_saved_model/graph_ref.py:189: get_tensor_from_tensor_info (from tensorflow.python.saved_model.utils_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.utils.get_tensor_from_tensor_info or tf.compat.v1.saved_model.get_tensor_from_tensor_info.

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_model_analysis/eval_saved_model/graph_ref.py:189: get_tensor_from_tensor_info (from tensorflow.python.saved_model.utils_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.utils.get_tensor_from_tensor_info or tf.compat.v1.saved_model.get_tensor_from_tensor_info.

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py:1666: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow/python/ops/resource_variable_ops.py:1666: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.
WARNING:root:Couldn't find python-snappy so the implementation of _TFRecordUtil._masked_crc32c is not as fast as it could be.

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_model_analysis/writers/metrics_and_plots_serialization.py:125: tf_record_iterator (from tensorflow.python.lib.io.tf_record) is deprecated and will be removed in a future version.
Instructions for updating:
Use eager execution and: 
`tf.data.TFRecordDataset(path)`

Warning:tensorflow:From /tmpfs/src/tf_docs_env/lib/python3.6/site-packages/tensorflow_model_analysis/writers/metrics_and_plots_serialization.py:125: tf_record_iterator (from tensorflow.python.lib.io.tf_record) is deprecated and will be removed in a future version.
Instructions for updating:
Use eager execution and: 
`tf.data.TFRecordDataset(path)`

SlicingMetricsViewer(config={'weightedExamplesColumn': 'post_export_metrics/example_count'}, data=[{'slice': '…

dilimler bakış

Dilim sayısı az olduğu zaman, varsayılan görselleştirme Dilimleri Bakış olduğunu. Her dilim için ölçütlerinin değerlerini gösterir. Seçtiğimiz yana trip_start_hour yukarıda, bize bizi birkaç saat ve diğerlerini özel sorunlar aramasını sağlar her saat için doğruluk ve AUC gibi ölçümleri gösteriyor.

görselleştirme Yukarıda:

  • Bizim olan özellik sütunu, sıralamayı deneyin trip_start_hours sütun başlığını tıklayarak, özelliği
  • Örneklerle saat bazıları için kesinlik 0 olduğuna dair bir sorun olduğunu gösterebilir, hangi hassasiyet ile sıralamayı deneyin ihbar

grafik de bize seçmek ve bizim dilimler halinde farklı ölçümleri görüntülemek için izin verir.

  • "Göster" menüsünden farklı ölçümleri seçmeyi deneyin
  • "Göster" menüsünde hatırlama seçmeyi deneyin ve ihbar örneklerle saat bazıları için hatırlama bir sorun olduğunu gösterebilir 0 olduğunu

Küçük örneklerin numarasına veya "ağırlıkları" ile dilimleri filtrelemek için bir eşik ayarlamak da mümkündür. Örnekler az sayıda yazın veya kaydırıcıyı kullanabilirsiniz.

Metrik Histogram

Bu, aynı zamanda dilim sayısı fazla olduğunda aynı zamanda varsayılan görünüşüdür alternatif bir görselleştirme gibi bir Metrik Histogram destekler. Sonuçlar kova bölünecek ve dilimler / toplam ağırlık sayısı / her görselleştirilebilir. Sütunlar sütun başlığını tıklayarak sıralanabilir. küçük ağırlıklarla Dilimler eşiği ayarı üzerinden filtre edilebilir. Bundan başka filtreleme gri bant sürükleyerek uygulanabilir. aralığını sıfırlamak için çift bant tıklayın. Filtreleme ayrıca görselleştirme uç değerleri ve ölçümleri tabloları kaldırmak için kullanılabilir. logaritmik ölçek yerine doğrusal bir ölçeğe anahtara dişli simgesini tıklayın.

  • Görselleştirme menüsünde "Metrik Histogram" seçmeyi deneyin

Daha Dilimler

En bütün bir liste oluşturmak Let SliceSpec bize listedeki dilim herhangi seçmenizi sağlayacak s. Biz seçeceğiz trip_start_day ayarlayarak (gün haftanın) dilim slice_idx için 1 . Değiştirmeyi deneyin slice_idx için 0 veya 2 ve farklı dilimlerini incelemek için yeniden yayınlanmaya.

 slices = [tfma.slicer.SingleSliceSpec(columns=['trip_start_hour']),
          tfma.slicer.SingleSliceSpec(columns=['trip_start_day']),
          tfma.slicer.SingleSliceSpec(columns=['trip_start_month'])]
run_and_render(eval_model=eval_shared_model_0, slice_list=slices, slice_idx=1)
 
WARNING:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta
WARNING:root:Deleting 1 existing files in target path matching: 
WARNING:root:Deleting 1 existing files in target path matching: 
WARNING:root:Deleting 1 existing files in target path matching: 

SlicingMetricsViewer(config={'weightedExamplesColumn': 'post_export_metrics/example_count'}, data=[{'slice': '…

Sen özelliklerin kombinasyonları analiz etmek özellik haç oluşturabilir. Diyelim bir oluşturmak SliceSpec bir haç bakmak için trip_start_day ve trip_start_hour :

 slices = [tfma.slicer.SingleSliceSpec(columns=['trip_start_day', 'trip_start_hour'])]
run_and_render(eval_shared_model_0, slices, 0)
 
WARNING:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta
WARNING:root:Deleting 1 existing files in target path matching: 
WARNING:root:Deleting 1 existing files in target path matching: 
WARNING:root:Deleting 1 existing files in target path matching: 

SlicingMetricsViewer(config={'weightedExamplesColumn': 'post_export_metrics/example_count'}, data=[{'slice': '…

iki sütun geçerken kombinasyonları bir sürü oluşturur! En öğlen başlayacak geziler sadece görünüm bizim haç daraltmak edelim. O zaman seçme izin accuracy görselleştirme:

 slices = [tfma.slicer.SingleSliceSpec(columns=['trip_start_day'], features=[('trip_start_hour', 12)])]
run_and_render(eval_shared_model_0, slices, 0)
 
WARNING:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta
WARNING:root:Deleting 1 existing files in target path matching: 
WARNING:root:Deleting 1 existing files in target path matching: 
WARNING:root:Deleting 1 existing files in target path matching: 

SlicingMetricsViewer(config={'weightedExamplesColumn': 'post_export_metrics/example_count'}, data=[{'slice': '…

Takip Modeli Performans Zaman İçinde

Eğitiminiz veri kümesi modeli eğitim için kullanılacak, ve umarım test veri kümesi ve üretimde modeliniz gönderilecek verilerin temsilcisi olacaktır. çıkarsama isteklerinde veriler eğitim verileriyle aynı kalabilir ancak bununla birlikte, birçok durumda yeterli böylece modelin performansı değişeceğini değiştirmeye başlayacaktır.

Bunun anlamı sen farkında olmalı ve değişikliklere tepki verebilir böylece, izlemek ve sürekli olarak modelinizin performansını ölçmek gerektiğini. Diyelim TFMA nasıl yardımcı olabileceğini bakmak.

Performans İçin Yeni Verileri ölçün

Biz şimdi yükünü onlara izin ve kullandıkları karşılaştırın nasıl çalıştığını görmek için TFMA kullanın yukarıdaki üç farklı eğitim çalıştırılmasının sonuçlarını indirilen render_time_series . Biz bakmak için belirli dilimleri belirtebilirsiniz. en öğlen başladığını gezileri için bizim eğitim koşular karşılaştıralım.

  • o metrik için zaman serisi grafik eklemeyi açılır listesinden bir metrik seçin
  • Yakın istenmeyen grafikleri
  • veri noktaları üzerine getirin (grafikte çizgi segmentleri uçları) Daha fazla ayrıntı için
 def get_eval_result(base_dir, output_dir, data_loc, slice_spec):
  eval_model_dir = os.path.join(base_dir, next(os.walk(base_dir))[1][0])
  eval_shared_model = tfma.default_eval_shared_model(eval_saved_model_path=eval_model_dir)

  return tfma.run_model_analysis(eval_shared_model=eval_shared_model,
                                          data_location=data_loc,
                                          file_format='tfrecords',
                                          slice_spec=slice_spec,
                                          output_path=output_dir,
                                          extractors=None)

slices = [tfma.slicer.SingleSliceSpec()]
output_dir_0 = os.path.join(TFMA_DIR, 'output', 'run_0')
result_ts0 = get_eval_result(os.path.join(TFMA_DIR, 'run_0', 'eval_model_dir'),
                             output_dir_0, TFRecord_file, slices)
output_dir_1 = os.path.join(TFMA_DIR, 'output', 'run_1')
result_ts1 = get_eval_result(os.path.join(TFMA_DIR, 'run_1', 'eval_model_dir'),
                             output_dir_1, TFRecord_file, slices)
output_dir_2 = os.path.join(TFMA_DIR, 'output', 'run_2')
result_ts2 = get_eval_result(os.path.join(TFMA_DIR, 'run_2', 'eval_model_dir'),
                             output_dir_2, TFRecord_file, slices)
 
WARNING:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304/variables/variables

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_0/eval_model_dir/1578507304/variables/variables

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1/eval_model_dir/1578507304/variables/variables

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_1/eval_model_dir/1578507304/variables/variables

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

Warning:tensorflow:Tensorflow version (2.2.0) found. Note that TFMA support for TF 2.0 is currently in beta

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2/eval_model_dir/1578507304/variables/variables

INFO:tensorflow:Restoring parameters from /tmp/tmpgq6r13oe/eval_saved_models-0.15.0/run_2/eval_model_dir/1578507304/variables/variables

Nasıl bugün görünüyor?

İlk olarak, bizler modeli dün eğitimli ve dağıttıktan hayal edeceğiz, şimdi de bugüne gelen yeni verilere nasıl olduğunu görmek istiyorum. görselleştirme doğruluğunu göstererek başlayacak. "Metrik serisi Ekle" menüsünü kullanarak AUC ve ortalama kaybı ekleyin.

 eval_results_from_disk = tfma.load_eval_results([output_dir_0, output_dir_1],
                                                tfma.constants.MODEL_CENTRIC_MODE)

tfma.view.render_time_series(eval_results_from_disk, slices[0])
 
TimeSeriesViewer(config={'isModelCentric': True}, data=[{'metrics': {'': {'': {'precision': {'doubleValue': 0.…

Şimdi başka bir gün geçti hayal edeceğiz ve önceki iki gün kıyasla bugün geliyor yeni verilere nasıl olduğunu görmek istiyorum. Yine "metrik serisi Ekle" menüsünü kullanarak AUC ve ortalama kayıp ekleyin:

 eval_results_from_disk = tfma.load_eval_results([output_dir_0, output_dir_1, output_dir_2],
                                                tfma.constants.MODEL_CENTRIC_MODE)

tfma.view.render_time_series(eval_results_from_disk, slices[0])
 
TimeSeriesViewer(config={'isModelCentric': True}, data=[{'metrics': {'': {'': {'label/mean': {'doubleValue': 0…