MCPcopy Create free account
hub / github.com/alibaba/bigcomputing / train

Function train

DIEN/train_taobao_processed_allfea.py:79–188  ·  view source on GitHub ↗
(
        train_file,
        test_file,
        batch_size = 256,
        maxlen = 100,
        test_iter = 500,
        save_iter = 5000,
        model_type = 'DNN',
        Memory_Size = 4,
)

Source from the content-addressed store, hash-verified

77 return test_auc, loss_sum, accuracy_sum, aux_loss_sum, best_auc[0]
78
79def train(
80 train_file,
81 test_file,
82 batch_size = 256,
83 maxlen = 100,
84 test_iter = 500,
85 save_iter = 5000,
86 model_type = 'DNN',
87 Memory_Size = 4,
88):
89 TEM_MEMORY_SIZE = Memory_Size
90 model_path = "dnn_save_path/taobao_ckpt_noshuff" + model_type
91 best_model_path = "dnn_best_model/taobao_ckpt_noshuff" + model_type
92 gpu_options = tf.GPUOptions(allow_growth=True)
93 with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) as sess:
94
95 # Obtained in the data preprocess stage. To save time, json files are not needed.
96 uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n = [7956430, 34196611, 5596, 4377722, 2975349, 65624, 584181]
97 BATCH_SIZE = batch_size
98 SEQ_LEN = maxlen
99
100 if model_type == 'DNN':
101 model = Model_DNN(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN)
102 elif model_type == 'PNN':
103 model = Model_PNN(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN)
104 elif model_type == 'GRU4REC':
105 model = Model_GRU4REC(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN)
106 elif model_type == 'DIN':
107 model = Model_DIN(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN)
108 elif model_type == 'ARNN':
109 model = Model_ARNN(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN)
110 elif model_type == 'DIEN':
111 model = Model_DIEN(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN)
112 elif model_type == 'DIEN_with_neg':
113 model = Model_DIEN(uid_n, item_n, cate_n, shop_n, node_n, product_n, brand_n, EMBEDDING_DIM, HIDDEN_SIZE, MEMORY_SIZE, BATCH_SIZE, SEQ_LEN, use_negsample=True)
114 else:
115 print ("Invalid model_type : %s", model_type)
116 return
117
118 #参数初始化
119 sess.run(tf.global_variables_initializer())
120 sess.run(tf.local_variables_initializer())
121
122 sys.stdout.flush()
123
124 start_time = time.time()
125 last_time = start_time
126 iter = 0
127 lr = 0.001
128 best_auc= [0.0]
129 loss_sum = 0.0
130 accuracy_sum = 0.
131 left_loss_sum = 0.
132 aux_loss_sum = 0.
133 mem_loss_sum = 0.
134 # set 1 epoch only
135 epoch = 1
136 for itr in range(epoch):

Calls 11

nextMethod · 0.95
DataLoaderClass · 0.90
Model_DNNClass · 0.85
Model_PNNClass · 0.85
Model_GRU4RECClass · 0.85
Model_DINClass · 0.85
Model_ARNNClass · 0.85
Model_DIENClass · 0.85
evalFunction · 0.85
trainMethod · 0.80
saveMethod · 0.80

Tested by

no test coverage detected