def test_keras_callback(): epochs = 3 scaling_config = {"num_workers": 2} config = { "epochs": epochs, } trainer = TensorflowTrainer( train_loop_per_worker=train_func, train_loop_config=config, scaling_config=scaling_config, datasets={TRAIN_DATASET_KEY: get_dataset()}, ) checkpoint = trainer.fit().checkpoint with checkpoint.as_directory() as ckpt_dir: assert os.path.exists(os.path.join(ckpt_dir, "saved_model.pb"))
def test_keras_callback_e2e(): epochs = 3 config = { "epochs": epochs, } trainer = TensorflowTrainer( train_loop_per_worker=train_func, train_loop_config=config, scaling_config=ScalingConfig(num_workers=2), datasets={TRAIN_DATASET_KEY: get_dataset()}, ) checkpoint = trainer.fit().checkpoint checkpoint_dict = checkpoint.to_dict() assert MODEL_KEY in checkpoint_dict predictor = TensorflowPredictor.from_checkpoint( checkpoint, model_definition=build_model) items = np.random.uniform(0, 1, size=(10, 1)) predictor.predict(data=items)
def test_tensorflow_linear(ray_start_4_cpus, num_workers): def train_func(config): result = tensorflow_linear_train_func(config) assert len(result) == epochs assert result[-1]["loss"] < result[0]["loss"] num_workers = num_workers epochs = 3 scaling_config = {"num_workers": num_workers} config = { "lr": 1e-3, "batch_size": 32, "epochs": epochs, } trainer = TensorflowTrainer( train_loop_per_worker=train_func, train_loop_config=config, scaling_config=scaling_config, datasets={TRAIN_DATASET_KEY: get_dataset()}, ) trainer.fit()