【问题标题】:Adding tensorboard to federated setting将张量板添加到联合设置
【发布时间】:2020-03-10 13:34:38
【问题描述】:

我是 TensorBoard 的新手,我想将它添加到这个项目中:

https://github.com/TalwalkarLab/leaf

我的具体案例是 FE-MNIST 模型,它在这里: https://github.com/TalwalkarLab/leaf/blob/master/models/femnist/cnn.py

对于不知道设置的人来说,将张量板添加到联合设置的挑战在于,在这里,有一个聚合模型的服务器,我们有随机数量的客户端进行训练,它们有一个 Client_id。

我想为每个客户端创建一个 tensorboard 文件夹,并记录服务器模型(那里没有进行任何培训)

我想知道如何访问层权重和偏差,并根据客户端 ID 存储它们,这是调用训练的地方。

我见过How do I use tensor board with tf.layers?

这里说我们可以使用

代码

for var in tf.trainable_variables():
    tf.summary.histogram(var.name, var)
merged_summary = tf.summary.merge_all()

(我不知道应该在哪里添加它)

如何将客户端 ID 传递给会话,以便它可以存储在相应的文件夹中?

【问题讨论】:

    标签: tensorflow tensorboard


    【解决方案1】:

    您可以查看张量板here的使用情况。

    在 TensorFlow 2.x 中,基于文档:

    使用 Keras 的 Model.fit() 进行训练时, 添加 tf.keras.callbacks.TensorBoard 回调可确保创建和存储日志。此外,使用 histogram_freq=1 启用每个时期的直方图计算

    model = create_model()
    model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])
    
    log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
    tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
    
    model.fit(x=x_train, 
              y=y_train, 
              epochs=5, 
              validation_data=(x_test, y_test), 
              callbacks=[tensorboard_callback])
    

    或者另一种选择是

    def add_hist(train_vars, step):
        for i in train_vars:
            name = i.name.split(":")[0]
            value = i.value()
            tf.summary.histogram(name, value, step)
    
    for epoch in range(EPOCHS):
      for (x_train, y_train) in train_dataset:
        train_step(model, optimizer, x_train, y_train, epoch)
      with train_summary_writer.as_default():
        tf.summary.scalar('loss', train_loss.result(), step=epoch)
        tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)
        add_hist(model.trainable_variables, epoch)
    

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 2019-01-10
      • 2022-01-06
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多