TrainingProgressFunction
是 NetTrain 的一个选项,指定训练时周期性运行的函数.
更多信息
- 设为缺省值 TrainingProgressFunctionNone 时,不运行任何函数.
- 设置 TrainingProgressFunctionf 指定每轮训练后执行 f[assoc] 计算,其中 assoc 是一个关联,其键为下列值:
-
"AbsoluteBatch" 到目前为止处理了多少个批次 "Batch" 当前批次在本轮训练中的批号 "BatchData" 最新的用于训练网络一批数据 "BatchesPerRound" 一轮训练中包含的批数 "BatchesPerSecond" 当前的训练率,单位为批每秒 "BatchIndices" 最新批次的原始数据集中的索引列表 "BatchLoss" 最近批次的平均损失 "BatchLossList" 目前为止所见的批次损失列表 "BatchMeasurements" 在上批更新后,培训度量的关联 "BatchMeasurementsLists" 到目前为止每个批次更新的培训度量关联列表 "BatchSize" 训练中使用批次的大小 "BestValidationRound" 对因于当前的最佳网络的训练回合 "CheckpointingFiles" 目前为止所生成的检查点文件列表 "Event" 最后发生的事件 "ExampleLosses" 训练期每个范例接受的损失 "ExamplesPerSecond" 输入范例中每秒的训练率 "ExamplesProcessed" 目前为止处理的范例总数 "Gradients" 网络内加权位置与当前梯度间的关系 "GradientsRMS" 权重梯度的均方根 "GradientsVector" 通过将所有权重梯度的当前值拼合在一起形成的向量 "InitialLearningRate" 开始培训的学习率 "LearningRate" 当前学习率 "MeanBatchesPerSecond" 每秒处理的平均批次 "MeanExamplesPerSecond" 每秒处理的输入示例的平均数量 "Net" 当前部分训练过的网络 "OptimizationMethod" 使用的优化方法的名字 "ProgressFraction" 用 0 和 1 之间的数字表示的进度 "Round" 当前一轮训练的号数 "RoundLoss" 最近一轮训练的平均损失 "RoundLossList" 目前为止所见的轮损失列表 "RoundMeasurements" 训练集的训练度量关联 "RoundMeasurementsLists" 目前每回合关联的训练度量列表 "TargetDevice" 用于训练的设备 "TimeElapsed" 训练开始后经过的时间,单位为秒 "TimeRemaining" 剩余时间,单位为秒 "TotalBatches" 训练批次的最大数目 "TotalRounds" 训练回合的最大数目 "ValidationLoss" 最新的验证损失 "ValidationLossList" 目前为止所见的验证损失列表 "ValidationMeasurements" 验证集的训练度量关联 "ValidationMeasurementsLists" 目前每个验证度量关联的训练度量列表 "Weights" 网络内加权位置与当前值间的关系 "WeightsRMS" 权重的均方根 "WeightsLearningRateMultipliers" 用于每个权重学习率乘法器的关联 "WeightsVector" 通过将所有权重的当前值拼合在一起形成的向量 - 键值 "ValidationLoss", "LowestValidationLoss" 等仅在选项 ValidationSet 被指定为 NetTrain 的情况下适用.
- 设置 TrainingProgressFunction{f,"Interval"Quantity[n,"unit"]} 指定应用 f 的区间. "unit" 的可能形式包括:
-
"Rounds" 网络训练轮数 "Batches" 训练数据批次 "Seconds","Minutes","Hours" 绝对时间 - 子选项 {f,…,"MinimumInterval"n} 指定 f 不应该频繁执行多于 n 秒每次,如何应用频率 f 没有限制.
- 设置 TrainingProgressFunction{spec1,spec2,…} 指定多个要计算的函数,它们可以有不同的区间.
范例
基本范例 (1)
使用 TrainingProgressFunction 把培训状态的信息附加到文件中. 创建一个日志文件:
把存储的数据放入 Dataset:
Wolfram Research (2017),TrainingProgressFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TrainingProgressFunction.html (更新于 2020 年).
文本
Wolfram Research (2017),TrainingProgressFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TrainingProgressFunction.html (更新于 2020 年).
CMS
Wolfram 语言. 2017. "TrainingProgressFunction." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/TrainingProgressFunction.html.
APA
Wolfram 语言. (2017). TrainingProgressFunction. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TrainingProgressFunction.html 年