1 import numpy as np 2 import paddle.fluid as fluid 3 import paddle.fluid.layers as layers 4 5 debug = True 6 bs = 1 7 c = 1 8 h, w = 3, 1 9 10 main_program = fluid.Program() 11 startup_program = fluid.Program() 12 with fluid.program_guard(main_program, startup_program): 13 x = fluid.layers.data(name='x', shape=[-1, c, w, h], dtype='float32') 14 # hidden = fluid.layers.fc(input=x, size=32, act='relu') 15 hidden = fluid.layers.dropout(x, dropout_prob=0.5) 16 # loss = fluid.layers.cross_entropy( 17 # input=fluid.layers.fc(hidden, size=10, act='softmax'), 18 # label=fluid.layers.data(name='label', shape=[1], dtype='int64')) 19 20 if debug: 21 test_program = main_program.clone(for_test=True) 22 else: 23 test_program = main_program.clone() 24 25 place = fluid.CPUPlace() 26 exe = fluid.Executor(place) 27 exe.run(startup_program) 28 x_data = np.random.rand(bs, c, w, h).astype(np.float32) 29 print(exe.run(main_program, fetch_list=[x,hidden], feed={'x': x_data})) 30 31 print(x_data) 32 print(exe.run(test_program, fetch_list=[x,hidden], feed={'x': x_data}))
结果:
1 [array([[[[0.5775851 , 0.78441525, 0.4060972 ]]]], dtype=float32), array([[[[0. , 0.78441525, 0. ]]]], dtype=float32)] 2 [[[[0.5775851 0.78441525 0.4060972 ]]]] 3 [array([[[[0.5775851 , 0.78441525, 0.4060972 ]]]], dtype=float32), array([[[[0.28879255, 0.39220762, 0.2030486 ]]]], dtype=float32)]