-
Notifications
You must be signed in to change notification settings - Fork 207
Open
Labels
API designAPI design & software architectureAPI design & software architectureclassificationClassification packageClassification packageclusteringClustering packageClustering packageenhancementNew feature, improvement request or other non-bug code enhancementNew feature, improvement request or other non-bug code enhancementregressionRegression packageRegression package
Description
Describe the feature or idea you want to propose
it would be good to have a checkpointing (aka "warm start" interface to allow the restarting of algorithms after pausing mid way. This will become more important with the 60 hr time limit on HPC.
Describe your proposed solution
we could just define an interface (akak mixin) that models the java version perhaps, with pickling for default save and load. Might get complex with threading
public interface Checkpointable extends Serializable {
boolean setCheckpointPath(String path);
boolean setCheckpointTimeHours(int t);
void saveToFile(String filename);
void loadFromFile(String filename);
class Checkpointing:
@abstract
def set_path(path):
...
def set_type(hours):
...
def save(file_name):
...
def load(file_name):
...
Describe alternatives you've considered, if relevant
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
API designAPI design & software architectureAPI design & software architectureclassificationClassification packageClassification packageclusteringClustering packageClustering packageenhancementNew feature, improvement request or other non-bug code enhancementNew feature, improvement request or other non-bug code enhancementregressionRegression packageRegression package