This page was translated by the Cloud Translation API.
Switch to English

নোটবুকগুলিতে টেনসরবোর্ড ব্যবহার করা

টেনসরফ্লো.আর.জে দেখুন গুগল কোলাবে চালান গিটহাবের উত্স দেখুন

TensorBoard সরাসরি যেমন নোটবুক অভিজ্ঞতা মধ্যে ব্যবহার করা যেতে পারে Colab এবং Jupyter । এটি ফলাফলগুলি ভাগ করে নেওয়ার জন্য, বিদ্যমান ওয়ার্কফ্লোতে টেনসরবোর্ডকে একীকরণ করতে এবং স্থানীয়ভাবে কিছু ইনস্টল না করে টেনসরবোর্ড ব্যবহার করার জন্য সহায়ক হতে পারে।

সেটআপ

টিএফ 2.0 ইনস্টল করে এবং টেনসরবোর্ড নোটবুক এক্সটেনশন লোড করে শুরু করুন:

জুপিটার ব্যবহারকারীদের জন্য: আপনি যদি জুপিটার এবং টেনসরবোর্ডকে একই ভার্চুয়ালেনভে ইনস্টল করেন, তবে আপনার যাওয়া ভাল। আপনি একটি আরো জটিল সেটআপ, একটি বিশ্বব্যাপী Jupyter ইনস্টলেশন ও বিভিন্ন Conda / virtualenv পরিবেশের জন্য কার্নেলের মত ব্যবহার করছেন, তাহলে আপনি অবশ্যই নিশ্চিত করতে হবে যে tensorboard বাইনারি আপনার উপর PATH Jupyter নোটবুক প্রসঙ্গ ভিতরে। এটি করার একটি উপায় kernel_spec এখানে বর্ণিত হিসাবে পরিবেশের bin ডিরেক্টরিটিকে PATHkernel_spec করতে kernel_spec পরিবর্তন করা।

আপনি যদি টেনসরফ্লো-র রাতে ব্যবহার করে জুপিটার নোটবুক সার্ভারের একটি ডকার চিত্র চালাচ্ছেন তবে কেবলমাত্র নোটবুকের বন্দরটিই নয়, টেনসরবোর্ডের বন্দরটিও প্রকাশ করা প্রয়োজন।

সুতরাং, নিম্নলিখিত কমান্ড দিয়ে ধারক চালান:

 docker run -it -p 8888:8888 -p 6006:6006 \
tensorflow/tensorflow:nightly-py3-jupyter 
 

যেখানে -p 6006 হ'ল টেনসরবোর্ডের ডিফল্ট বন্দর। এটি আপনার জন্য একটি টেনসরবোর্ড ইনস্ট্যান্স চালানোর জন্য একটি বন্দর বরাদ্দ করবে। সমকালীন দৃষ্টান্তগুলির জন্য, আরও বন্দর বরাদ্দ করা প্রয়োজন।

 # Load the TensorBoard notebook extension
%load_ext tensorboard
 

টেনসরফ্লো, ডেটটাইম এবং ওএস আমদানি করুন:

 import tensorflow as tf
import datetime, os
 

নোটবুকগুলিতে টেনসরবোর্ড

ফ্যাশনএমএনআইএসটি ডেটাসেটটি ডাউনলোড করুন এবং এটি স্কেল করুন:

 fashion_mnist = tf.keras.datasets.fashion_mnist

(x_train, y_train),(x_test, y_test) = fashion_mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
 
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz
32768/29515 [=================================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz
26427392/26421880 [==============================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz
8192/5148 [===============================================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz
4423680/4422102 [==============================] - 0s 0us/step

একটি খুব সাধারণ মডেল তৈরি করুন:

 def create_model():
  return tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(512, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation='softmax')
  ])
 

কেরাস এবং টেনসরবোর্ড কলব্যাক ব্যবহার করে মডেলটিকে প্রশিক্ষণ দিন:

 def train_model():
  
  model = create_model()
  model.compile(optimizer='adam',
                loss='sparse_categorical_crossentropy',
                metrics=['accuracy'])

  logdir = os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
  tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)

  model.fit(x=x_train, 
            y=y_train, 
            epochs=5, 
            validation_data=(x_test, y_test), 
            callbacks=[tensorboard_callback])

train_model()
 
Train on 60000 samples, validate on 10000 samples
Epoch 1/5
60000/60000 [==============================] - 11s 182us/sample - loss: 0.4976 - accuracy: 0.8204 - val_loss: 0.4143 - val_accuracy: 0.8538
Epoch 2/5
60000/60000 [==============================] - 10s 174us/sample - loss: 0.3845 - accuracy: 0.8588 - val_loss: 0.3855 - val_accuracy: 0.8626
Epoch 3/5
60000/60000 [==============================] - 10s 175us/sample - loss: 0.3513 - accuracy: 0.8705 - val_loss: 0.3740 - val_accuracy: 0.8607
Epoch 4/5
60000/60000 [==============================] - 11s 177us/sample - loss: 0.3287 - accuracy: 0.8793 - val_loss: 0.3596 - val_accuracy: 0.8719
Epoch 5/5
60000/60000 [==============================] - 11s 178us/sample - loss: 0.3153 - accuracy: 0.8825 - val_loss: 0.3360 - val_accuracy: 0.8782

নোটবুক ব্যবহার মধ্যে TensorBoard শুরু ম্যাজিক :

 %tensorboard --logdir logs
 

আপনি এখন ড্যাশবোর্ডগুলি যেমন স্কেলার, গ্রাফ, হিস্টোগ্রাম এবং অন্যান্য দেখতে পারেন। কিছু ড্যাশবোর্ড এখনও কোলাবে উপলভ্য নয় (যেমন প্রোফাইল প্লাগইন হিসাবে)।

%tensorboard যাদুতে টেনসরবোর্ড কমান্ড লাইন অনুরোধের অনুরূপ ফর্ম্যাট রয়েছে তবে এর সামনে % -সাইন দিয়ে।

এটি অগ্রগতিতে নিরীক্ষণের জন্য প্রশিক্ষণের আগে আপনি টেনসরবোর্ডও শুরু করতে পারেন:

 %tensorboard --logdir logs
 

একই কমান্ড জারি করে একই টেনসরবোর্ড ব্যাকএন্ড পুনরায় ব্যবহার করা হয়। যদি কোনও ভিন্ন লগ ডিরেক্টরি চয়ন করা হয় তবে টেনসরবোর্ডের একটি নতুন উদাহরণ খোলা হবে। পোর্টগুলি স্বয়ংক্রিয়ভাবে পরিচালিত হয়।

একটি নতুন মডেলকে প্রশিক্ষণ দেওয়া শুরু করুন এবং প্রতি 30 সেকেন্ডে স্বয়ংক্রিয়ভাবে টেনসরবোর্ড আপডেটটি দেখুন বা উপরের ডানদিকে বোতামটি রিফ্রেশ করুন:

 train_model()
 
Train on 60000 samples, validate on 10000 samples
Epoch 1/5
60000/60000 [==============================] - 11s 184us/sample - loss: 0.4968 - accuracy: 0.8223 - val_loss: 0.4216 - val_accuracy: 0.8481
Epoch 2/5
60000/60000 [==============================] - 11s 176us/sample - loss: 0.3847 - accuracy: 0.8587 - val_loss: 0.4056 - val_accuracy: 0.8545
Epoch 3/5
60000/60000 [==============================] - 11s 176us/sample - loss: 0.3495 - accuracy: 0.8727 - val_loss: 0.3600 - val_accuracy: 0.8700
Epoch 4/5
60000/60000 [==============================] - 11s 179us/sample - loss: 0.3282 - accuracy: 0.8795 - val_loss: 0.3636 - val_accuracy: 0.8694
Epoch 5/5
60000/60000 [==============================] - 11s 176us/sample - loss: 0.3115 - accuracy: 0.8839 - val_loss: 0.3438 - val_accuracy: 0.8764

আপনি আরও কিছুটা নিয়ন্ত্রণের জন্য tensorboard.notebook API ব্যবহার করতে পারেন:

 from tensorboard import notebook
notebook.list() # View open TensorBoard instances
 
Known TensorBoard instances:

  - port 6006: logdir logs (started 0:00:54 ago; pid 265)

 # Control TensorBoard display. If no port is provided, 
# the most recently launched TensorBoard is used
notebook.display(port=6006, height=1000)