我无法使用tf.profiler.experimental.client.trace“请有人帮忙”来收集跟踪数据吗?我在这里关注(CPU/GPU)示例用法https://www.tensorflow.org/api_docs/python/tf/profiler/experimental/client/trace,它看起来很简单。
我有一个非常简单的模型,我可以使用tf.profiler.experimental.start和从中收集跟踪数据tf.profiler.experimental.stop。
但tf.profiler.experimental.client.trace给了我空的跟踪数据。
我的代码如下:
import tensorflow as tf
import numpy as np
def mnist_dataset(batch_size):
(x_train, y_train), _ = tf.keras.datasets.mnist.load_data()
x_train = x_train / np.float32(255)
y_train = y_train.astype(np.int64)
train_dataset = tf.data.Dataset.from_tensor_slices(
(x_train, y_train)).shuffle(60000).repeat().batch(batch_size)
return train_dataset
batch_size = 64
dataset = mnist_dataset(batch_size)
model = tf.keras.Sequential([
tf.keras.Input(shape=(28, 28)),
tf.keras.layers.Reshape(target_shape=(28, 28, 1)),
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10)
])
model.compile(
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
optimizer=tf.keras.optimizers.SGD(learning_rate=0.001),
metrics=['accuracy'])
#tf.profiler.experimental.start('./logs/tb_log')
tf.profiler.experimental.server.start(6009)
model.fit(dataset, epochs=10, steps_per_epoch=70)
tf.profiler.experimental.client.trace('grpc://localhost:6009', './logs/tbc_log', 20000)
#tf.profiler.experimental.stop()
Run Code Online (Sandbox Code Playgroud)
代码运行了epochs,然后输出 …