Spaces:
Runtime error
Runtime error
update app
Browse files
app.py
CHANGED
@@ -6,31 +6,34 @@ from transformers import pipeline
|
|
6 |
title = "InCoder Generator"
|
7 |
description = "This is a subspace to make code generation with [InCoder](https://huggingface.co/facebook/incoder-6B), it is used in a larger [space](https://huggingface.co/spaces/loubnabnl/Code-generation-models-v1) for model comparison."
|
8 |
example = [
|
9 |
-
["def
|
10 |
-
["def
|
|
|
11 |
tokenizer = AutoTokenizer.from_pretrained("facebook/incoder-1B")
|
12 |
model = AutoModelForCausalLM.from_pretrained("facebook/incoder-1B", low_cpu_mem_usage=True)
|
13 |
|
14 |
|
15 |
-
|
|
|
|
|
16 |
set_seed(seed)
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
if
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
return generated_text
|
27 |
|
|
|
28 |
|
29 |
iface = gr.Interface(
|
30 |
-
fn=
|
31 |
inputs=[
|
32 |
gr.Textbox(lines=10, label="Input code"),
|
33 |
-
gr.Dropdown(choices=["Greedy", "Sample"], value="Sample"),
|
34 |
gr.inputs.Slider(
|
35 |
minimum=8,
|
36 |
maximum=256,
|
@@ -38,6 +41,13 @@ iface = gr.Interface(
|
|
38 |
default=8,
|
39 |
label="Number of tokens to generate",
|
40 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
gr.inputs.Slider(
|
42 |
minimum=0,
|
43 |
maximum=1000,
|
|
|
6 |
title = "InCoder Generator"
|
7 |
description = "This is a subspace to make code generation with [InCoder](https://huggingface.co/facebook/incoder-6B), it is used in a larger [space](https://huggingface.co/spaces/loubnabnl/Code-generation-models-v1) for model comparison."
|
8 |
example = [
|
9 |
+
["def count_words(filename):", 40, 0.6, 42],
|
10 |
+
["def print_hello_world():", "Sample", 8, 0.6, 42],
|
11 |
+
["def get_file_size(filepath):", "Sample", 22, 0.6, 42]]
|
12 |
tokenizer = AutoTokenizer.from_pretrained("facebook/incoder-1B")
|
13 |
model = AutoModelForCausalLM.from_pretrained("facebook/incoder-1B", low_cpu_mem_usage=True)
|
14 |
|
15 |
|
16 |
+
MAX_LENGTH = 2048
|
17 |
+
BOS = "<|endoftext|>"
|
18 |
+
def generate(gen_prompt, max_tokens, temperature=0.6, seed=42):
|
19 |
set_seed(seed)
|
20 |
+
input_ids = tokenizer(gen_prompt, return_tensors="pt").input_ids
|
21 |
+
current_length = input_ids.flatten().size(0)
|
22 |
+
max_length = max_tokens + current_length
|
23 |
+
if max_length > MAX_LENGTH:
|
24 |
+
max_length = MAX_LENGTH
|
25 |
+
output = model.generate(input_ids=input_ids, do_sample=True, top_p=0.95, temperature=temperature, max_length=max_length)
|
26 |
+
generated_text = tokenizer.decode(output.flatten())
|
27 |
+
if generated_text.startswith(BOS):
|
28 |
+
generated_text = detok_hypo_str[len(BOS):]
|
29 |
return generated_text
|
30 |
|
31 |
+
generation = generate(gen_prompt, length_limit=40, temperature=0.6)
|
32 |
|
33 |
iface = gr.Interface(
|
34 |
+
fn=generate,
|
35 |
inputs=[
|
36 |
gr.Textbox(lines=10, label="Input code"),
|
|
|
37 |
gr.inputs.Slider(
|
38 |
minimum=8,
|
39 |
maximum=256,
|
|
|
41 |
default=8,
|
42 |
label="Number of tokens to generate",
|
43 |
),
|
44 |
+
gr.inputs.Slider(
|
45 |
+
minimum=0,
|
46 |
+
maximum=2,
|
47 |
+
step=0.1,
|
48 |
+
default=0.6,
|
49 |
+
label="Temperature",
|
50 |
+
)
|
51 |
gr.inputs.Slider(
|
52 |
minimum=0,
|
53 |
maximum=1000,
|