TensorFlow, TensorBoard adı verilen bir görselleştirme aracıdır. Veri akışı grafiğini analiz etmek ve makine öğrenimi modellerini anlamak için kullanılır. TensorBoard, grafiği görselleştirmek için kullanılan arayüz ve modeli anlamak, hata ayıklamak ve optimize etmek için birçok araçtır.
TensorBoard'un önemli özelliği, dikey hizalamada herhangi bir grafiğin parametreleri ve detayları hakkında farklı türdeki istatistiklerin görünümünü içermesidir.
asal sayı Java
Derin sinir ağı şunları içerir: 36.000 düğümler. TensorFlow, bu düğümlerin yüksek seviyeli bloklar halinde daraltılmasına ve aynı yapıların ön plana çıkarılmasına yardımcı olur. Bu, hesaplama grafiğinin ana bölümlerine odaklanarak grafiğin daha iyi analiz edilmesine olanak tanır.
TensorBoard görselleştirmesinin, kullanıcının ayrıntıları görüntülemek için düğümleri kaydırabileceği, yakınlaştırabileceği ve genişletebileceği oldukça etkileşimli olduğu söyleniyor.
Aşağıda TensorBoard görselleştirmesinin tam çalışmasını gösteren diyagram gösterimi verilmiştir.
Algoritmalar, düğümleri yüksek seviyeli bloklara daraltır ve yüksek dereceli düğümleri ayıran, aynı yapılara sahip belirli grupları vurgular. Oluşturulan TensorBoard kullanışlıdır ve bir makine öğrenimi modelinin ayarlanması için aynı derecede önemli kabul edilir. Bu görselleştirme aracı, yapılandırma günlük dosyası için tasarlanmıştır.
Aşağıdaki resme bakın:
Bir sinir ağı, farklı ağların nasıl bağlanacağına karar verir. nöronlar ' ve modelden önce kaç katman sonucu tahmin edebilir. Mimariyi tanımladıktan sonra, yalnızca modeli değil, aynı zamanda tahminin doğruluğunu hesaplamak için ölçümleri de eğitmemiz gerekir. Bu metriğe kayıp fonksiyonu denir. Amaç bir kayıp fonksiyonu olarak kullanmaktır.
TensorBoard, ölçümleri görselleştirmek ve olası sorunları vurgulamak için harika bir araçtır. Sinir ağının bir çözüm bulması saatler hatta haftalar sürebilir. TensorBoard parametreleri çok sık günceller.
TensorBoard şu URL'de bulunur: http://localhost:6006
TensorBoard'daki DashBoard Türleri
1. Skaler Kontrol Paneli
Zamana bağlı istatistikleri görselleştirmek için kullanılır; örneğin öğrenme oranındaki veya kayıp fonksiyonundaki değişikliklere bakmak isteyebiliriz.
2. Histogram
TensorBoard'daki Histogram Kontrol Paneli, bir Tensörün istatistiksel dağılımının zaman içinde nasıl değiştiğini gösterir. aracılığıyla kaydedilen verileri görselleştirir. tf.özet.histogram .
Java geçerli tanımlayıcılar
3. Dağıtım Kontrol Paneli
Bazı üst düzey kullanımları gösterir tf.özet.histogram . Bir dağıtımdaki bazı üst düzey başlangıçları gösterir. Grafikteki her satır veri üzerindeki dağılımdaki yüzdelik dilim hakkında ipucu veriyor.
4. Resim Kontrol Paneli
Bu, bir aracılığıyla kaydedilen png'yi gösterir. tf.özet.resim . Satırlar etiketlere, sütunlar ise çalıştırmaya karşılık gelir. TensorBoard'un bu görüntü kontrol panelini kullanarak özel görselleştirmeler yerleştirebiliriz.
5. Ses Kontrol Paneli
Bir araç aracılığıyla kaydedilen seslere çalınabilir ses widget'ları eklemek için mükemmel bir araçtır. tf.summary.audio . Kontrol paneli her etiket için her zaman en son sesi yerleştirir.
6. Grafik Gezgini
Öncelikle TensorFlow modelinin incelenmesini sağlamak için kullanılır.
7. Projektör
Çok boyutlu veriler için kullanılan TensorFlow'daki gömme projektör. Gömme projektörü, kontrol noktası dosyasındaki verileri okur ve sözcük dosyası gibi ilgili verilerle ayarlanabilir.
8. Metin Kontrol Paneli
Metin Kontrol Paneli, aracılığıyla kaydedilen metin uzmanlarını gösterir tf.özet.metin. Köprüler, listeler ve tablolar gibi özelliklerin tümü desteklenir.
TensorBoard'un Farklı Görünümleri
Farklı görünümler, farklı formatlardaki girdileri alır ve bunları farklı şekilde görüntüler. Bunları turuncu üst çubuktan değiştirebiliriz.
TensorBoard nasıl kullanılır?
TensorBoard'u MacOS ve Komut Satırı Windows için terminalden nasıl açacağımızı öğreneceğiz.
Kod gelecekteki bir eğitimde açıklanacaktır; Buradaki odak noktası TensorBoard'dur.
Öncelikle eğitim sırasında kullanacağımız kütüphaneleri import etmemiz gerekiyor.
## Import the library import tensorflow as tf import numpy as np
Veriyi oluşturuyoruz. 10000 satır ve sütundan oluşan bir dizidir/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Aşağıdaki kod verileri dönüştürerek modeli oluşturur.
Öğrenme oranının 0,1'e eşit olduğunu unutmayın. Bu oranı daha yüksek bir değere değiştirirsek model çözüm bulamayacaktır. Yukarıdaki resmin sol tarafında olan şey budur.
Aşağıdaki örnekte modeli çalışma dizininde, yani not defterini veya python dosyasını sakladığımız yerde saklıyoruz. Yolun içinde TensorFlow, linreg alt klasör adına sahip train adında bir klasör oluşturur.
feature_columns = [ tf.feature_column.numeric_column('x', shape=X_train.shape[1:])] DNN_reg = tf.estimator.DNNRegressor(feature_columns=feature_columns, # Indicate where to store the log file model_dir='train', hidden_units=[500, 300], optimizer=tf.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 ) )
Çıktı:
INFO:tensorflow:Using the default configuration. INFO:tensorflow:Using config:{'_model_dir': 'train/linreg', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': , '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
Son adım modeli eğitmekten ibarettir. Eğitim süresi boyunca TensorFlow, bilgileri model dizinine yazar.
mysql tüm kullanıcıları göster
# Train the estimator train_input = tf.estimator.inputs.numpy_input_fn( x={'x': X_train}, y=y_train, shuffle=False,num_epochs=None) DNN_reg.train(train_input,steps=3000)
Çıktı:
INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Create CheckpointSaverHook. INFO:tensorflow: Graph was finalized. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Saving checkpoints for 1 into train/linreg/model.ckpt. INFO:tensorflow:loss = 40.060104, step = 1 INFO:tensorflow:global_step/sec: 197.061 INFO:tensorflow:loss = 10.62989, step = 101 (0.508 sec) INFO:tensorflow:global_step/sec: 172.487 INFO:tensorflow:loss = 11.255318, step = 201 (0.584 sec) INFO:tensorflow:global_step/sec: 193.295 INFO:tensorflow:loss = 10.604872, step = 301 (0.513 sec) INFO:tensorflow:global_step/sec: 175.378 INFO:tensorflow:loss = 10.090343, step = 401 (0.572 sec) INFO:tensorflow:global_step/sec: 209.737 INFO:tensorflow:loss = 10.057928, step = 501 (0.476 sec) INFO:tensorflow:global_step/sec: 171.646 INFO:tensorflow:loss = 10.460144, step = 601 (0.583 sec) INFO:tensorflow:global_step/sec: 192.269 INFO:tensorflow:loss = 10.529617, step = 701 (0.519 sec) INFO:tensorflow:global_step/sec: 198.264 INFO:tensorflow:loss = 9.100082, step = 801 (0.504 sec) INFO:tensorflow:global_step/sec: 226.842 INFO:tensorflow:loss = 10.485607, step = 901 (0.441 sec) INFO:tensorflow:global_step/sec: 152.929 INFO:tensorflow:loss = 10.052481, step = 1001 (0.655 sec) INFO:tensorflow:global_step/sec: 166.745 INFO:tensorflow:loss = 11.320213, step = 1101 (0.600 sec) INFO:tensorflow:global_step/sec: 161.854 INFO:tensorflow:loss = 9.603306, step = 1201 (0.619 sec) INFO:tensorflow:global_step/sec: 179.074 INFO:tensorflow:loss = 11.110269, step = 1301 (0.556 sec) INFO:tensorflow:global_step/sec: 202.776 INFO:tensorflow:loss = 11.929443, step = 1401 (0.494 sec) INFO:tensorflow:global_step/sec: 144.161 INFO:tensorflow:loss = 11.951693, step = 1501 (0.694 sec) INFO:tensorflow:global_step/sec: 154.144 INFO:tensorflow:loss = 8.620987, step = 1601 (0.649 sec) INFO:tensorflow:global_step/sec: 151.094 INFO:tensorflow:loss = 10.666125, step = 1701 (0.663 sec) INFO:tensorflow:global_step/sec: 193.644 INFO:tensorflow:loss = 11.0349865, step = 1801 (0.516 sec) INFO:tensorflow:global_step/sec: 189.707 INFO:tensorflow:loss = 9.860596, step = 1901 (0.526 sec) INFO:tensorflow:global_step/sec: 176.423 INFO:tensorflow:loss = 10.695, step = 2001 (0.567 sec) INFO:tensorflow:global_step/sec: 213.066 INFO:tensorflow:loss = 10.426752, step = 2101 (0.471 sec) INFO:tensorflow:global_step/sec: 220.975 INFO:tensorflow:loss = 10.594796, step = 2201 (0.452 sec) INFO:tensorflow:global_step/sec: 219.289 INFO:tensorflow:loss = 10.4212265, step = 2301 (0.456 sec) INFO:tensorflow:global_step/sec: 215.123 INFO:tensorflow:loss = 9.668612, step = 2401 (0.465 sec) INFO:tensorflow:global_step/sec: 175.65 INFO:tensorflow:loss = 10.009649, step = 2501 (0.569 sec) INFO:tensorflow:global_step/sec: 206.962 INFO:tensorflow:loss = 10.477722, step = 2601 (0.483 sec) INFO:tensorflow:global_step/sec: 229.627 INFO:tensorflow:loss = 9.877638, step = 2701 (0.435 sec) INFO:tensorflow:global_step/sec: 195.792 INFO:tensorflow:loss = 10.274586, step = 2801 (0.512 sec) INFO:tensorflow:global_step/sec: 176.803 INFO:tensorflow:loss = 10.061047, step = 2901 (0.566 sec) INFO:tensorflow:Saving checkpoints for 3000 into train/linreg/model.ckpt. INFO:tensorflow: Loss for the final step: 10.73032.
Windows kullanıcısı için
cd C:UsersAdminAnaconda3 activate hello-tf
TensorBoard'u başlatmak için bu kodu kullanabiliriz
tensorboard --logdir=. rainlinreg