টেনসরবোর্ডে পাঠ্য ডেটা প্রদর্শন করা হচ্ছে

TensorFlow.org এ দেখুন Google Colab-এ চালান GitHub-এ উৎস দেখুন নোটবুক ডাউনলোড করুন

ওভারভিউ

TensorFlow পাঠ্যের সারসংক্ষেপের API ব্যবহার, আপনি সহজেই নির্বিচারে টেক্সট লগ ইন করুন এবং TensorBoard এটা দেখতে পারেন। এটি আপনার ইনপুট ডেটার নমুনা এবং পরীক্ষা করতে বা এক্সিকিউশন মেটাডেটা বা জেনারেট করা পাঠ্য রেকর্ড করতে অত্যন্ত সহায়ক হতে পারে। আপনি পাঠ্য হিসাবে ডায়াগনস্টিক ডেটা লগ করতে পারেন যা আপনার মডেল বিকাশের সময় সহায়ক হতে পারে।

এই টিউটোরিয়ালে, আপনি Text Summary API-এর কিছু মৌলিক ব্যবহারের ক্ষেত্রে চেষ্টা করবেন।

সেটআপ

try:
  # %tensorflow_version only exists in Colab.
  %tensorflow_version 2.x
except Exception:
  pass

# Load the TensorBoard notebook extension.
%load_ext tensorboard
import tensorflow as tf

from datetime import datetime
import json
from packaging import version
import tempfile

print("TensorFlow version: ", tf.__version__)
assert version.parse(tf.__version__).release[0] >= 2, \
    "This notebook requires TensorFlow 2.0 or above."
TensorFlow version:  2.5.0-dev20210219

পাঠ্যের একক অংশ লগ করা হচ্ছে

টেক্সট সামারি এপিআই কীভাবে কাজ করে তা বোঝার জন্য, আপনি কেবল একটি বিট টেক্সট লগ করতে যাচ্ছেন এবং এটি টেনসরবোর্ডে কীভাবে উপস্থাপন করা হয়েছে তা দেখতে হবে।

my_text = "Hello world! 😃"
# Clear out any prior log data.
!rm -rf logs

# Sets up a timestamped log directory.
logdir = "logs/text_basics/" + datetime.now().strftime("%Y%m%d-%H%M%S")
# Creates a file writer for the log directory.
file_writer = tf.summary.create_file_writer(logdir)

# Using the file writer, log the text.
with file_writer.as_default():
  tf.summary.text("first_text", my_text, step=0)

এখন, টেক্সট পরীক্ষা করতে TensorBoard ব্যবহার করুন। UI স্পিন আপ হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন।

%tensorboard --logdir logs

একাধিক টেক্সট স্ট্রিম সংগঠিত

আপনার যদি পাঠ্যের একাধিক স্ট্রীম থাকে, আপনি সেগুলিকে সংগঠিত করতে সাহায্য করার জন্য আলাদা নামস্থানে রাখতে পারেন, ঠিক যেমন স্কেলার বা অন্যান্য ডেটা।

নোট করুন যে আপনি যদি অনেক ধাপে পাঠ্য লগ করেন, তাহলে টেনসরবোর্ড প্রদর্শনের ধাপগুলিকে সাবস্যাম্পল করবে যাতে উপস্থাপনাকে পরিচালনাযোগ্য করে তোলা যায়। ব্যবহার করে আপনি স্যাম্পলিং হার নিয়ন্ত্রণ করতে পারেন --samples_per_plugin পতাকা।

# Sets up a second directory to not overwrite the first one.
logdir = "logs/multiple_texts/" + datetime.now().strftime("%Y%m%d-%H%M%S")
# Creates a file writer for the log directory.
file_writer = tf.summary.create_file_writer(logdir)

# Using the file writer, log the text.
with file_writer.as_default():
  with tf.name_scope("name_scope_1"):
    for step in range(20):
      tf.summary.text("a_stream_of_text", f"Hello from step {step}", step=step)
      tf.summary.text("another_stream_of_text", f"This can be kept separate {step}", step=step)
  with tf.name_scope("name_scope_2"):
    tf.summary.text("just_from_step_0", "This is an important announcement from step 0", step=0)
%tensorboard --logdir logs/multiple_texts --samples_per_plugin 'text=5'

মার্কডাউন ব্যাখ্যা

TensorBoard পাঠ্যের সারাংশকে মার্কডাউন হিসাবে ব্যাখ্যা করে, যেহেতু সমৃদ্ধ বিন্যাস আপনার লগ করা ডেটা পড়তে এবং বুঝতে সহজ করে তুলতে পারে, যেমনটি নীচে দেখানো হয়েছে। (আপনি Markdown ব্যাখ্যা না চান তাহলে দেখুন এই সমস্যাটি দমন ব্যাখ্যা সমাধান নীচে উপস্থিত জন্য।)

# Sets up a third timestamped log directory under "logs"
logdir = "logs/markdown/" + datetime.now().strftime("%Y%m%d-%H%M%S")
# Creates a file writer for the log directory.
file_writer = tf.summary.create_file_writer(logdir)

some_obj_worth_noting = {
  "tfds_training_data": {
      "name": "mnist",
      "split": "train",
      "shuffle_files": "True",
  },
  "keras_optimizer": {
      "name": "Adagrad",
      "learning_rate": "0.001",
      "epsilon": 1e-07,
  },
  "hardware": "Cloud TPU",
}


# TODO: Update this example when TensorBoard is released with
# https://github.com/tensorflow/tensorboard/pull/4585
# which supports fenced codeblocks in Markdown.
def pretty_json(hp):
  json_hp = json.dumps(hp, indent=2)
  return "".join("\t" + line for line in json_hp.splitlines(True))

markdown_text = """
### Markdown Text

TensorBoard supports basic markdown syntax, including:

    preformatted code

**bold text**

| and | tables |
| ---- | ---------- |
| among | others |
"""

with file_writer.as_default():
  tf.summary.text("run_params", pretty_json(some_obj_worth_noting), step=0)
  tf.summary.text("markdown_jubiliee", markdown_text, step=0)
%tensorboard --logdir logs/markdown