Skip to content

Commit a74f536

Browse files
committed
Format code
1 parent 82bee14 commit a74f536

File tree

3 files changed

+64
-61
lines changed

3 files changed

+64
-61
lines changed

demo/traffic_prediction/dataprovider.py

+18-13
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
TERM_NUM = 24
1919
FORECASTING_NUM = 25
2020
LABEL_VALUE_NUM = 4
21+
22+
2123
def initHook(settings, file_list, **kwargs):
2224
"""
2325
Init hook is invoked before process data. It will set obj.slots and store data meta.
@@ -27,8 +29,8 @@ def initHook(settings, file_list, **kwargs):
2729
:param file_list: the meta file object, which passed from trainer_config.py,but unused in this function.
2830
:param kwargs: unused other arguments.
2931
"""
30-
del kwargs #unused
31-
32+
del kwargs #unused
33+
3234
settings.pool_size = sys.maxint
3335
#Use a time seires of the past as feature.
3436
#Dense_vector's expression form is [float,float,...,float]
@@ -38,40 +40,43 @@ def initHook(settings, file_list, **kwargs):
3840
for i in range(FORECASTING_NUM):
3941
settings.slots.append(integer_value(LABEL_VALUE_NUM))
4042

41-
@provider(init_hook=initHook, cache=CacheType.CACHE_PASS_IN_MEM, should_shuffle=True)
43+
44+
@provider(
45+
init_hook=initHook, cache=CacheType.CACHE_PASS_IN_MEM, should_shuffle=True)
4246
def process(settings, file_name):
4347
with open(file_name) as f:
4448
#abandon fields name
4549
f.next()
46-
for row_num, line in enumerate(f):
47-
speeds = map(int,line.rstrip('\r\n').split(",")[1:])
50+
for row_num, line in enumerate(f):
51+
speeds = map(int, line.rstrip('\r\n').split(",")[1:])
4852
# Get the max index.
4953
end_time = len(speeds)
5054
# Scanning and generating samples
51-
for i in range(TERM_NUM,end_time - FORECASTING_NUM):
55+
for i in range(TERM_NUM, end_time - FORECASTING_NUM):
5256
# For dense slot
53-
pre_spd = map(float,speeds[i-TERM_NUM:i])
57+
pre_spd = map(float, speeds[i - TERM_NUM:i])
5458

5559
# Integer value need predicting, values start from 0, so every one minus 1.
56-
fol_spd = [i-1 for i in speeds[i:i + FORECASTING_NUM]]
57-
60+
fol_spd = [i - 1 for i in speeds[i:i + FORECASTING_NUM]]
61+
5862
# Predicting label is missing, abandon the sample.
5963
if -1 in fol_spd:
6064
continue
6165
yield [pre_spd] + fol_spd
6266

67+
6368
def predict_initHook(settings, file_list, **kwargs):
6469
settings.pool_size = sys.maxint
6570
settings.slots = [dense_vector(TERM_NUM)]
6671

67-
@provider(init_hook=predict_initHook,should_shuffle=False)
72+
73+
@provider(init_hook=predict_initHook, should_shuffle=False)
6874
def process_predict(settings, file_name):
6975
with open(file_name) as f:
7076
#abandon fields name
7177
f.next()
7278
for row_num, line in enumerate(f):
73-
speeds = map(int,line.rstrip('\r\n').split(","))
79+
speeds = map(int, line.rstrip('\r\n').split(","))
7480
end_time = len(speeds)
75-
pre_spd = map(float,speeds[end_time-TERM_NUM:end_time])
81+
pre_spd = map(float, speeds[end_time - TERM_NUM:end_time])
7682
yield pre_spd
77-

demo/traffic_prediction/gen_result.py

+31-31
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,40 @@
11
res = []
22
with open('./rank-00000') as f:
33
for line in f:
4-
pred = map(int,line.strip('\r\n;').split(";"))
4+
pred = map(int, line.strip('\r\n;').split(";"))
55
#raw prediction range from 0 to 3
6-
res.append([i+1 for i in pred])
6+
res.append([i + 1 for i in pred])
77

88
file_name = open('./data/pred.list').read().strip('\r\n')
99

10-
FORECASTING_NUM=24
11-
header=['id',
12-
'201604200805',
13-
'201604200810',
14-
'201604200815',
15-
'201604200820',
16-
'201604200825',
17-
'201604200830',
18-
'201604200835',
19-
'201604200840',
20-
'201604200845',
21-
'201604200850',
22-
'201604200855',
23-
'201604200900',
24-
'201604200905',
25-
'201604200910',
26-
'201604200915',
27-
'201604200920',
28-
'201604200925',
29-
'201604200930',
30-
'201604200935',
31-
'201604200940',
32-
'201604200945',
33-
'201604200950',
34-
'201604200955',
35-
'201604201000',
36-
]
10+
FORECASTING_NUM = 24
11+
header = [
12+
'id',
13+
'201604200805',
14+
'201604200810',
15+
'201604200815',
16+
'201604200820',
17+
'201604200825',
18+
'201604200830',
19+
'201604200835',
20+
'201604200840',
21+
'201604200845',
22+
'201604200850',
23+
'201604200855',
24+
'201604200900',
25+
'201604200905',
26+
'201604200910',
27+
'201604200915',
28+
'201604200920',
29+
'201604200925',
30+
'201604200930',
31+
'201604200935',
32+
'201604200940',
33+
'201604200945',
34+
'201604200950',
35+
'201604200955',
36+
'201604201000',
37+
]
3738
###################
3839
## To CSV format ##
3940
###################
@@ -43,5 +44,4 @@
4344
for row_num, line in enumerate(f):
4445
fields = line.rstrip('\r\n').split(',')
4546
linkid = fields[0]
46-
print linkid+','+','.join(map(str,res[row_num]))
47-
47+
print linkid + ',' + ','.join(map(str, res[row_num]))

demo/traffic_prediction/trainer_config.py

+15-17
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,40 @@
22
#-*python-*-
33
from paddle.trainer_config_helpers import *
44

5-
65
################################### DATA Configuration #############################################
76
is_predict = get_config_arg('is_predict', bool, False)
87
trn = './data/train.list' if not is_predict else None
98
tst = './data/test.list' if not is_predict else './data/pred.list'
109
process = 'process' if not is_predict else 'process_predict'
11-
define_py_data_sources2(train_list=trn,
12-
test_list=tst,
13-
module="dataprovider",
14-
obj=process)
10+
define_py_data_sources2(
11+
train_list=trn, test_list=tst, module="dataprovider", obj=process)
1512
################################### Parameter Configuaration #######################################
16-
TERM_NUM=24
17-
FORECASTING_NUM= 25
18-
emb_size=16
19-
batch_size=128 if not is_predict else 1
13+
TERM_NUM = 24
14+
FORECASTING_NUM = 25
15+
emb_size = 16
16+
batch_size = 128 if not is_predict else 1
2017
settings(
21-
batch_size = batch_size,
22-
learning_rate = 1e-3,
23-
learning_method = RMSPropOptimizer()
24-
)
18+
batch_size=batch_size,
19+
learning_rate=1e-3,
20+
learning_method=RMSPropOptimizer())
2521
################################### Algorithm Configuration ########################################
2622

2723
output_label = []
2824

2925
link_encode = data_layer(name='link_encode', size=TERM_NUM)
3026
for i in xrange(FORECASTING_NUM):
3127
# Each task share same weight.
32-
link_param = ParamAttr(name='_link_vec.w', initial_max=1.0, initial_min=-1.0)
33-
link_vec = fc_layer(input=link_encode,size=emb_size, param_attr=link_param)
28+
link_param = ParamAttr(
29+
name='_link_vec.w', initial_max=1.0, initial_min=-1.0)
30+
link_vec = fc_layer(input=link_encode, size=emb_size, param_attr=link_param)
3431
score = fc_layer(input=link_vec, size=4, act=SoftmaxActivation())
3532
if is_predict:
3633
maxid = maxid_layer(score)
3734
output_label.append(maxid)
3835
else:
3936
# Multi-task training.
40-
label = data_layer(name='label_%dmin'%((i+1)*5), size=4)
41-
cls = classification_cost(input=score,name="cost_%dmin"%((i+1)*5), label=label)
37+
label = data_layer(name='label_%dmin' % ((i + 1) * 5), size=4)
38+
cls = classification_cost(
39+
input=score, name="cost_%dmin" % ((i + 1) * 5), label=label)
4240
output_label.append(cls)
4341
outputs(output_label)

0 commit comments

Comments
 (0)