jw2yang commited on
Commit
70dfe19
1 Parent(s): 11b0633

Update tasks/ref_in_gpt3.py

Browse files
Files changed (1) hide show
  1. tasks/ref_in_gpt3.py +13 -23
tasks/ref_in_gpt3.py CHANGED
@@ -31,13 +31,14 @@ pipe = StableDiffusionInpaintPipeline.from_pretrained(
31
  ).to("cuda")
32
 
33
  prompts = []
34
- prompts.append("remove the person, task: (referring editing), source: [person], target:<clean and empty scene>;")
35
- prompts.append("remove the person in the middle, task: (referring editing), source: [person in the middle], target:<clean and empty scene>;")
36
- prompts.append("remove the dog on the left side, task: (referring editing), source: [dog on the left side], target:<clean and empty scene>;")
37
- prompts.append("change the apple to a pear, task: (referring editing), source: [apple], target: <pear>;")
38
- prompts.append("change the red apple to a green one, task: (referring editing), source: [red apple], target: <green apple>;")
39
- prompts.append("replace the dog with a cat, task: (referring editing), source: [dot], target: <cat>;")
40
- prompts.append("replace the red apple with a green one, task: (referring editing), source: [red apple], target: <green apple>;")
 
41
 
42
  openai.api_type = "azure"
43
  openai.api_base = "https://xdecoder.openai.azure.com/"
@@ -45,34 +46,23 @@ openai.api_version = "2022-12-01"
45
  openai.api_key = os.environ["OPENAI_API_KEY"]
46
 
47
  def get_gpt3_response(prompt):
48
- # response = openai.Completion.create(
49
- # model="text-davinci-003",
50
- # prompt=prompt,
51
- # temperature=0.7,
52
- # max_tokens=128,
53
- # top_p=1,
54
- # frequency_penalty=0,
55
- # presence_penalty=0
56
- # )
57
-
58
  response = openai.Completion.create(
59
  engine="text001",
60
  prompt=prompt,
61
- temperature=1,
62
- max_tokens=100,
63
- top_p=0.5,
64
  frequency_penalty=0,
65
  presence_penalty=0,
66
- best_of=1,
67
- stop=None
68
  )
69
 
70
  return response
71
 
72
  def referring_inpainting_gpt3(model, image, instruction, *args, **kwargs):
73
  # convert instruction to source and target
 
74
  print(instruction)
75
- resp = get_gpt3_response(' '.join(prompts) + instruction + ',')
76
  resp_text = resp['choices'][0]['text']
77
  print(resp_text)
78
  ref_text = resp_text[resp_text.find('[')+1:resp_text.find(']')]
 
31
  ).to("cuda")
32
 
33
  prompts = []
34
+ prompts.append("instruction: remove the person, task: (referring editing), source: [person], target:<clean and empty scene>.")
35
+ prompts.append("instruction: remove the person in the middle, task: (referring editing), source: [person in the middle], target:<clean and empty scene>.")
36
+ prompts.append("instruction: remove the dog on the left side, task: (referring editing), source: [dog on the left side], target:<clean and empty scene>.")
37
+ prompts.append("instruction: change the apple to a pear, task: (referring editing), source: [apple], target: <pear>.")
38
+ prompts.append("instruction: change the red apple to a green one, task: (referring editing), source: [red apple], target: <green apple>.")
39
+ prompts.append("instruction: change the color of bird's feathers from white to blue, task: (referring editing), source: [white bird], target: <blue bird>.")
40
+ prompts.append("instruction: replace the dog with a cat, task: (referring editing), source: [dot], target: <cat>.")
41
+ prompts.append("instruction: replace the red apple with a green one, task: (referring editing), source: [red apple], target: <green apple>.")
42
 
43
  openai.api_type = "azure"
44
  openai.api_base = "https://xdecoder.openai.azure.com/"
 
46
  openai.api_key = os.environ["OPENAI_API_KEY"]
47
 
48
  def get_gpt3_response(prompt):
 
 
 
 
 
 
 
 
 
 
49
  response = openai.Completion.create(
50
  engine="text001",
51
  prompt=prompt,
52
+ temperature=0.7,
53
+ max_tokens=512,
54
+ top_p=1,
55
  frequency_penalty=0,
56
  presence_penalty=0,
 
 
57
  )
58
 
59
  return response
60
 
61
  def referring_inpainting_gpt3(model, image, instruction, *args, **kwargs):
62
  # convert instruction to source and target
63
+ instruction = instruction.replace('.', '')
64
  print(instruction)
65
+ resp = get_gpt3_response(' '.join(prompts) + ' instruction: ' + instruction + ',')
66
  resp_text = resp['choices'][0]['text']
67
  print(resp_text)
68
  ref_text = resp_text[resp_text.find('[')+1:resp_text.find(']')]