我希望能够在Tensorboard中可视化我的模型图,以检查我是否正确实现了我的模型。
我正在通过子类化
Tensorboard中的训练和指标可视化效果良好。然而,我无法在Tensorboard中获得我的模型图表。我尝试在完整训练的最后使用以下内容。
这导致了错误:
有什么建议吗?
我正在通过子类化
tf.keras.Layer
和tf.keras.Model
类来实现自己的模型,它看起来像这样(保留了所有不必要的内容):class My_Model(tf.keras.Model):
def __init__(self):
super(Model_C_1, self).__init__()
# actually here is much more, but this is not important.
def build(self, inputs_shape):
self.conv1 = tf.keras.layers.Conv1D(filters=16)
# actually here is much more, but this is not important.
@tf.function
def call(self, input, training):
x = self.conv1(input)
# actually here is much more, but this is not important.
return x
我希望能够可视化计算图,因为模型非常复杂,我不确定是否遗漏了某些内容(模型可以训练和工作,但我想再次检查)。我的训练循环(非常简化)如下:
def train_step(batch, model, params, writer, optimizer):
data = batch['data']
with tf.GradientTape() as tape:
predictions = model(data, training=True)
loss = loss_object(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
tf.summary.scalar(name='loss', data=loss, step=optimizer.iterations)
# I process my data with pandas/numpy first and then
kf = KFold(n_splits=params.n_k_fold_splits)
for split_nr, (train_index, val_index) in enumerate(kf.split(ds)):
#...
writer = tf.summary.create_file_writer(params.path_train_log)
for batch_train in train_ds:
train_step(batch_train, model, params, writer, optimizer)
Tensorboard中的训练和指标可视化效果良好。然而,我无法在Tensorboard中获得我的模型图表。我尝试在完整训练的最后使用以下内容。
with writer.as_default():
tf.summary.trace_export(
name="My_Trace",
step=0)
这导致了错误:
ValueError:必须在导出之前启用跟踪。
我无法确定在哪里添加tf.summary.trace_on(graph=True)
命令由TF提到。有什么建议吗?