عرض على TensorFlow.org | تشغيل في Google Colab | عرض المصدر على جيثب | تحميل دفتر |
TensorBoard يمكن استخدامها مباشرة في تجارب دفتر مثل Colab و Jupyter . يمكن أن يكون هذا مفيدًا لمشاركة النتائج ، ودمج TensorBoard في مهام سير العمل الحالية ، واستخدام TensorBoard دون تثبيت أي شيء محليًا.
يثبت
ابدأ بتثبيت TF 2.0 وتحميل ملحق الكمبيوتر المحمول TensorBoard:
للمستخدمين Jupyter: إذا كنت قد قمت بتثبيت Jupyter وTensorBoard في نفس virtualenv، ثم عليك أن تكون على ما يرام. إذا كنت تستخدم إعداد أكثر تعقيدا، مثل تثبيت Jupyter العالمي وحبات لمختلف كوندا / virtualenv البيئات، ثم يجب عليك التأكد من أن tensorboard
ثنائي على الخاص PATH
داخل سياق دفتر Jupyter. إحدى الطرق للقيام بذلك هي لتعديل kernel_spec
من أجل إلحاقها بالبيئة و 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 في دفتر الملاحظات باستخدام magics :
%tensorboard --logdir logs
يمكنك الآن عرض لوحات المعلومات مثل المقاييس والرسوم البيانية والرسوم البيانية وغيرها. بعض لوحات المعلومات غير متوفرة بعد في Colab (مثل المكوِّن الإضافي للملف الشخصي).
و %tensorboard
السحر لديها بالضبط نفس الشكل والخط الاحتجاج قيادة TensorBoard، ولكن مع %
، وقع أمامه.
يمكنك أيضًا بدء TensorBoard قبل التدريب لمراقبة تقدمه:
%tensorboard --logdir logs
يتم إعادة استخدام نفس الواجهة الخلفية لـ TensorBoard عن طريق إصدار الأمر نفسه. إذا تم اختيار دليل سجلات مختلف ، فسيتم فتح مثيل جديد من TensorBoard. تتم إدارة المنافذ تلقائيًا.
ابدأ في تدريب نموذج جديد وشاهد TensorBoard يتم تحديثه تلقائيًا كل 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
واجهات برمجة التطبيقات لمراقبة أكثر قليلا:
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)