Spaces:
Runtime error
Runtime error
taka-yamakoshi
commited on
Commit
·
85debe8
1
Parent(s):
e2ecd0a
debug
Browse files
app.py
CHANGED
@@ -130,7 +130,10 @@ def separate_options(option_locs):
|
|
130 |
assert np.sum(np.diff(option_locs)>1)==1
|
131 |
sep = list(np.diff(option_locs)>1).index(1)+1
|
132 |
option_1_locs, option_2_locs = option_locs[:sep], option_locs[sep:]
|
133 |
-
|
|
|
|
|
|
|
134 |
return option_1_locs, option_2_locs
|
135 |
|
136 |
def mask_out(input_ids,pron_locs,option_locs,mask_id):
|
@@ -227,7 +230,7 @@ if __name__=='__main__':
|
|
227 |
|
228 |
for layer_id in range(num_layers):
|
229 |
interventions = [create_interventions(16,['lay','qry','key','val'],num_heads) if i==layer_id else {'lay':[],'qry':[],'key':[],'val':[]} for i in range(num_layers)]
|
230 |
-
for masked_ids in [masked_ids_option_1, masked_ids_option_2]:
|
231 |
input_ids = torch.tensor([
|
232 |
*[masked_ids['sent_1'] for _ in range(num_heads)],
|
233 |
*[masked_ids['sent_2'] for _ in range(num_heads)]
|
@@ -235,7 +238,8 @@ if __name__=='__main__':
|
|
235 |
outputs = SkeletonAlbertForMaskedLM(model,input_ids,interventions=interventions)
|
236 |
logprobs = F.log_softmax(outputs['logits'], dim = -1)
|
237 |
logprobs_1, logprobs_2 = logprobs[:num_heads], logprobs[num_heads:]
|
238 |
-
evals_1 = [logprobs_1[:,pron_locs[0]+1+i,token] for i,token in enumerate(
|
|
|
239 |
|
240 |
|
241 |
preds_0 = [torch.multinomial(torch.exp(probs), num_samples=1).squeeze(dim=-1) for probs in logprobs[0][1:-1]]
|
|
|
130 |
assert np.sum(np.diff(option_locs)>1)==1
|
131 |
sep = list(np.diff(option_locs)>1).index(1)+1
|
132 |
option_1_locs, option_2_locs = option_locs[:sep], option_locs[sep:]
|
133 |
+
if len(option_1_locs)>1:
|
134 |
+
assert np.all(np.diff(option_1_locs)==1)
|
135 |
+
if len(option_2_locs)>1:
|
136 |
+
assert np.all(np.diff(option_2_locs)==1)
|
137 |
return option_1_locs, option_2_locs
|
138 |
|
139 |
def mask_out(input_ids,pron_locs,option_locs,mask_id):
|
|
|
230 |
|
231 |
for layer_id in range(num_layers):
|
232 |
interventions = [create_interventions(16,['lay','qry','key','val'],num_heads) if i==layer_id else {'lay':[],'qry':[],'key':[],'val':[]} for i in range(num_layers)]
|
233 |
+
for masked_ids, option_tokens in zip([masked_ids_option_1, masked_ids_option_2],[option_1_tokens,option_2_tokens]):
|
234 |
input_ids = torch.tensor([
|
235 |
*[masked_ids['sent_1'] for _ in range(num_heads)],
|
236 |
*[masked_ids['sent_2'] for _ in range(num_heads)]
|
|
|
238 |
outputs = SkeletonAlbertForMaskedLM(model,input_ids,interventions=interventions)
|
239 |
logprobs = F.log_softmax(outputs['logits'], dim = -1)
|
240 |
logprobs_1, logprobs_2 = logprobs[:num_heads], logprobs[num_heads:]
|
241 |
+
evals_1 = [logprobs_1[:,pron_locs['sent_1'][0]+1+i,token] for i,token in enumerate(option_tokens)]
|
242 |
+
evals_2 = [logprobs_2[:,pron_locs['sent_2'][0]+1+i,token] for i,token in enumerate(option_tokens)]
|
243 |
|
244 |
|
245 |
preds_0 = [torch.multinomial(torch.exp(probs), num_samples=1).squeeze(dim=-1) for probs in logprobs[0][1:-1]]
|