mindspore.train.TimeMonitor
- class mindspore.train.TimeMonitor(data_size=None, data_time=False)[源代码]
监控训练或推理的时间。
- 参数:
data_size (int) - 表示每隔多少个step打印一次信息。如果程序在训练期间获取到Model的 batch_num ,则将把 data_size 设为 batch_num ,否则将使用 data_size 。默认值:
None
。data_time (bool) - 表示是否打印在Host侧获取数据的时间。请注意在非数据集下沉模式时,数据获取和网络计算是按同步执行的,而在数据集下沉模式时它们是异步执行的。默认值:
False
。
- 异常:
ValueError - data_size 不是正整数。
TypeError - data_time 不是布尔类型。
样例:
>>> from mindspore import nn >>> from mindspore.train import Model, TimeMonitor >>> >>> # Define the network structure of LeNet5. Refer to >>> # https://gitee.com/mindspore/docs/blob/r2.3.1/docs/mindspore/code/lenet.py >>> net = LeNet5() >>> loss = nn.SoftmaxCrossEntropyWithLogits(sparse=True, reduction='mean') >>> optim = nn.Momentum(net.trainable_params(), 0.01, 0.9) >>> model = Model(net, loss_fn=loss, optimizer=optim) >>> # Create the dataset taking MNIST as an example. Refer to >>> # https://gitee.com/mindspore/docs/blob/r2.3.1/docs/mindspore/code/mnist.py >>> dataset = create_dataset() >>> time_monitor = TimeMonitor() >>> model.train(10, dataset, callbacks=time_monitor)
- epoch_begin(run_context)[源代码]
在epoch开始时记录时间。
- 参数:
run_context (RunContext) - 包含模型的相关信息。详情请参考
mindspore.train.RunContext
。
- epoch_end(run_context)[源代码]
在epoch结束时打印epoch的耗时。
- 参数:
run_context (RunContext) - 包含模型的相关信息。详情请参考
mindspore.train.RunContext
。
- on_train_step_begin(run_context)[源代码]
在step开始时记录时间。
- 参数:
run_context (RunContext) - 包含模型的相关信息。详情请参考
mindspore.train.RunContext
。
- on_train_step_end(run_context)[源代码]
在step结束时记录时间。
- 参数:
run_context (RunContext) - 包含模型的相关信息。详情请参考
mindspore.train.RunContext
。