مشاهده در TensorFlow.org | در Google Colab اجرا شود | مشاهده منبع در GitHub | دانلود دفترچه یادداشت |
TensorBoard می توان به طور مستقیم در تجارب نوت بوک از قبیل استفاده می COLAB و Jupyter . این می تواند برای به اشتراک گذاری نتایج، ادغام TensorBoard در جریان های کاری موجود و استفاده از TensorBoard بدون نصب چیزی به صورت محلی مفید باشد.
برپایی
با نصب TF 2.0 و بارگیری پسوند نوت بوک TensorBoard شروع کنید:
برای کاربران Jupyter: اگر شما Jupyter و TensorBoard به از virtualenv همان را نصب کرده اید، پس شما باید خوب به آن بروید. اگر شما با استفاده از تنظیمات پیچیده تر، مانند یک نصب و راه اندازی Jupyter جهانی و دانه های مختلف Conda / از virtualenv محیط، و سپس شما باید اطمینان حاصل شود که tensorboard
باینری است در خود PATH
در داخل متن نوت بوک Jupyter. یکی از راه های انجام این کار این است که اصلاح kernel_spec
به prepend کنید محیط زیست bin
دایرکتوری به PATH
، که در اینجا شرح .
برای کاربران کارگر بارانداز: در صورتی که شما در حال اجرا یک کارگر بارانداز تصویر سرور نوت بوک با استفاده از Jupyter TensorFlow را شبانه ، لازم است به افشای نه تنها پورت نوت بوک، اما پورت 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، datetime و 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 در نوت بوک با استفاده از جادوهای :
%tensorboard --logdir logs
اکنون می توانید داشبوردهایی مانند اسکالرها، نمودارها، هیستوگرام ها و موارد دیگر را مشاهده کنید. برخی از داشبوردها هنوز در Colab در دسترس نیستند (مانند افزونه نمایه).
%tensorboard
سحر و جادو است دقیقا همان فرمت دستور TensorBoard خط نیایش، اما با یک %
سومری در مقابل آن.
همچنین می توانید 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)