gojiteji commited on
Commit
888c495
1 Parent(s): dd45576

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -16
app.py CHANGED
@@ -22,31 +22,28 @@ def MELCHIOR(sue):#BERT
22
  return "承認" if mask[allow]>mask[deny] else "否定"
23
 
24
  def BALTHASAR(sue):#mT5
25
- allow=mT5Tokenizer("承認").input_ids[1]
26
- deny=mT5Tokenizer("否定").input_ids[1]
27
- encoder_output=mT5Model.encoder(**mT5Tokenizer('BALTHASARは母としての人格としての人格を持っています。人間とBALTHASARの対話です。人間「'+sue+'。承認 か 否定 のどちらかで答えてください。」'+"BALTHASAR 「<X>」",return_tensors="pt"))
28
- id=None
29
- p_answer=None
30
- probs=None
31
- i=0
32
- txt="<pad><X>"
33
- i=i+1
34
- probs=mT5Model(inputs_embeds=encoder_output.last_hidden_state,decoder_input_ids=mT5Tokenizer(txt,return_tensors="pt").input_ids[:,:-1]).logits[0]
35
- id=torch.argmax(probs[-1])
36
- txt=txt+mT5Tokenizer.decode(id)
37
- votes.append(1 if probs[-1][allow]>probs[-1][deny] else -1)
38
- return "承認" if probs[-1][allow]>probs[-1][deny] else "否定"
39
-
40
- def CASPER(sue):#mBERT
41
  allow=mBERTTokenizer("Yes").input_ids[1]
42
  deny=mBERTTokenizer("No").input_ids[1]
43
  output=mBERTModel(**mBERTTokenizer('MELCHIORは科学者としての人格を持っています。人間とMELCHIORの対話です。人間「'+sue+'。賛成か反対か。」'+"MELCHIOR 「[MASK]」",return_tensors="pt")).logits
 
44
  mask=output[0,-3,:]
45
  print(mBERTTokenizer.decode(torch.argmax(output[0,-3,:])))
46
  votes.append(1 if mask[allow]>mask[deny] else -1)
47
  return "承認" if mask[allow]>mask[deny] else "否定"
48
 
49
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  def greet(sue):
51
  text1="BERT-1"+MELCHIOR(sue)
52
  text2="GPT-2"+CASPER(sue)
22
  return "承認" if mask[allow]>mask[deny] else "否定"
23
 
24
  def BALTHASAR(sue):#mT5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  allow=mBERTTokenizer("Yes").input_ids[1]
26
  deny=mBERTTokenizer("No").input_ids[1]
27
  output=mBERTModel(**mBERTTokenizer('MELCHIORは科学者としての人格を持っています。人間とMELCHIORの対話です。人間「'+sue+'。賛成か反対か。」'+"MELCHIOR 「[MASK]」",return_tensors="pt")).logits
28
+ print(mBERTTokenizer.batch_decode(torch.argmax(output,-1)))
29
  mask=output[0,-3,:]
30
  print(mBERTTokenizer.decode(torch.argmax(output[0,-3,:])))
31
  votes.append(1 if mask[allow]>mask[deny] else -1)
32
  return "承認" if mask[allow]>mask[deny] else "否定"
33
 
34
 
35
+ def CASPER(sue):#GPT2
36
+ allow=GPT2Tokenizer("賛成").input_ids[1]
37
+ deny=GPT2Tokenizer("反対").input_ids[1]
38
+ inpt=GPT2Tokenizer('CASPERは女としての人格を持っています。人間とCASPERの対話です。人間「'+sue+'。賛成か反対か。」'+"CASPER 「",return_tensors="pt")
39
+ probs=GPT2Model(input_ids=inpt.input_ids[:,:-1],attention_mask=inpt.attention_mask[:,:-1]).logits[0]
40
+ i=-1
41
+ p_answer=probs
42
+ id=torch.argmax(probs[i])
43
+ votes.append(1 if probs[i][allow]>probs[i][deny] else -1)
44
+ return "承認" if probs[i][allow]>probs[i][deny] else "否定"
45
+
46
+
47
  def greet(sue):
48
  text1="BERT-1"+MELCHIOR(sue)
49
  text2="GPT-2"+CASPER(sue)