TensorFlow.org पर देखें | Google Colab में चलाएं | GitHub पर स्रोत देखें | नोटबुक डाउनलोड करें |
TensorBoard सीधे जैसे नोटबुक अनुभवों के भीतर इस्तेमाल किया जा सकता Colab और Jupyter । यह परिणाम साझा करने, TensorBoard को मौजूदा वर्कफ़्लो में एकीकृत करने और स्थानीय रूप से कुछ भी स्थापित किए बिना TensorBoard का उपयोग करने में मददगार हो सकता है।
सेट अप
TF 2.0 स्थापित करके और TensorBoard नोटबुक एक्सटेंशन लोड करके प्रारंभ करें:
Jupyter उपयोगकर्ताओं के लिए: यदि आप एक ही virtualenv में Jupyter और TensorBoard स्थापित किया है, तो आप जाने के लिए अच्छा होना चाहिए। आप एक अधिक जटिल सेटअप, एक वैश्विक Jupyter स्थापना और विभिन्न Conda / virtualenv वातावरण के लिए कर्नेल की तरह उपयोग कर रहे हैं, तो आप यह सुनिश्चित करना चाहिए कि tensorboard
द्विआधारी अपने पर है PATH
Jupyter नोटबुक संदर्भ के अंदर। एक तरह से यह करने के लिए संशोधित करने के लिए है kernel_spec
पर्यावरण के पहले जोड़ें करने के लिए bin
करने के लिए निर्देशिका PATH
, के रूप में यहाँ वर्णित ।
डोकर उपयोगकर्ताओं के लिए: मामले में आप एक चल रहे हैं डोकर की छवि का उपयोग करते हुए 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, डेटाटाइम और os आयात करें:
import tensorflow as tf
import datetime, os
नोटबुक में TensorBoard
डाउनलोड 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')
])
Keras और TensorBoard कॉलबैक का उपयोग करके मॉडल को प्रशिक्षित करें:
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
अब आप स्केलर, ग्राफ़, हिस्टोग्राम और अन्य जैसे डैशबोर्ड देख सकते हैं। कुछ डैशबोर्ड अभी तक Colab में उपलब्ध नहीं हैं (जैसे कि प्रोफ़ाइल प्लग इन)।
%tensorboard
जादू TensorBoard कमांड लाइन मंगलाचरण के रूप में बिल्कुल एक ही प्रारूप है, लेकिन एक साथ %
के सामने रखी गई -sign।
आप TensorBoard की प्रगति पर निगरानी रखने के लिए प्रशिक्षण से पहले उसे प्रारंभ भी कर सकते हैं:
%tensorboard --logdir logs
उसी टेंसरबोर्ड बैकएंड को एक ही कमांड जारी करके पुन: उपयोग किया जाता है। यदि कोई भिन्न लॉग निर्देशिका चुनी जाती है, तो 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)