Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Defterlerde TensorBoard Kullanımı

TensorFlow.org üzerinde görüntüle Google Colab'da yayınla Kaynağı GitHub'da görüntüle

TensorBoard, Colab ve Jupyter gibi dizüstü bilgisayar deneyimlerinde doğrudan kullanılabilir. Bu, sonuçları paylaşmak, TensorBoard'u mevcut iş akışlarına entegre etmek ve yerel olarak hiçbir şey kurmadan TensorBoard'u kullanmak için yararlı olabilir.

Kurmak

TF 2.0'ı yükleyip TensorBoard dizüstü bilgisayar uzantısını yükleyerek başlayın:

Jupyter kullanıcıları için: Jupyter ve TensorBoard'u aynı virtualenv'e kurduysanız, gitmek için iyi olmalısınız. Farklı Conda / Virtualenv ortamlar için global Jupyter kurulum ve çekirdekleri gibi daha karmaşık kurulum, kullanıyorsanız, o zaman emin olmalıdır tensorboard ikili senin üzerindedir PATH Jupyter dizüstü bağlamında iç. Bunu yapmanın bir yolu, burada açıklandığı gibi , ortamın bin dizinini PATH yerine eklemek için kernel_spec değiştirmektir.

TensorFlow'un gecelik özelliğini kullanarak Jupyter Notebook sunucusunun Docker görüntüsünü çalıştırıyorsanız, yalnızca dizüstü bilgisayarın bağlantı noktasını değil, TensorBoard'un bağlantı noktasını da açmanız gerekir.

Böylece, kapsayıcıyı aşağıdaki komutla çalıştırın:

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

burada -p 6006 , TensorBoard'un varsayılan bağlantı noktasıdır. Bu, bir TensorBoard örneği çalıştırmanız için bir bağlantı noktası atayacaktır. Eşzamanlı örneklere sahip olmak için daha fazla bağlantı noktası ayırmak gerekir.

 # Load the TensorBoard notebook extension
%load_ext tensorboard
 

TensorFlow, datetime ve os dosyalarını içe aktarın:

 import tensorflow as tf
import datetime, os
 

Dizüstü bilgisayarlarda TensorBoard

FashionMNIST veri kümesini indirin ve ölçeklendirin:

 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

Çok basit bir model oluşturun:

 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 ve TensorBoard geri aramasını kullanarak modeli eğitin:

 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

Kullanarak dizüstü içinde TensorBoard başlatın büyüleri :

 %tensorboard --logdir logs
 

Artık skaler, grafik, histogram ve diğerleri gibi gösterge tablolarını görüntüleyebilirsiniz. Bazı gösterge tabloları henüz Colab'da mevcut değildir (profil eklentisi gibi).

%tensorboard büyüsü, TensorBoard komut satırı çağrısıyla tam olarak aynı biçime sahiptir, ancak önünde % -sign işareti bulunur.

Ayrıca devam etmekte olan izlemek için eğitimden önce TensorBoard'u başlatabilirsiniz:

 %tensorboard --logdir logs
 

Aynı TensorBoard arka ucu, aynı komut kullanılarak yeniden kullanılır. Farklı bir günlük dizini seçilirse, yeni bir TensorBoard örneği açılır. Bağlantı noktaları otomatik olarak yönetilir.

Yeni bir model eğitmeye başlayın ve TensorBoard güncellemesini her 30 saniyede bir otomatik olarak izleyin veya sağ üstteki düğmeyle yenileyin:

 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

Biraz daha fazla kontrol için tensorboard.notebook API'lerini kullanabilirsiniz:

 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)