train_high_level_api.py
1 import numpy as np 2 import paddle 3 4 import mlflow.paddle 5 6 train_dataset = paddle.text.datasets.UCIHousing(mode="train") 7 eval_dataset = paddle.text.datasets.UCIHousing(mode="test") 8 9 10 class UCIHousing(paddle.nn.Layer): 11 def __init__(self): 12 super().__init__() 13 self.fc_ = paddle.nn.Linear(13, 1, None) 14 15 def forward(self, inputs): 16 pred = self.fc_(inputs) 17 return pred 18 19 20 model = paddle.Model(UCIHousing()) 21 optim = paddle.optimizer.Adam(learning_rate=0.01, parameters=model.parameters()) 22 model.prepare(optim, paddle.nn.MSELoss()) 23 24 model.fit(train_dataset, epochs=6, batch_size=8, verbose=1) 25 26 with mlflow.start_run() as run: 27 mlflow.paddle.log_model(model, name="model") 28 print(f"Model saved in run {run.info.run_id}") 29 30 # load model 31 model_path = mlflow.get_artifact_uri("model") 32 pd_model = mlflow.paddle.load_model(model_path) 33 np_test_data = np.array([x[0] for x in eval_dataset]) 34 print(pd_model(np_test_data))