Skip to content

Commit a5690df

Browse files
committed
add generate flowers recordio
1 parent 4f4c4c9 commit a5690df

File tree

2 files changed

+50
-18
lines changed

2 files changed

+50
-18
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import numpy as np
16+
import paddle
17+
import paddle.fluid as fluid
18+
import paddle.dataset.flowers as flowers
19+
20+
batch_size = 12
21+
data_shape = [3, 224, 224]
22+
23+
with fluid.program_guard(fluid.Program(), fluid.Program()):
24+
reader = paddle.batch(flowers.train(), batch_size=batch_size)
25+
feeder = fluid.DataFeeder(
26+
feed_list=[ # order is image and label
27+
fluid.layers.data(
28+
name='image', shape=data_shape, dtype='float32'),
29+
fluid.layers.data(
30+
name='label', shape=[1], dtype='int64'),
31+
],
32+
place=fluid.CPUPlace())
33+
fluid.recordio_writer.convert_reader_to_recordio_file(
34+
'./flowers_bs_12_3_224_224.recordio', reader, feeder)

fluid/SE-ResNeXt-152/train.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,19 @@ def net_conf(image, label, class_dim):
222222
return out, avg_cost, accuracy, accuracy5
223223

224224

225+
def add_optimizer(args, avg_cost):
226+
#optimizer = fluid.optimizer.SGD(learning_rate=0.002)
227+
optimizer = fluid.optimizer.Momentum(
228+
learning_rate=fluid.layers.piecewise_decay(
229+
boundaries=[100], values=[0.1, 0.2]),
230+
momentum=0.9,
231+
regularization=fluid.regularizer.L2Decay(1e-4))
232+
optimizer.minimize(avg_cost)
233+
234+
if args.use_mem_opt:
235+
fluid.memory_optimize(fluid.default_main_program())
236+
237+
225238
def train_parallel_do(args):
226239

227240
class_dim = 1000
@@ -253,16 +266,7 @@ def train_parallel_do(args):
253266
avg_cost = fluid.layers.mean(x=cost)
254267
accuracy = fluid.layers.accuracy(input=out, label=label)
255268

256-
#optimizer = fluid.optimizer.SGD(learning_rate=0.002)
257-
optimizer = fluid.optimizer.Momentum(
258-
learning_rate=fluid.layers.piecewise_decay(
259-
boundaries=[100], values=[0.1, 0.2]),
260-
momentum=0.9,
261-
regularization=fluid.regularizer.L2Decay(1e-4))
262-
opts = optimizer.minimize(avg_cost)
263-
264-
if args.use_mem_opt:
265-
fluid.memory_optimize(fluid.default_main_program())
269+
add_optimizer(args, avg_cost)
266270

267271
place = fluid.CUDAPlace(0)
268272
# place = fluid.CPUPlace()
@@ -324,7 +328,7 @@ def train_parallel_exe(args):
324328

325329
with fluid.program_guard(main, startup):
326330
reader = fluid.layers.open_recordio_file(
327-
filename='./flowers.recordio',
331+
filename='./flowers_bs_12_3_224_224.recordio',
328332
shapes=[[-1, 3, 224, 224], [-1, 1]],
329333
lod_levels=[0, 0],
330334
dtypes=['float32', 'int64'])
@@ -336,13 +340,7 @@ def train_parallel_exe(args):
336340
prediction, avg_cost, accuracy, accuracy5 = net_conf(image, label,
337341
class_dim)
338342

339-
#optimizer = fluid.optimizer.SGD(learning_rate=0.002)
340-
optimizer = fluid.optimizer.Momentum(
341-
learning_rate=fluid.layers.piecewise_decay(
342-
boundaries=[100], values=[0.1, 0.2]),
343-
momentum=0.9,
344-
regularization=fluid.regularizer.L2Decay(1e-4))
345-
opts = optimizer.minimize(avg_cost)
343+
add_optimizer(args, avg_cost)
346344

347345
if args.use_mem_opt:
348346
fluid.memory_optimize(fluid.default_main_program())

0 commit comments

Comments
 (0)