未验证 提交 c26aa060 编写于 作者: Q Qiyang Min 提交者: GitHub

Merge pull request #625 from velconia/port_py3

Port current book code and doc to python3
...@@ -183,26 +183,22 @@ feed_order=['x', 'y'] ...@@ -183,26 +183,22 @@ feed_order=['x', 'y']
# Specify the directory to save the parameters # Specify the directory to save the parameters
params_dirname = "fit_a_line.inference.model" params_dirname = "fit_a_line.inference.model"
# Plot data
from paddle.v2.plot import Ploter
train_title = "Train cost" train_title = "Train cost"
test_title = "Test cost" test_title = "Test cost"
plot_cost = Ploter(train_title, test_title)
step = 0 step = 0
# event_handler prints training and testing info # event_handler prints training and testing info
def event_handler_plot(event): def event_handler(event):
global step global step
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
if step % 10 == 0: # record a train cost every 10 batches if step % 10 == 0: # record a train cost every 10 batches
plot_cost.append(train_title, step, event.metrics[0]) print("%s, Step %d, Cost %f" % (train_title, step, event.metrics[0]))
if step % 100 == 0: # record a test cost every 100 batches if step % 100 == 0: # record a test cost every 100 batches
test_metrics = trainer.test( test_metrics = trainer.test(
reader=test_reader, feed_order=feed_order) reader=test_reader, feed_order=feed_order)
plot_cost.append(test_title, step, test_metrics[0]) print("%s, Step %d, Cost %f" % (test_title, step, test_metrics[0]))
plot_cost.plot()
if test_metrics[0] < 10.0: if test_metrics[0] < 10.0:
# If the accuracy is good enough, we can stop the training. # If the accuracy is good enough, we can stop the training.
...@@ -227,7 +223,7 @@ def event_handler_plot(event): ...@@ -227,7 +223,7 @@ def event_handler_plot(event):
trainer.train( trainer.train(
reader=train_reader, reader=train_reader,
num_epochs=100, num_epochs=100,
event_handler=event_handler_plot, event_handler=event_handler,
feed_order=feed_order) feed_order=feed_order)
``` ```
<div align="center"> <div align="center">
...@@ -259,7 +255,7 @@ inferencer = fluid.contrib.inferencer.Inferencer( ...@@ -259,7 +255,7 @@ inferencer = fluid.contrib.inferencer.Inferencer(
batch_size = 10 batch_size = 10
test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size) test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size)
test_data = test_reader().next() test_data = next(test_reader())
test_x = numpy.array([data[0] for data in test_data]).astype("float32") test_x = numpy.array([data[0] for data in test_data]).astype("float32")
test_y = numpy.array([data[1] for data in test_data]).astype("float32") test_y = numpy.array([data[1] for data in test_data]).astype("float32")
......
...@@ -202,26 +202,22 @@ Moreover, an event handler is provided to print the training progress: ...@@ -202,26 +202,22 @@ Moreover, an event handler is provided to print the training progress:
# Specify the directory to save the parameters # Specify the directory to save the parameters
params_dirname = "fit_a_line.inference.model" params_dirname = "fit_a_line.inference.model"
# Plot data
from paddle.v2.plot import Ploter
train_title = "Train cost" train_title = "Train cost"
test_title = "Test cost" test_title = "Test cost"
plot_cost = Ploter(train_title, test_title)
step = 0 step = 0
# event_handler prints training and testing info # event_handler prints training and testing info
def event_handler_plot(event): def event_handler(event):
global step global step
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
if step % 10 == 0: # record a train cost every 10 batches if step % 10 == 0: # record a train cost every 10 batches
plot_cost.append(train_title, step, event.metrics[0]) print("%s, Step %d, Cost %f" % (train_title, step, event.metrics[0]))
if step % 100 == 0: # record a test cost every 100 batches if step % 100 == 0: # record a test cost every 100 batches
test_metrics = trainer.test( test_metrics = trainer.test(
reader=test_reader, feed_order=feed_order) reader=test_reader, feed_order=feed_order)
plot_cost.append(test_title, step, test_metrics[0]) print("%s, Step %d, Cost %f" % (test_title, step, test_metrics[0]))
plot_cost.plot()
if test_metrics[0] < 10.0: if test_metrics[0] < 10.0:
# If the accuracy is good enough, we can stop the training. # If the accuracy is good enough, we can stop the training.
...@@ -229,7 +225,7 @@ def event_handler_plot(event): ...@@ -229,7 +225,7 @@ def event_handler_plot(event):
trainer.stop() trainer.stop()
step += 1 step += 1
if isinstance(event, fluid.contrib.trainer.EndEpochEvent): if isinstance(event, EndEpochEvent):
if event.epoch % 10 == 0: if event.epoch % 10 == 0:
# We can save the trained parameters for the inferences later # We can save the trained parameters for the inferences later
if params_dirname is not None: if params_dirname is not None:
...@@ -248,7 +244,7 @@ We now can start training by calling `trainer.train()`. ...@@ -248,7 +244,7 @@ We now can start training by calling `trainer.train()`.
trainer.train( trainer.train(
reader=train_reader, reader=train_reader,
num_epochs=100, num_epochs=100,
event_handler=event_handler_plot, event_handler=event_handler,
feed_order=feed_order) feed_order=feed_order)
``` ```
...@@ -281,7 +277,7 @@ inferencer = fluid.contrib.inferencer.Inferencer( ...@@ -281,7 +277,7 @@ inferencer = fluid.contrib.inferencer.Inferencer(
batch_size = 10 batch_size = 10
test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size) test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size)
test_data = test_reader().next() test_data = next(test_reader())
test_x = numpy.array([data[0] for data in test_data]).astype("float32") test_x = numpy.array([data[0] for data in test_data]).astype("float32")
test_y = numpy.array([data[1] for data in test_data]).astype("float32") test_y = numpy.array([data[1] for data in test_data]).astype("float32")
......
01.fit_a_line/image/ranges.png

6.6 KB | W: | H:

01.fit_a_line/image/ranges.png

6.6 KB | W: | H:

01.fit_a_line/image/ranges.png
01.fit_a_line/image/ranges.png
01.fit_a_line/image/ranges.png
01.fit_a_line/image/ranges.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -225,26 +225,22 @@ feed_order=['x', 'y'] ...@@ -225,26 +225,22 @@ feed_order=['x', 'y']
# Specify the directory to save the parameters # Specify the directory to save the parameters
params_dirname = "fit_a_line.inference.model" params_dirname = "fit_a_line.inference.model"
# Plot data
from paddle.v2.plot import Ploter
train_title = "Train cost" train_title = "Train cost"
test_title = "Test cost" test_title = "Test cost"
plot_cost = Ploter(train_title, test_title)
step = 0 step = 0
# event_handler prints training and testing info # event_handler prints training and testing info
def event_handler_plot(event): def event_handler(event):
global step global step
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
if step % 10 == 0: # record a train cost every 10 batches if step % 10 == 0: # record a train cost every 10 batches
plot_cost.append(train_title, step, event.metrics[0]) print("%s, Step %d, Cost %f" % (train_title, step, event.metrics[0]))
if step % 100 == 0: # record a test cost every 100 batches if step % 100 == 0: # record a test cost every 100 batches
test_metrics = trainer.test( test_metrics = trainer.test(
reader=test_reader, feed_order=feed_order) reader=test_reader, feed_order=feed_order)
plot_cost.append(test_title, step, test_metrics[0]) print("%s, Step %d, Cost %f" % (test_title, step, test_metrics[0]))
plot_cost.plot()
if test_metrics[0] < 10.0: if test_metrics[0] < 10.0:
# If the accuracy is good enough, we can stop the training. # If the accuracy is good enough, we can stop the training.
...@@ -269,7 +265,7 @@ def event_handler_plot(event): ...@@ -269,7 +265,7 @@ def event_handler_plot(event):
trainer.train( trainer.train(
reader=train_reader, reader=train_reader,
num_epochs=100, num_epochs=100,
event_handler=event_handler_plot, event_handler=event_handler,
feed_order=feed_order) feed_order=feed_order)
``` ```
<div align="center"> <div align="center">
...@@ -301,7 +297,7 @@ inferencer = fluid.contrib.inferencer.Inferencer( ...@@ -301,7 +297,7 @@ inferencer = fluid.contrib.inferencer.Inferencer(
batch_size = 10 batch_size = 10
test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size) test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size)
test_data = test_reader().next() test_data = next(test_reader())
test_x = numpy.array([data[0] for data in test_data]).astype("float32") test_x = numpy.array([data[0] for data in test_data]).astype("float32")
test_y = numpy.array([data[1] for data in test_data]).astype("float32") test_y = numpy.array([data[1] for data in test_data]).astype("float32")
......
...@@ -244,26 +244,22 @@ Moreover, an event handler is provided to print the training progress: ...@@ -244,26 +244,22 @@ Moreover, an event handler is provided to print the training progress:
# Specify the directory to save the parameters # Specify the directory to save the parameters
params_dirname = "fit_a_line.inference.model" params_dirname = "fit_a_line.inference.model"
# Plot data
from paddle.v2.plot import Ploter
train_title = "Train cost" train_title = "Train cost"
test_title = "Test cost" test_title = "Test cost"
plot_cost = Ploter(train_title, test_title)
step = 0 step = 0
# event_handler prints training and testing info # event_handler prints training and testing info
def event_handler_plot(event): def event_handler(event):
global step global step
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
if step % 10 == 0: # record a train cost every 10 batches if step % 10 == 0: # record a train cost every 10 batches
plot_cost.append(train_title, step, event.metrics[0]) print("%s, Step %d, Cost %f" % (train_title, step, event.metrics[0]))
if step % 100 == 0: # record a test cost every 100 batches if step % 100 == 0: # record a test cost every 100 batches
test_metrics = trainer.test( test_metrics = trainer.test(
reader=test_reader, feed_order=feed_order) reader=test_reader, feed_order=feed_order)
plot_cost.append(test_title, step, test_metrics[0]) print("%s, Step %d, Cost %f" % (test_title, step, test_metrics[0]))
plot_cost.plot()
if test_metrics[0] < 10.0: if test_metrics[0] < 10.0:
# If the accuracy is good enough, we can stop the training. # If the accuracy is good enough, we can stop the training.
...@@ -271,7 +267,7 @@ def event_handler_plot(event): ...@@ -271,7 +267,7 @@ def event_handler_plot(event):
trainer.stop() trainer.stop()
step += 1 step += 1
if isinstance(event, fluid.contrib.trainer.EndEpochEvent): if isinstance(event, EndEpochEvent):
if event.epoch % 10 == 0: if event.epoch % 10 == 0:
# We can save the trained parameters for the inferences later # We can save the trained parameters for the inferences later
if params_dirname is not None: if params_dirname is not None:
...@@ -290,7 +286,7 @@ We now can start training by calling `trainer.train()`. ...@@ -290,7 +286,7 @@ We now can start training by calling `trainer.train()`.
trainer.train( trainer.train(
reader=train_reader, reader=train_reader,
num_epochs=100, num_epochs=100,
event_handler=event_handler_plot, event_handler=event_handler,
feed_order=feed_order) feed_order=feed_order)
``` ```
...@@ -323,7 +319,7 @@ inferencer = fluid.contrib.inferencer.Inferencer( ...@@ -323,7 +319,7 @@ inferencer = fluid.contrib.inferencer.Inferencer(
batch_size = 10 batch_size = 10
test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size) test_reader = paddle.batch(paddle.dataset.uci_housing.test(),batch_size=batch_size)
test_data = test_reader().next() test_data = next(test_reader())
test_x = numpy.array([data[0] for data in test_data]).astype("float32") test_x = numpy.array([data[0] for data in test_data]).astype("float32")
test_y = numpy.array([data[1] for data in test_data]).astype("float32") test_y = numpy.array([data[1] for data in test_data]).astype("float32")
......
...@@ -69,28 +69,24 @@ feed_order = ['x', 'y'] ...@@ -69,28 +69,24 @@ feed_order = ['x', 'y']
# Specify the directory to save the parameters # Specify the directory to save the parameters
params_dirname = "fit_a_line.inference.model" params_dirname = "fit_a_line.inference.model"
# Plot data
from paddle.v2.plot import Ploter
train_title = "Train cost" train_title = "Train cost"
test_title = "Test cost" test_title = "Test cost"
plot_cost = Ploter(train_title, test_title)
step = 0 step = 0
# event_handler prints training and testing info # event_handler prints training and testing info
def event_handler_plot(event): def event_handler(event):
global step global step
if isinstance(event, EndStepEvent): if isinstance(event, EndStepEvent):
if step % 10 == 0: # record a train cost every 10 batches if step % 10 == 0: # record a train cost every 10 batches
plot_cost.append(train_title, step, event.metrics[0]) print("%s, Step %d, Cost %f" %
(train_title, step, event.metrics[0]))
if step % 100 == 0: # record a test cost every 100 batches if step % 100 == 0: # record a test cost every 100 batches
test_metrics = trainer.test( test_metrics = trainer.test(
reader=test_reader, feed_order=feed_order) reader=test_reader, feed_order=feed_order)
plot_cost.append(test_title, step, test_metrics[0]) print("%s, Step %d, Cost %f" % (test_title, step, test_metrics[0]))
plot_cost.plot()
if test_metrics[0] < 10.0: if test_metrics[0] < 10.0:
# If the accuracy is good enough, we can stop the training. # If the accuracy is good enough, we can stop the training.
...@@ -109,7 +105,7 @@ def event_handler_plot(event): ...@@ -109,7 +105,7 @@ def event_handler_plot(event):
trainer.train( trainer.train(
reader=train_reader, reader=train_reader,
num_epochs=100, num_epochs=100,
event_handler=event_handler_plot, event_handler=event_handler,
feed_order=feed_order) feed_order=feed_order)
...@@ -125,7 +121,7 @@ inferencer = Inferencer( ...@@ -125,7 +121,7 @@ inferencer = Inferencer(
batch_size = 10 batch_size = 10
test_reader = paddle.batch( test_reader = paddle.batch(
paddle.dataset.uci_housing.test(), batch_size=batch_size) paddle.dataset.uci_housing.test(), batch_size=batch_size)
test_data = test_reader().next() test_data = next(test_reader())
test_x = numpy.array([data[0] for data in test_data]).astype("float32") test_x = numpy.array([data[0] for data in test_data]).astype("float32")
test_y = numpy.array([data[1] for data in test_data]).astype("float32") test_y = numpy.array([data[1] for data in test_data]).astype("float32")
......
...@@ -282,7 +282,7 @@ def layer_warp(block_func, input, ch_in, ch_out, count, stride): ...@@ -282,7 +282,7 @@ def layer_warp(block_func, input, ch_in, ch_out, count, stride):
def resnet_cifar10(ipt, depth=32): def resnet_cifar10(ipt, depth=32):
# depth should be one of 20, 32, 44, 56, 110, 1202 # depth should be one of 20, 32, 44, 56, 110, 1202
assert (depth - 2) % 6 == 0 assert (depth - 2) % 6 == 0
n = (depth - 2) / 6 n = (depth - 2) // 6
nStages = {16, 64, 128} nStages = {16, 64, 128}
conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1) conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1)
res1 = layer_warp(basicblock, conv1, 16, 16, n, 1) res1 = layer_warp(basicblock, conv1, 16, 16, n, 1)
......
...@@ -282,7 +282,7 @@ Note: besides the first convolutional layer and the last fully-connected layer, ...@@ -282,7 +282,7 @@ Note: besides the first convolutional layer and the last fully-connected layer,
def resnet_cifar10(ipt, depth=32): def resnet_cifar10(ipt, depth=32):
# depth should be one of 20, 32, 44, 56, 110, 1202 # depth should be one of 20, 32, 44, 56, 110, 1202
assert (depth - 2) % 6 == 0 assert (depth - 2) % 6 == 0
n = (depth - 2) / 6 n = (depth - 2) // 6
nStages = {16, 64, 128} nStages = {16, 64, 128}
conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1) conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1)
res1 = layer_warp(basicblock, conv1, 16, 16, n, 1) res1 = layer_warp(basicblock, conv1, 16, 16, n, 1)
......
...@@ -324,7 +324,7 @@ def layer_warp(block_func, input, ch_in, ch_out, count, stride): ...@@ -324,7 +324,7 @@ def layer_warp(block_func, input, ch_in, ch_out, count, stride):
def resnet_cifar10(ipt, depth=32): def resnet_cifar10(ipt, depth=32):
# depth should be one of 20, 32, 44, 56, 110, 1202 # depth should be one of 20, 32, 44, 56, 110, 1202
assert (depth - 2) % 6 == 0 assert (depth - 2) % 6 == 0
n = (depth - 2) / 6 n = (depth - 2) // 6
nStages = {16, 64, 128} nStages = {16, 64, 128}
conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1) conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1)
res1 = layer_warp(basicblock, conv1, 16, 16, n, 1) res1 = layer_warp(basicblock, conv1, 16, 16, n, 1)
......
...@@ -324,7 +324,7 @@ Note: besides the first convolutional layer and the last fully-connected layer, ...@@ -324,7 +324,7 @@ Note: besides the first convolutional layer and the last fully-connected layer,
def resnet_cifar10(ipt, depth=32): def resnet_cifar10(ipt, depth=32):
# depth should be one of 20, 32, 44, 56, 110, 1202 # depth should be one of 20, 32, 44, 56, 110, 1202
assert (depth - 2) % 6 == 0 assert (depth - 2) % 6 == 0
n = (depth - 2) / 6 n = (depth - 2) // 6
nStages = {16, 64, 128} nStages = {16, 64, 128}
conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1) conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1)
res1 = layer_warp(basicblock, conv1, 16, 16, n, 1) res1 = layer_warp(basicblock, conv1, 16, 16, n, 1)
......
...@@ -70,7 +70,7 @@ def layer_warp(block_func, input, ch_in, ch_out, count, stride): ...@@ -70,7 +70,7 @@ def layer_warp(block_func, input, ch_in, ch_out, count, stride):
def resnet_cifar10(ipt, depth=32): def resnet_cifar10(ipt, depth=32):
# depth should be one of 20, 32, 44, 56, 110, 1202 # depth should be one of 20, 32, 44, 56, 110, 1202
assert (depth - 2) % 6 == 0 assert (depth - 2) % 6 == 0
n = (depth - 2) / 6 n = (depth - 2) // 6
nStages = {16, 64, 128} nStages = {16, 64, 128}
conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1) conv1 = conv_bn_layer(ipt, ch_out=16, filter_size=3, stride=1, padding=1)
res1 = layer_warp(basicblock, conv1, 16, 16, n, 1) res1 = layer_warp(basicblock, conv1, 16, 16, n, 1)
......
...@@ -102,7 +102,7 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -102,7 +102,7 @@ def infer(use_cuda, inference_program, params_dirname=None):
inferencer = Inferencer( inferencer = Inferencer(
infer_func=inference_program, param_path=params_dirname, place=place) infer_func=inference_program, param_path=params_dirname, place=place)
# Prepare testing data. # Prepare testing data.
from PIL import Image from PIL import Image
import numpy as np import numpy as np
import os import os
......
...@@ -208,6 +208,7 @@ import numpy ...@@ -208,6 +208,7 @@ import numpy
from functools import partial from functools import partial
import math import math
import os import os
import six
import sys import sys
from __future__ import print_function from __future__ import print_function
``` ```
...@@ -394,7 +395,7 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -394,7 +395,7 @@ def infer(use_cuda, inference_program, params_dirname=None):
most_possible_word_index = numpy.argmax(result[0]) most_possible_word_index = numpy.argmax(result[0])
print(most_possible_word_index) print(most_possible_word_index)
print([ print([
key for key, value in word_dict.iteritems() key for key, value in six.iteritems(word_dict)
if value == most_possible_word_index if value == most_possible_word_index
][0]) ][0])
``` ```
......
...@@ -221,6 +221,7 @@ import numpy ...@@ -221,6 +221,7 @@ import numpy
from functools import partial from functools import partial
import math import math
import os import os
import six
import sys import sys
from __future__ import print_function from __future__ import print_function
``` ```
...@@ -412,7 +413,7 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -412,7 +413,7 @@ def infer(use_cuda, inference_program, params_dirname=None):
most_possible_word_index = numpy.argmax(result[0]) most_possible_word_index = numpy.argmax(result[0])
print(most_possible_word_index) print(most_possible_word_index)
print([ print([
key for key, value in word_dict.iteritems() key for key, value in six.iteritems(word_dict)
if value == most_possible_word_index if value == most_possible_word_index
][0]) ][0])
``` ```
......
...@@ -250,6 +250,7 @@ import numpy ...@@ -250,6 +250,7 @@ import numpy
from functools import partial from functools import partial
import math import math
import os import os
import six
import sys import sys
from __future__ import print_function from __future__ import print_function
``` ```
...@@ -436,7 +437,7 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -436,7 +437,7 @@ def infer(use_cuda, inference_program, params_dirname=None):
most_possible_word_index = numpy.argmax(result[0]) most_possible_word_index = numpy.argmax(result[0])
print(most_possible_word_index) print(most_possible_word_index)
print([ print([
key for key, value in word_dict.iteritems() key for key, value in six.iteritems(word_dict)
if value == most_possible_word_index if value == most_possible_word_index
][0]) ][0])
``` ```
......
...@@ -263,6 +263,7 @@ import numpy ...@@ -263,6 +263,7 @@ import numpy
from functools import partial from functools import partial
import math import math
import os import os
import six
import sys import sys
from __future__ import print_function from __future__ import print_function
``` ```
...@@ -454,7 +455,7 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -454,7 +455,7 @@ def infer(use_cuda, inference_program, params_dirname=None):
most_possible_word_index = numpy.argmax(result[0]) most_possible_word_index = numpy.argmax(result[0])
print(most_possible_word_index) print(most_possible_word_index)
print([ print([
key for key, value in word_dict.iteritems() key for key, value in six.iteritems(word_dict)
if value == most_possible_word_index if value == most_possible_word_index
][0]) ][0])
``` ```
......
...@@ -12,8 +12,9 @@ ...@@ -12,8 +12,9 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from __future__ import print_function from __future__ import print_function
import paddle.v2 as paddle import paddle as paddle
import paddle.fluid as fluid import paddle.fluid as fluid
import six
import sys import sys
try: try:
...@@ -176,7 +177,7 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -176,7 +177,7 @@ def infer(use_cuda, inference_program, params_dirname=None):
most_possible_word_index = numpy.argmax(result[0]) most_possible_word_index = numpy.argmax(result[0])
print(most_possible_word_index) print(most_possible_word_index)
print([ print([
key for key, value in word_dict.iteritems() key for key, value in six.iteritems(word_dict)
if value == most_possible_word_index if value == most_possible_word_index
][0]) ][0])
......
...@@ -274,7 +274,7 @@ params_dirname = "understand_sentiment_conv.inference.model" ...@@ -274,7 +274,7 @@ params_dirname = "understand_sentiment_conv.inference.model"
def event_handler(event): def event_handler(event):
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array, event.metrics))))
if event.step == 10: if event.step == 10:
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
......
...@@ -281,7 +281,7 @@ params_dirname = "understand_sentiment_conv.inference.model" ...@@ -281,7 +281,7 @@ params_dirname = "understand_sentiment_conv.inference.model"
def event_handler(event): def event_handler(event):
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array, event.metrics))))
if event.step == 10: if event.step == 10:
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
......
...@@ -316,7 +316,7 @@ params_dirname = "understand_sentiment_conv.inference.model" ...@@ -316,7 +316,7 @@ params_dirname = "understand_sentiment_conv.inference.model"
def event_handler(event): def event_handler(event):
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array, event.metrics))))
if event.step == 10: if event.step == 10:
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
......
...@@ -323,7 +323,7 @@ params_dirname = "understand_sentiment_conv.inference.model" ...@@ -323,7 +323,7 @@ params_dirname = "understand_sentiment_conv.inference.model"
def event_handler(event): def event_handler(event):
if isinstance(event, fluid.contrib.trainer.EndStepEvent): if isinstance(event, fluid.contrib.trainer.EndStepEvent):
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array, event.metrics))))
if event.step == 10: if event.step == 10:
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
......
...@@ -111,7 +111,8 @@ def train(use_cuda, train_program, params_dirname): ...@@ -111,7 +111,8 @@ def train(use_cuda, train_program, params_dirname):
event.step, avg_cost, acc)) event.step, avg_cost, acc))
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array,
event.metrics))))
elif isinstance(event, EndEpochEvent): elif isinstance(event, EndEpochEvent):
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
...@@ -133,14 +134,14 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -133,14 +134,14 @@ def infer(use_cuda, inference_program, params_dirname=None):
place=place) place=place)
# Setup input by creating LoDTensor to represent sequence of words. # Setup input by creating LoDTensor to represent sequence of words.
# Here each word is the basic element of the LoDTensor and the shape of # Here each word is the basic element of the LoDTensor and the shape of
# each word (base_shape) should be [1] since it is simply an index to # each word (base_shape) should be [1] since it is simply an index to
# look up for the corresponding word vector. # look up for the corresponding word vector.
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]], # Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
# which has only one lod level. Then the created LoDTensor will have only # which has only one lod level. Then the created LoDTensor will have only
# one higher level structure (sequence of words, or sentence) than the basic # one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of # element (word). Hence the LoDTensor will hold data for three sentences of
# length 3, 4 and 2, respectively. # length 3, 4 and 2, respectively.
# Note that lod info should be a list of lists. # Note that lod info should be a list of lists.
reviews_str = [ reviews_str = [
......
...@@ -128,7 +128,8 @@ def train(use_cuda, train_program, params_dirname): ...@@ -128,7 +128,8 @@ def train(use_cuda, train_program, params_dirname):
event.step, avg_cost, acc)) event.step, avg_cost, acc))
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array,
event.metrics))))
elif isinstance(event, EndEpochEvent): elif isinstance(event, EndEpochEvent):
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
...@@ -150,14 +151,14 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -150,14 +151,14 @@ def infer(use_cuda, inference_program, params_dirname=None):
place=place) place=place)
# Setup input by creating LoDTensor to represent sequence of words. # Setup input by creating LoDTensor to represent sequence of words.
# Here each word is the basic element of the LoDTensor and the shape of # Here each word is the basic element of the LoDTensor and the shape of
# each word (base_shape) should be [1] since it is simply an index to # each word (base_shape) should be [1] since it is simply an index to
# look up for the corresponding word vector. # look up for the corresponding word vector.
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]], # Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
# which has only one lod level. Then the created LoDTensor will have only # which has only one lod level. Then the created LoDTensor will have only
# one higher level structure (sequence of words, or sentence) than the basic # one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of # element (word). Hence the LoDTensor will hold data for three sentences of
# length 3, 4 and 2, respectively. # length 3, 4 and 2, respectively.
# Note that lod info should be a list of lists. # Note that lod info should be a list of lists.
reviews_str = [ reviews_str = [
......
...@@ -119,7 +119,8 @@ def train(use_cuda, train_program, params_dirname): ...@@ -119,7 +119,8 @@ def train(use_cuda, train_program, params_dirname):
event.step, avg_cost, acc)) event.step, avg_cost, acc))
print("Step {0}, Epoch {1} Metrics {2}".format( print("Step {0}, Epoch {1} Metrics {2}".format(
event.step, event.epoch, map(np.array, event.metrics))) event.step, event.epoch, list(map(np.array,
event.metrics))))
elif isinstance(event, EndEpochEvent): elif isinstance(event, EndEpochEvent):
trainer.save_params(params_dirname) trainer.save_params(params_dirname)
...@@ -141,14 +142,14 @@ def infer(use_cuda, inference_program, params_dirname=None): ...@@ -141,14 +142,14 @@ def infer(use_cuda, inference_program, params_dirname=None):
place=place) place=place)
# Setup input by creating LoDTensor to represent sequence of words. # Setup input by creating LoDTensor to represent sequence of words.
# Here each word is the basic element of the LoDTensor and the shape of # Here each word is the basic element of the LoDTensor and the shape of
# each word (base_shape) should be [1] since it is simply an index to # each word (base_shape) should be [1] since it is simply an index to
# look up for the corresponding word vector. # look up for the corresponding word vector.
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]], # Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
# which has only one lod level. Then the created LoDTensor will have only # which has only one lod level. Then the created LoDTensor will have only
# one higher level structure (sequence of words, or sentence) than the basic # one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of # element (word). Hence the LoDTensor will hold data for three sentences of
# length 3, 4 and 2, respectively. # length 3, 4 and 2, respectively.
# Note that lod info should be a list of lists. # Note that lod info should be a list of lists.
reviews_str = [ reviews_str = [
......
...@@ -184,8 +184,9 @@ from __future__ import print_function ...@@ -184,8 +184,9 @@ from __future__ import print_function
import math, os import math, os
import numpy as np import numpy as np
import paddle import paddle
import paddle.v2.dataset.conll05 as conll05 import paddle.dataset.conll05 as conll05
import paddle.fluid as fluid import paddle.fluid as fluid
import six
import time import time
with_gpu = os.getenv('WITH_GPU', '0') != '0' with_gpu = os.getenv('WITH_GPU', '0') != '0'
...@@ -417,7 +418,7 @@ def train(use_cuda, save_dirname=None, is_local=True): ...@@ -417,7 +418,7 @@ def train(use_cuda, save_dirname=None, is_local=True):
start_time = time.time() start_time = time.time()
batch_id = 0 batch_id = 0
for pass_id in xrange(PASS_NUM): for pass_id in six.moves.xrange(PASS_NUM):
for data in train_data(): for data in train_data():
cost = exe.run(main_program, cost = exe.run(main_program,
feed=feeder.feed(data), feed=feeder.feed(data),
......
...@@ -207,8 +207,9 @@ from __future__ import print_function ...@@ -207,8 +207,9 @@ from __future__ import print_function
import math, os import math, os
import numpy as np import numpy as np
import paddle import paddle
import paddle.v2.dataset.conll05 as conll05 import paddle.dataset.conll05 as conll05
import paddle.fluid as fluid import paddle.fluid as fluid
import six
import time import time
with_gpu = os.getenv('WITH_GPU', '0') != '0' with_gpu = os.getenv('WITH_GPU', '0') != '0'
...@@ -427,7 +428,7 @@ def train(use_cuda, save_dirname=None, is_local=True): ...@@ -427,7 +428,7 @@ def train(use_cuda, save_dirname=None, is_local=True):
start_time = time.time() start_time = time.time()
batch_id = 0 batch_id = 0
for pass_id in xrange(PASS_NUM): for pass_id in six.moves.xrange(PASS_NUM):
for data in train_data(): for data in train_data():
cost = exe.run(main_program, cost = exe.run(main_program,
feed=feeder.feed(data), feed=feeder.feed(data),
......
...@@ -226,8 +226,9 @@ from __future__ import print_function ...@@ -226,8 +226,9 @@ from __future__ import print_function
import math, os import math, os
import numpy as np import numpy as np
import paddle import paddle
import paddle.v2.dataset.conll05 as conll05 import paddle.dataset.conll05 as conll05
import paddle.fluid as fluid import paddle.fluid as fluid
import six
import time import time
with_gpu = os.getenv('WITH_GPU', '0') != '0' with_gpu = os.getenv('WITH_GPU', '0') != '0'
...@@ -459,7 +460,7 @@ def train(use_cuda, save_dirname=None, is_local=True): ...@@ -459,7 +460,7 @@ def train(use_cuda, save_dirname=None, is_local=True):
start_time = time.time() start_time = time.time()
batch_id = 0 batch_id = 0
for pass_id in xrange(PASS_NUM): for pass_id in six.moves.xrange(PASS_NUM):
for data in train_data(): for data in train_data():
cost = exe.run(main_program, cost = exe.run(main_program,
feed=feeder.feed(data), feed=feeder.feed(data),
......
...@@ -249,8 +249,9 @@ from __future__ import print_function ...@@ -249,8 +249,9 @@ from __future__ import print_function
import math, os import math, os
import numpy as np import numpy as np
import paddle import paddle
import paddle.v2.dataset.conll05 as conll05 import paddle.dataset.conll05 as conll05
import paddle.fluid as fluid import paddle.fluid as fluid
import six
import time import time
with_gpu = os.getenv('WITH_GPU', '0') != '0' with_gpu = os.getenv('WITH_GPU', '0') != '0'
...@@ -469,7 +470,7 @@ def train(use_cuda, save_dirname=None, is_local=True): ...@@ -469,7 +470,7 @@ def train(use_cuda, save_dirname=None, is_local=True):
start_time = time.time() start_time = time.time()
batch_id = 0 batch_id = 0
for pass_id in xrange(PASS_NUM): for pass_id in six.moves.xrange(PASS_NUM):
for data in train_data(): for data in train_data():
cost = exe.run(main_program, cost = exe.run(main_program,
feed=feeder.feed(data), feed=feeder.feed(data),
......
...@@ -3,8 +3,9 @@ from __future__ import print_function ...@@ -3,8 +3,9 @@ from __future__ import print_function
import math, os import math, os
import numpy as np import numpy as np
import paddle import paddle
import paddle.v2.dataset.conll05 as conll05 import paddle.dataset.conll05 as conll05
import paddle.fluid as fluid import paddle.fluid as fluid
import six
import time import time
with_gpu = os.getenv('WITH_GPU', '0') != '0' with_gpu = os.getenv('WITH_GPU', '0') != '0'
...@@ -167,7 +168,7 @@ def train(use_cuda, save_dirname=None, is_local=True): ...@@ -167,7 +168,7 @@ def train(use_cuda, save_dirname=None, is_local=True):
start_time = time.time() start_time = time.time()
batch_id = 0 batch_id = 0
for pass_id in xrange(PASS_NUM): for pass_id in six.moves.xrange(PASS_NUM):
for data in train_data(): for data in train_data():
cost = exe.run( cost = exe.run(
main_program, feed=feeder.feed(data), fetch_list=[avg_cost]) main_program, feed=feeder.feed(data), fetch_list=[avg_cost])
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册