इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

नोटबुक में TensorBoard का उपयोग करना

TensorFlow.org पर देखें Google Colab में चलाएं GitHub पर स्रोत देखें

TensorBoard का उपयोग सीधे कोलाब और जुपिटर जैसे नोटबुक अनुभवों के भीतर किया जा सकता है। यह परिणामों को साझा करने, मौजूदा वर्कफ़्लोज़ में TensorBoard को एकीकृत करने और स्थानीय स्तर पर कुछ भी स्थापित किए बिना TensorBoard का उपयोग करने के लिए सहायक हो सकता है।

सेट अप

TF 2.0 स्थापित करके और TensorBoard नोटबुक एक्सटेंशन लोड करके प्रारंभ करें:

Jupyter उपयोगकर्ताओं के लिए: यदि आपने Jupyter और TensorBoard को एक ही virtualenv में स्थापित किया है, तो आपको जाना अच्छा होना चाहिए। आप एक अधिक जटिल सेटअप, एक वैश्विक Jupyter स्थापना और विभिन्न Conda / virtualenv वातावरण के लिए कर्नेल की तरह उपयोग कर रहे हैं, तो आप यह सुनिश्चित करना चाहिए कि tensorboard द्विआधारी अपने पर है PATH Jupyter नोटबुक संदर्भ के अंदर। ऐसा करने का एक तरीका पर्यावरण के bin निर्देशिका को PATH में kernel_spec करने के लिए kernel_spec को संशोधित करना है, जैसा कि यहां वर्णित है

Docker उपयोगकर्ताओं के लिए: यदि आप TensorFlow की रात का उपयोग करके Jupyter नोटबुक सर्वर की एक डॉकर छवि चला रहे हैं, तो न केवल नोटबुक के पोर्ट को उजागर करना आवश्यक है, बल्कि TensorBoard का पोर्ट। इस प्रकार, निम्नलिखित कमांड के साथ कंटेनर चलाएं:

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

जहाँ -p 6006 TensorBoard का डिफ़ॉल्ट पोर्ट है। यह आपके लिए एक TensorBoard उदाहरण चलाने के लिए एक पोर्ट आवंटित करेगा। समवर्ती उदाहरणों के लिए, अधिक बंदरगाहों को आवंटित करना आवश्यक है। कंटेनर के बाहर पोर्ट को बेनकाब करने के लिए --bind_all से %tensorboard पास करें।

# Load the TensorBoard notebook extension
%load_ext tensorboard

TensorFlow, डेटाटाइम और ओएस आयात करें:

import tensorflow as tf
import datetime, os

नोटबंदी में टेनसॉरबोर्ड

FashionMNIST डेटासेट डाउनलोड करें और इसे स्केल करें:

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 शुरू magics :

%tensorboard --logdir logs

अब आप डैशबोर्ड जैसे स्केलर, ग्राफ, हिस्टोग्राम और अन्य देख सकते हैं। कुछ डैशबोर्ड अभी तक कोलाब में उपलब्ध नहीं हैं (जैसे प्रोफ़ाइल प्लगइन)।

%tensorboard जादू का TensorBoard कमांड लाइन आह्वान के समान ही प्रारूप है, लेकिन इसके सामने एक % -sign है।

आप TensorBoard को प्रगति पर निगरानी रखने के लिए प्रशिक्षण से पहले भी शुरू कर सकते हैं:

%tensorboard --logdir logs

समान आदेश जारी करके समान TensorBoard बैकएंड का पुन: उपयोग किया जाता है। यदि एक अलग लॉग निर्देशिका को चुना गया था, तो TensorBoard का एक नया उदाहरण खोला जाएगा। पोर्ट स्वचालित रूप से प्रबंधित होते हैं।

एक नए मॉडल का प्रशिक्षण शुरू करें और हर 30 सेकंड में TensorBoard अपडेट को स्वचालित रूप से देखें या शीर्ष दाईं ओर दिए गए बटन से इसे ताज़ा करें:

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 एपीआई का उपयोग कर सकते हैं:

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)