2024-10-03 06:26:25 发布
网友
我看到很多例子,其中MonitoredTrainingSession或{}作为培训框架。但是我不清楚为什么我会用一个来代替另一个。两者都可以使用SessionRunHooks进行配置。两者都与tf.data.Dataset迭代器集成,并且可以提供训练/val数据集。我不知道一次安装有什么好处。在
MonitoredTrainingSession
SessionRunHooks
tf.data.Dataset
简而言之,MonitoredTrainingSession允许用户访问图形和会话对象以及训练循环,而Estimator则对用户隐藏图形和会话的详细信息,并且通常更容易运行培训,尤其是使用train_and_evaluate,如果需要定期评估。在
Estimator
train_and_evaluate
MonitoredTrainingSession不同于普通tf.会议()以一种处理变量初始化、设置文件编写器以及包含分布式培训功能的方式。在
另一方面,Estimator API是与Keras一样的高级构造。在示例中可能使用较少,因为它是后来介绍的。它还允许使用DistibutedStrategy分发培训/评估,并且它有几个允许快速原型设计的封装估计器。在
Estimator API
Keras
DistibutedStrategy
就模型定义而言,它们是相当相等的,都允许使用keras.layers,或者从头开始定义完全定制的模型。所以,无论出于什么原因,如果您需要访问图构造或定制训练循环,请使用MonitoredTrainingSession。如果您只想定义模型、训练它、运行验证和预测而不增加复杂性和样板代码,请使用Estimator
keras.layers
简而言之,
MonitoredTrainingSession
允许用户访问图形和会话对象以及训练循环,而Estimator
则对用户隐藏图形和会话的详细信息,并且通常更容易运行培训,尤其是使用train_and_evaluate
,如果需要定期评估。在MonitoredTrainingSession
不同于普通tf.会议()以一种处理变量初始化、设置文件编写器以及包含分布式培训功能的方式。在另一方面,
Estimator API
是与Keras
一样的高级构造。在示例中可能使用较少,因为它是后来介绍的。它还允许使用DistibutedStrategy
分发培训/评估,并且它有几个允许快速原型设计的封装估计器。在就模型定义而言,它们是相当相等的,都允许使用
keras.layers
,或者从头开始定义完全定制的模型。所以,无论出于什么原因,如果您需要访问图构造或定制训练循环,请使用MonitoredTrainingSession
。如果您只想定义模型、训练它、运行验证和预测而不增加复杂性和样板代码,请使用Estimator
相关问题 更多 >
编程相关推荐