使用Model接口,Model.train模型训练--Model.eval模型验证--Model.predict模型推理
对于简单场景的神经网络,可以在定义Model时指定前向网络network、损失函数loss_fn、优化器optimizer和评价函数metrics。
steps_per_epoch = train_dataset.get_dataset_size()
config = CheckpointConfig(save_checkpoint_steps=steps_per_epoch)
ckpt_callback = ModelCheckpoint(prefix="mnist", directory="./checkpoint", config=config)
loss_callback = LossMonitor(steps_per_epoch)
使用ModelCheckpoint接口用于保存网络模型和参数,以便进行后续的Fine-tuning(微调)操作。LossMonitor可以监控训练过程中loss值的变化。model.fit接口可以方便地进行网络的训练与评估
损失函数是用来衡量模型预测值与真实值之间差异的函数,优化器函数则是用来调整模型参数以最小化损失函数的工具
acc = trainer.eval(test_dataset)
epoch批次多了,随着网络迭代次数增加,模型精度会进一步提高 。
回调机制 Callback,MindSpore中的回调函数实际上不是一个函数而是一个类,用户可以使用回调机制来观察训练过程中网络内部的状态和相关信息,或在特定时期执行特定动作。常用的内置回调函数,1、ModelCheckpoint,用于保存训练后的网络模型和参数,方便进行再推理或再训练。2、LossMonitor,用于监控训练或测试过程中的损失函数值Loss变化情况,可设置per_print_times控制打印Loss值的间隔。3、TimeMonitor,用于监控训练或测试过程的执行时间。可设置data_size控制打印执行时间的间隔。自定义回调机制,自定义终止训练和自定义阈值保存模型。
对于简单场景的神经网络,可以在定义Model时指定前向网络network、损失函数loss_fn、优化器optimizer和评价函数metrics。
steps_per_epoch = train_dataset.get_dataset_size()
config = CheckpointConfig(save_checkpoint_steps=steps_per_epoch)
ckpt_callback = ModelCheckpoint(prefix="mnist", directory="./checkpoint", config=config)
loss_callback = LossMonitor(steps_per_epoch)
使用ModelCheckpoint接口用于保存网络模型和参数,以便进行后续的Fine-tuning(微调)操作。LossMonitor可以监控训练过程中loss值的变化。model.fit接口可以方便地进行网络的训练与评估
损失函数是用来衡量模型预测值与真实值之间差异的函数,优化器函数则是用来调整模型参数以最小化损失函数的工具
acc = trainer.eval(test_dataset)
epoch批次多了,随着网络迭代次数增加,模型精度会进一步提高 。
回调机制 Callback,MindSpore中的回调函数实际上不是一个函数而是一个类,用户可以使用回调机制来观察训练过程中网络内部的状态和相关信息,或在特定时期执行特定动作。常用的内置回调函数,1、ModelCheckpoint,用于保存训练后的网络模型和参数,方便进行再推理或再训练。2、LossMonitor,用于监控训练或测试过程中的损失函数值Loss变化情况,可设置
per_print_times控制打印Loss值的间隔。3、TimeMonitor,用于监控训练或测试过程的执行时间。可设置data_size控制打印执行时间的间隔。自定义回调机制,自定义终止训练和自定义阈值保存模型。