def test_full_problem(self): from deephyper.nas.preprocessing import minmaxstdscaler from deephyper.problem import NaProblem pb = NaProblem() def load_data(prop): return ([[10]], [1]), ([10], [1]) pb.load_data(load_data, prop=1.0) pb.preprocessing(minmaxstdscaler) pb.search_space(OneLayerSpace) pb.hyperparameters( batch_size=64, learning_rate=0.001, optimizer="adam", num_epochs=10, loss_metric="mse", ) with pytest.raises(NaProblemError): pb.objective("r2") pb.loss("mse") pb.metrics(["r2"]) possible_objective = ["loss", "val_loss", "r2", "val_r2"] for obj in possible_objective: pb.objective(obj)
from molnet.molnet.search_space import create_search_space from deephyper.search.nas.model.preprocessing import minmaxstdscaler Problem = NaProblem(seed=2019) Problem.load_data(load_data) Problem.preprocessing(minmaxstdscaler) Problem.search_space(create_search_space, num_layers=3) Problem.hyperparameters( batch_size=32, learning_rate=0.01, optimizer='adam', num_epochs=20, callbacks=dict(EarlyStopping=dict( monitor='val_r2', # or 'val_acc' ? mode='max', verbose=0, patience=5))) Problem.loss('mse') # or 'categorical_crossentropy' ? Problem.metrics(['r2']) # or 'acc' ? Problem.objective('val_r2__last') # or 'val_acc__last' ? # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == '__main__': print(Problem)
from deephyper.problem import NaProblem from deepspace.tabular import DenseSkipCoSpace Problem = NaProblem() Problem.load_data(load_data) Problem.search_space(DenseSkipCoSpace, regression=False, bn=False, num_layers=10) Problem.hyperparameters( batch_size=[32, 64, 128, 256, 512, 1024], learning_rate=(0.001, 0.1, "log-uniform"), optimizer="adam", num_epochs=20, verbose=0, callbacks=dict(CSVExtendedLogger=dict()), ) Problem.loss("categorical_crossentropy") Problem.metrics(["acc"]) Problem.objective("val_acc") # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == "__main__": print(Problem) # model = Problem.get_keras_model([4 for _ in range(20)])
EarlyStopping=dict( monitor="val_sparse_perplexity", min_delta=0, mode="min", verbose=0, patience=5, ), ReduceLROnPlateau=dict(patience=4, verbose=0), ModelCheckpoint=dict( monitor="val_sparse_perplexity", mode="min", save_best_only=True, verbose=0, filepath="model.h5", save_weights_only=True, ), ), ) Problem.loss("sparse_categorical_crossentropy") Problem.metrics(["sparse_perplexity"]) Problem.objective("-val_sparse_perplexity") # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == "__main__": print(Problem) # model = Problem.get_keras_model([4 for _ in range(20)])
Problem = NaProblem() Problem.load_data(load_data, size=1000) Problem.search_space(create_search_space) Problem.hyperparameters(batch_size=128, learning_rate=0.001, optimizer="rmsprop", num_epochs=5) Problem.loss("mse") Problem.metrics(["r2"]) Problem.objective("val_r2__last") Problem.post_training( num_epochs=60, metrics=["r2"], model_checkpoint={ "monitor": "val_r2", "mode": "max", "save_best_only": True, "verbose": 1, }, early_stopping={ "monitor": "val_r2", "mode": "max", "verbose": 1, "patience": 5
from deepspace.tabular import SupervisedRegAutoEncoderFactory def create_search_space(input_shape, output_shape, **kwargs): return SupervisedRegAutoEncoderFactory()(input_shape, output_shape, **kwargs) Problem = NaProblem(seed=2019) Problem.load_data(load_data) Problem.search_space(create_search_space, num_layers=10) Problem.hyperparameters( batch_size=100, learning_rate=0.1, optimizer="adam", num_epochs=20 ) Problem.loss( loss={"output_0": "mse", "output_1": "mse"}, weights={"output_0": 0.0, "output_1": 1.0}, ) Problem.metrics({"output_0": ["r2", "mse"], "output_1": "mse"}) Problem.objective("val_output_0_r2") # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == "__main__": print(Problem)
from deephyper.problem import NaProblem from deephyper.benchmark.nas.linearReg.load_data import load_data from deephyper.benchmark.nas.linearRegMultiInputsGen.load_data import load_data from deephyper.nas.preprocessing import minmaxstdscaler from deepspace.tabular import OneLayerSpace Problem = NaProblem() Problem.load_data(load_data) Problem.preprocessing(minmaxstdscaler) Problem.search_space(OneLayerSpace) Problem.hyperparameters(batch_size=100, learning_rate=0.1, optimizer="adam", num_epochs=10) Problem.loss("mse") Problem.metrics(["r2"]) Problem.objective("val_r2") # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == "__main__": print(Problem)
from deephyper.problem import NaProblem from nas_big_data.daymet.conv_lstm_2d import create_conv_lstm_search_space from nas_big_data.daymet.load_data import load_data Problem = NaProblem(seed=2019) Problem.load_data(load_data) Problem.search_space(create_conv_lstm_search_space, num_layers=10) Problem.hyperparameters( # batch_size=256, # (128, 2048), batch_size=[32, 64, 128, 256, 512, 1024], learning_rate=(0.001, 0.1, "log-uniform"), optimizer="adam", num_epochs=20, verbose=0, callbacks=dict(CSVExtendedLogger=dict(), TimeStopping=dict(seconds=460)), ) Problem.loss("mse") Problem.metrics(["mae"]) Problem.objective("val_loss") # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == "__main__": print(Problem)
from deephyper.problem import NaProblem from nas_gcn.qm7.load_data import load_data from nas_gcn.search_space_utils import create_search_space Problem = NaProblem(seed=2020) Problem.load_data(load_data) Problem.search_space(create_search_space, data='qm7') Problem.hyperparameters(batch_size=128, learning_rate=1e-3, optimizer='adam', num_epochs=50) Problem.loss("mae") Problem.metrics(['mae', 'mse', 'r2', 'negmae']) Problem.objective('val_negmae__max') if __name__ == '__main__': print(Problem)
m.update_state(y_true, y_pred[:, 1]) return m.result() # for multi class multi label # def f1_score(y_true,y_pred): # def recall(y_true, y_pred): # true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1))) # possible_positives = K.sum(K.round(K.clip(y_true, 0, 1))) # recall = true_positives / (possible_positives + K.epsilon()) # return recall # def precision(y_true, y_pred): # true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1))) # predicted_positives = K.sum(K.round(K.clip(y_pred, 0, 1))) # precision = true_positives / (predicted_positives + K.epsilon()) # return precision # actual = y_true # predicted = 1 if y_pred>=0.5 else 0 # precision = precision(y_true, y_pred) # recall = recall(y_true, y_pred) # return 2*((precision*recall)/(precision+recall+K.epsilon())) Problem.metrics([AUC]) # or 'acc' ? Problem.objective('val_AUC__max') # or 'val_r2__last' ? # Just to print your problem, to test its definition and imports in the current python environment. if __name__ == '__main__': print(Problem)