config.yaml 3.6 KB
Newer Older
O
overlordmax 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# workspace
workspace: "paddlerec.models.rank.flen"

# list of dataset
dataset:
- name: dataloader_train # name of dataset to distinguish different datasets
  batch_size: 2
O
overlordmax 已提交
22
  type: QueueDataset  
O
overlordmax 已提交
23 24 25 26 27
  data_path: "{workspace}/data/sample_data/train"
  sparse_slots: "click user_0 user_1 user_2 user_3 user_4 user_5 user_6 user_7 user_8 user_9 user_10 user_11 item_0 item_1 item_2 contex_0 contex_1 contex_2 contex_3 contex_4 contex_5"
  dense_slots: ""
- name: dataset_infer # name
  batch_size: 2
O
overlordmax 已提交
28
  type: QueueDataset 
O
overlordmax 已提交
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
  data_path: "{workspace}/data/sample_data/train"
  sparse_slots: "click user_0 user_1 user_2 user_3 user_4 user_5 user_6 user_7 user_8 user_9 user_10 user_11 item_0 item_1 item_2 contex_0 contex_1 contex_2 contex_3 contex_4 contex_5"
  dense_slots: ""

# hyper parameters of user-defined network
hyper_parameters:
  # optimizer config
  optimizer:
    class: Adam
    learning_rate: 0.001
    strategy: async
  # user-defined <key, value> pairs
  sparse_inputs_slots: 21
  sparse_feature_number: 100
  sparse_feature_dim: 8
  dense_input_dim: 1
  dropout_rate: 0.5

# select runner by name
mode: [single_cpu_train, single_cpu_infer]
# config of each runner.
# runner is a kind of paddle training class, which wraps the train/infer process.
runner:
- name: single_cpu_train
  class: train
  # num of epochs
  epochs: 1
  # device to run training or infer
  device: cpu
  save_checkpoint_interval: 1 # save model interval of epochs
  save_inference_interval: 4 # save inference
O
overlordmax 已提交
60 61
  save_checkpoint_path: "increment_model_flen" # save checkpoint path
  save_inference_path: "inference_flen" # save inference path
O
overlordmax 已提交
62 63 64 65 66 67 68 69 70 71 72 73 74 75
  save_inference_feed_varnames: [] # feed vars of save inference
  save_inference_fetch_varnames: [] # fetch vars of save inference
  init_model_path: "" # load model path
  print_interval: 2
  phases: [phase1]

- name: single_gpu_train
  class: train
  # num of epochs
  epochs: 1
  # device to run training or infer
  device: gpu
  save_checkpoint_interval: 1 # save model interval of epochs
  save_inference_interval: 4 # save inference
O
overlordmax 已提交
76 77
  save_checkpoint_path: "increment_model_flen" # save checkpoint path
  save_inference_path: "inference_flen" # save inference path
O
overlordmax 已提交
78 79 80 81 82 83 84 85 86 87
  save_inference_feed_varnames: [] # feed vars of save inference
  save_inference_fetch_varnames: [] # fetch vars of save inference
  init_model_path: "" # load model path
  print_interval: 2
  phases: [phase1]

- name: single_cpu_infer
  class: infer
  # device to run training or infer
  device: cpu
O
overlordmax 已提交
88
  init_model_path: "increment_model_flen" # load model path
O
overlordmax 已提交
89 90 91 92 93 94
  phases: [phase2]

- name: single_gpu_infer
  class: infer
  # device to run training or infer
  device: gpu
O
overlordmax 已提交
95
  init_model_path: "increment_model_flen" # load model path
O
overlordmax 已提交
96 97 98 99 100 101 102 103 104 105 106 107 108
  phases: [phase2]

# runner will run all the phase in each epoch
phase:
- name: phase1
  model: "{workspace}/model.py" # user-defined model
  dataset_name: dataloader_train # select dataset by name
  thread_num: 2

- name: phase2
  model: "{workspace}/model.py" # user-defined model
  dataset_name: dataset_infer # select dataset by name
  thread_num: 2
O
fix bug  
overlordmax 已提交
109

O
overlordmax 已提交
110