ORTCheckpoint

Objective-C

@interface ORTCheckpoint : NSObject

Swift

class ORTCheckpoint : NSObject

ORT 检查点(checkpoint)是模型在特定时间点的状态快照。

此类保存了完整的训练会话状态,包括模型参数、梯度、优化器参数和用户属性。ORTTrainingSession 通过访问和更新其中包含的训练状态来利用 ORTCheckpoint

从 1.16 版本开始提供。

注意

此类仅在启用训练 API 时可用。
  • 不可用

    声明

    Objective-C

    - (instancetype)init NS_UNAVAILABLE;
  • 从磁盘上的目录创建检查点。

    警告

    构建检查点状态需要实例化 ORTEnv。如果 ORTEnv 未正确初始化,初始化将会失败。

    声明

    Objective-C

    - (nullable instancetype)initWithPath:(nonnull NSString *)path
                                    error:(NSError *_Nullable *_Nullable)error;

    Swift

    init(path: String) throws

    参数

    path

    检查点目录的路径。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    实例,如果发生错误则为 nil。

  • 将检查点保存到磁盘上的目录。

    声明

    Objective-C

    - (BOOL)saveCheckpointToPath:(nonnull NSString *)path
              withOptimizerState:(BOOL)includeOptimizerState
                           error:(NSError *_Nullable *_Nullable)error;

    Swift

    func save(toPath path: String, withOptimizerState includeOptimizerState: Bool) throws

    参数

    path

    检查点目录的路径。

    includeOptimizerState

    用于指示是否保存优化器状态的标志。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    检查点是否保存成功。

  • 向此检查点添加一个整数属性。

    声明

    Objective-C

    - (BOOL)addIntPropertyWithName:(nonnull NSString *)name
                             value:(int64_t)value
                             error:(NSError *_Nullable *_Nullable)error;

    Swift

    func addIntProperty(withName name: String, value: Int64) throws

    参数

    name

    属性名称。

    value

    属性值。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    属性是否添加成功。

  • 向此检查点添加一个浮点数属性。

    声明

    Objective-C

    - (BOOL)addFloatPropertyWithName:(nonnull NSString *)name
                               value:(float)value
                               error:(NSError *_Nullable *_Nullable)error;

    Swift

    func addFloatProperty(withName name: String, value: Float) throws

    参数

    name

    属性名称。

    value

    属性值。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    属性是否添加成功。

  • 向此检查点添加一个字符串属性。

    声明

    Objective-C

    - (BOOL)addStringPropertyWithName:(nonnull NSString *)name
                                value:(nonnull NSString *)value
                                error:(NSError *_Nullable *_Nullable)error;

    Swift

    func addStringProperty(withName name: String, value: String) throws

    参数

    name

    属性名称。

    value

    属性值。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    属性是否添加成功。

  • 从检查点获取一个整数属性。

    声明

    Objective-C

    - (int64_t)getIntPropertyWithName:(nonnull NSString *)name
                                error:(NSError *_Nullable *_Nullable)error;

    Swift

    func getIntProperty(withName name: String) throws -> Int64

    参数

    name

    属性名称。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    属性的值,如果发生错误则为 0。

  • 从检查点获取一个浮点数属性。

    声明

    Objective-C

    - (float)getFloatPropertyWithName:(nonnull NSString *)name
                                error:(NSError *_Nullable *_Nullable)error;

    Swift

    func getFloatProperty(withName name: String) throws -> Float

    参数

    name

    属性名称。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    属性的值,如果发生错误则为 0.0f。

  • 从检查点获取一个字符串属性。

    声明

    Objective-C

    - (nullable NSString *)getStringPropertyWithName:(nonnull NSString *)name
                                               error:(NSError *_Nullable *_Nullable)
                                                         error;

    Swift

    func getStringProperty(withName name: String) throws -> String?

    参数

    name

    属性名称。

    error

    如果发生错误,则设置的可选错误信息。

    返回值

    属性值。