/ examples / paddle / train_high_level_api.py
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))