【问题标题】:Why tensor board is showing "no scalar data is found"?为什么张量板显示“未找到标量数据”?
【发布时间】:2022-06-16 00:56:34
【问题描述】:

我已经复制了一段代码来创建一个神经网络,并且在训练后成功创建了日志,但是当我尝试使用 tensorboard 对其进行可视化时,它显示没有找到标量数据。

这是代码和日志已成功创建,甚至事件文件都在那里,但它正在显示

checkpoint_path = "autoencoder.h5" # For each epoch creating a checkpoint
checkpoint_dir = os.path.dirname(checkpoint_path)
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path,save_weights_only=False,verbose=0,save_best_only=False) # To save the model if the metric is improved

# Tensorbaord 
! rm -rf ./logs_autoencoder/  # Removing all the files present in the directory
logdir = os.path.join("logs_autoencoder", datetime.datetime.now().strftime("%Y%m%d-%H%M%S")) # Directory for storing the logs that are required for tensorboard
%reload_ext tensorboard
%tensorboard --logdir $logdir
tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)

lrScheduler = tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss',patience=2,factor=0.2,verbose=1)

callbacks = [cp_callback,tensorboard_callback,lrScheduler]
autoencoder.fit( train_dataset,shuffle=True,epochs=10,validation_data= test_dataset,callbacks=callbacks)

输出是这样的,

Epoch 1/10
1338/1338 [==============================] - 839s 626ms/step - loss: 0.0104 - val_loss: 0.0046 - lr: 0.0010
Epoch 2/10
1338/1338 [==============================] - 818s 611ms/step - loss: 0.0047 - val_loss: 0.0042 - lr: 0.0010
Epoch 3/10
1338/1338 [==============================] - 824s 616ms/step - loss: 0.0043 - val_loss: 0.0041 - lr: 0.0010
Epoch 4/10
1338/1338 [==============================] - 824s 616ms/step - loss: 0.0040 - val_loss: 0.0037 - lr: 0.0010
Epoch 5/10
1338/1338 [==============================] - 829s 619ms/step - loss: 0.0038 - val_loss: 0.0033 - lr: 0.0010
Epoch 6/10
1338/1338 [==============================] - 834s 624ms/step - loss: 0.0036 - val_loss: 0.0032 - lr: 0.0010
Epoch 7/10
1338/1338 [==============================] - 852s 637ms/step - loss: 0.0035 - val_loss: 0.0032 - lr: 0.0010
Epoch 8/10
1338/1338 [==============================] - ETA: 0s - loss: 0.0034
Epoch 8: ReduceLROnPlateau reducing learning rate to 0.00020000000949949026.
1338/1338 [==============================] - 953s 712ms/step - loss: 0.0034 - val_loss: 0.0031 - lr: 0.0010
Epoch 9/10
1338/1338 [==============================] - 962s 719ms/step - loss: 0.0033 - val_loss: 0.0031 - lr: 2.0000e-04
Epoch 10/10
1338/1338 [==============================] - ETA: 0s - loss: 0.0033
Epoch 10: ReduceLROnPlateau reducing learning rate to 4.0000001899898055e-05.
1338/1338 [==============================] - 939s 702ms/step - loss: 0.0033 - val_loss: 0.0031 - lr: 2.0000e-04
Out[16]:
<keras.callbacks.History at 0x7f8cfe7b2090>

【问题讨论】:

    标签: tensorflow jupyter-notebook neural-network tensorboard


    【解决方案1】:

    这可能只是 Jupyter 笔记本中的事件顺序问题。我建议把事情分开一点

    checkpoint_path = "autoencoder.h5" # For each epoch creating a checkpoint
    checkpoint_dir = os.path.dirname(checkpoint_path)
    cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path,save_weights_only=False,verbose=0,save_best_only=False) # To save the model if the metric is improved
    
    # Tensorbaord 
    ! rm -rf ./logs_autoencoder/  # Removing all the files present in the directory
    logdir = os.path.join("logs_autoencoder", datetime.datetime.now().strftime("%Y%m%d-%H%M%S")) # Directory for storing the logs that are required for tensorboard
    tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)
    
    lrScheduler = tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss',patience=2,factor=0.2,verbose=1)
    
    callbacks = [cp_callback,tensorboard_callback,lrScheduler]
    autoencoder.fit( train_dataset,shuffle=True,epochs=10,validation_data= test_dataset,callbacks=callbacks)
    

    新的单元格块

    %reload_ext tensorboard
    %tensorboard --logdir $logdir
    

    张量板在模型训练开始之前启动,并且说什么都不存在。然后,如果您尝试重新运行单元格,您的 !rm -rf 行将删除所有内容,因此张量板看不到以前的数据

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 2020-12-30
      • 1970-01-01
      • 2020-08-15
      • 2018-06-29
      • 2019-05-31
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      相关资源
      最近更新 更多