m-ric HF staff commited on
Commit
13abb86
1 Parent(s): 488e617

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -5
app.py CHANGED
@@ -392,14 +392,14 @@ def generate_beams(start_sentence, scores, length_penalty, decoded_sequences):
392
  return original_tree
393
 
394
  @spaces.GPU
395
- def get_beam_search_html(input_text, number_steps, number_beams, length_penalty):
396
  inputs = tokenizer([input_text], return_tensors="pt")
397
 
398
  outputs = model.generate(
399
  **inputs,
400
  max_new_tokens=number_steps,
401
  num_beams=number_beams,
402
- num_return_sequences=number_beams,
403
  return_dict_in_generate=True,
404
  length_penalty=length_penalty,
405
  output_scores=True,
@@ -443,6 +443,7 @@ Play with the parameters below to understand how beam search decoding works!
443
  - **Number of beams** (`num_beams`): the number of beams to use
444
  - **Length penalty** (`length_penalty`): the length penalty to apply to outputs. `length_penalty` > 0.0 promotes longer sequences, while `length_penalty` < 0.0 encourages shorter sequences.
445
  This parameter will not impact the beam search paths, but only influence the choice of sequences in the end towards longer or shorter sequences.
 
446
  """
447
  )
448
  text = gr.Textbox(
@@ -450,21 +451,24 @@ This parameter will not impact the beam search paths, but only influence the cho
450
  value="Conclusion: thanks a lot. This article was originally published on",
451
  )
452
  with gr.Row():
453
- steps = gr.Slider(
454
  label="Number of steps", minimum=1, maximum=12, step=1, value=4
455
  )
456
- beams = gr.Slider(
457
  label="Number of beams", minimum=2, maximum=4, step=1, value=3
458
  )
459
  length_penalty = gr.Slider(
460
  label="Length penalty", minimum=-3, maximum=3, step=0.5, value=1
461
  )
 
 
 
462
  button = gr.Button()
463
  out_html = gr.Markdown()
464
  out_markdown = gr.Markdown()
465
  button.click(
466
  get_beam_search_html,
467
- inputs=[text, steps, beams, length_penalty],
468
  outputs=[out_html, out_markdown],
469
  )
470
 
 
392
  return original_tree
393
 
394
  @spaces.GPU
395
+ def get_beam_search_html(input_text, number_steps, number_beams, length_penalty, number_sequences):
396
  inputs = tokenizer([input_text], return_tensors="pt")
397
 
398
  outputs = model.generate(
399
  **inputs,
400
  max_new_tokens=number_steps,
401
  num_beams=number_beams,
402
+ num_return_sequences=number_sequences,
403
  return_dict_in_generate=True,
404
  length_penalty=length_penalty,
405
  output_scores=True,
 
443
  - **Number of beams** (`num_beams`): the number of beams to use
444
  - **Length penalty** (`length_penalty`): the length penalty to apply to outputs. `length_penalty` > 0.0 promotes longer sequences, while `length_penalty` < 0.0 encourages shorter sequences.
445
  This parameter will not impact the beam search paths, but only influence the choice of sequences in the end towards longer or shorter sequences.
446
+ - **Number of sequences** (`num_return_sequences`): the number of sequences to be returned at the end of generation.
447
  """
448
  )
449
  text = gr.Textbox(
 
451
  value="Conclusion: thanks a lot. This article was originally published on",
452
  )
453
  with gr.Row():
454
+ n_steps = gr.Slider(
455
  label="Number of steps", minimum=1, maximum=12, step=1, value=4
456
  )
457
+ n_beams = gr.Slider(
458
  label="Number of beams", minimum=2, maximum=4, step=1, value=3
459
  )
460
  length_penalty = gr.Slider(
461
  label="Length penalty", minimum=-3, maximum=3, step=0.5, value=1
462
  )
463
+ n_sequences = gr.Slider(
464
+ label="Number of sequences", minimum=1, maximum=n_beams, step=1, value=n_beams
465
+ )
466
  button = gr.Button()
467
  out_html = gr.Markdown()
468
  out_markdown = gr.Markdown()
469
  button.click(
470
  get_beam_search_html,
471
+ inputs=[text, steps, beams, length_penalty, n_sequences],
472
  outputs=[out_html, out_markdown],
473
  )
474