提交 69e0af56 编写于 作者: K Kexin Zhao

do this to new_api example

上级 dbc6102e
...@@ -202,24 +202,35 @@ def infer(use_cuda, inference_program, save_path): ...@@ -202,24 +202,35 @@ def infer(use_cuda, inference_program, save_path):
inferencer = fluid.Inferencer( inferencer = fluid.Inferencer(
inference_program, param_path=save_path, place=place) inference_program, param_path=save_path, place=place)
def create_random_lodtensor(lod, place, low, high): # Setup inputs by creating LoDTensors to represent sequences of words.
data = np.random.random_integers(low, high, # Here each word is the basic element of these LoDTensors and the shape of
[lod[-1], 1]).astype("int64") # each word (base_shape) should be [1] since it is simply an index to
res = fluid.LoDTensor() # look up for the corresponding word vector.
res.set(data, place) # Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
res.set_lod([lod]) # which has only one lod level. Then the created LoDTensors will have only
return res # one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of
# Create an input example # length 3, 4 and 2, respectively.
lod = [0, 4, 10] # Note that lod info should be a list of lists.
word = create_random_lodtensor(lod, place, low=0, high=WORD_DICT_LEN - 1) lod = [[3, 4, 2]]
pred = create_random_lodtensor(lod, place, low=0, high=PRED_DICT_LEN - 1) base_shape = [1]
ctx_n2 = create_random_lodtensor(lod, place, low=0, high=WORD_DICT_LEN - 1) # The range of random integers is [low, high]
ctx_n1 = create_random_lodtensor(lod, place, low=0, high=WORD_DICT_LEN - 1) word = fluid.create_random_lodtensor(
ctx_0 = create_random_lodtensor(lod, place, low=0, high=WORD_DICT_LEN - 1) lod, base_shape, place, low=0, high=WORD_DICT_LEN - 1)
ctx_p1 = create_random_lodtensor(lod, place, low=0, high=WORD_DICT_LEN - 1) pred = fluid.create_random_lodtensor(
ctx_p2 = create_random_lodtensor(lod, place, low=0, high=WORD_DICT_LEN - 1) lod, base_shape, place, low=0, high=PRED_DICT_LEN - 1)
mark = create_random_lodtensor(lod, place, low=0, high=MARK_DICT_LEN - 1) ctx_n2 = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=WORD_DICT_LEN - 1)
ctx_n1 = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=WORD_DICT_LEN - 1)
ctx_0 = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=WORD_DICT_LEN - 1)
ctx_p1 = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=WORD_DICT_LEN - 1)
ctx_p2 = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=WORD_DICT_LEN - 1)
mark = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=MARK_DICT_LEN - 1)
results = inferencer.infer( results = inferencer.infer(
{ {
......
...@@ -257,8 +257,10 @@ def infer(use_cuda, save_dirname=None): ...@@ -257,8 +257,10 @@ def infer(use_cuda, save_dirname=None):
# 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.
lod = [[3, 4, 2]] lod = [[3, 4, 2]]
base_shape = [1] base_shape = [1]
# The range of random integers is [low, high]
word = fluid.create_random_lodtensor( word = fluid.create_random_lodtensor(
lod, base_shape, place, low=0, high=word_dict_len - 1) lod, base_shape, place, low=0, high=word_dict_len - 1)
pred = fluid.create_random_lodtensor( pred = fluid.create_random_lodtensor(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册