Aracılığıyla paylaş


TensorBoard

TensorBoard , TensorFlow, PyTorch, Hugging Face Transformers ve diğer makine öğrenmesi programlarında hata ayıklamaya, iyileştirmeye ve anlamaya yönelik bir görselleştirme araçları paketidir.

TensorBoard’u kullanma

Azure Databricks'te TensorBoard'u başlatmak, bunu yerel bilgisayarınızdaki bir Jupyter not defterinde başlatmaktan farklı değildir.

  1. %tensorboard Magic komutunu yükleyin ve günlük dizininizi tanımlayın.

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
    
  2. %tensorboard Sihirli komutu çağırın.

    %tensorboard --logdir $experiment_log_dir
    

    TensorBoard sunucusu başlatılır ve kullanıcı arabirimini not defterinde satır içinde görüntüler. Ayrıca TensorBoard'u yeni bir sekmede açmak için bir bağlantı sağlar.

    Aşağıdaki ekran görüntüsünde, doldurulmuş bir günlük dizininde başlatılan TensorBoard kullanıcı arabirimi gösterilmektedir.

    Doldurulan günlük dizininde tensorBoard kullanıcı arabirimi başlatıldı

TensorBoard'u doğrudan TensorBoard'un not defteri modülünü kullanarak da başlatabilirsiniz.

from tensorboard import notebook
notebook.start("--logdir {}".format(experiment_log_dir))

TensorBoard günlükleri ve dizinleri

TensorBoard, TensorBoard veya PyTorch'taki TensorBoard geri çağırmaları ve işlevleri tarafından oluşturulan günlükleriokuyarak makine öğrenmesi programlarınızı görselleştirir. Diğer makine öğrenmesi kitaplıkları için günlükler oluşturmak için TensorFlow dosya yazıcılarını kullanarak doğrudan günlük yazabilirsiniz (bkz . Modül: TensorFlow 2.x için tf.summary ve bkz . Modül: tf.compat.v1.summary in TensorFlow 1.x içindeki eski API için).

Deneme günlüklerinizin güvenilir bir şekilde depolandığından emin olmak için Databricks, kısa ömürlü küme dosya sistemi yerine bulut depolamaya günlük yazmanızı önerir. Her deneme için TensorBoard'u benzersiz bir dizinde başlatın. Günlük oluşturan denemede makine öğrenmesi kodunuzun her çalıştırması için TensorBoard geri çağırmasını veya dosya yazıcısını deneme dizininin bir alt dizinine yazacak şekilde ayarlayın. Bu şekilde, TensorBoard kullanıcı arabirimindeki veriler çalıştırmalara ayrılır.

TensorBoard'u kullanarak makine öğrenmesi programınıza ilişkin bilgileri günlüğe kaydetmeye başlamak için resmi TensorBoard belgelerini okuyun.

TensorBoard süreçlerini yönetme

Azure Databricks not defteri içinde başlatılan TensorBoard işlemleri, not defteri ayrıldığında veya REPL yeniden başlatıldığında sonlandırılmaz (örneğin, not defterinin durumunu temizlediğinizde). Bir TensorBoard işlemini el ile sonlandırmak için kullanarak %sh kill -15 pidsonlandırma sinyali gönderin. Hatalı şekilde öldürülmüş TensorBoard işlemleri bozulabilir notebook.list().

Kümenizde çalışmakta olan TensorBoard sunucularını ilgili günlük dizinleri ve işlem kimlikleriyle birlikte listelemek için TensorBoard not defteri modülünden komutunu çalıştırın notebook.list() .

Bilinen sorunlar

  • Satır içi TensorBoard kullanıcı arabirimi bir iframe içindedir. Tarayıcı güvenlik özellikleri, bağlantıyı yeni bir sekmede açmadığınız sürece kullanıcı arabirimindeki dış bağlantıların çalışmasını engeller.
  • --window_title TensorBoard seçeneği Azure Databricks'te geçersiz kılınıyor.
  • Varsayılan olarak, TensorBoard dinlemek üzere bir bağlantı noktası seçmek için bir bağlantı noktası aralığını tarar. Kümede çalışan çok fazla TensorBoard işlemi varsa, bağlantı noktası aralığındaki tüm bağlantı noktaları kullanılamayabilir. Bağımsız değişkeniyle bir bağlantı noktası numarası belirterek bu sınırlamaya geçici bir çözüm --port bulabilirsiniz. Belirtilen bağlantı noktası 6006 ile 6106 arasında olmalıdır.
  • İndirme bağlantılarının çalışması için TensorBoard'u bir sekmede açmanız gerekir.
  • TensorBoard 1.15.0 kullanırken Projektör sekmesi boş olur. Geçici bir çözüm olarak, projektör sayfasını doğrudan ziyaret etmek için URL'yi ile data/plugin/projector/projector_binary.htmldeğiştirebilirsiniz#projector.
  • TensorBoard 2.4.0'ın yükseltilirse TensorBoard işlemesini etkileyebilecek bilinen bir sorunu vardır.
  • TensorBoard ile ilgili verileri DBFS veya UC Birimlerine günlüğe kaydettiğinizde gibi No dashboards are active for the current data setbir hata alabilirsiniz. Bu hatanın üstesinden gelmek için ve kullanarak verileri günlüğe kaydetmeyi writer çağırmanız writer.flush()writer.close() önerilir. Bu, günlüğe kaydedilen tüm verilerin düzgün yazılmasını ve TensorBoard tarafından işlenmesini sağlar.