5
5
6
6
import torch
7
7
import torch .nn .functional as F
8
- from fairseq import libnat
8
+
9
9
from fairseq .models import register_model , register_model_architecture
10
10
from fairseq .models .model_utils import fill_tensors as _fill , skip_tensors as _skip
11
11
from fairseq .models .transformer import (
18
18
19
19
20
20
def _get_ins_targets (in_tokens , out_tokens , padding_idx , unk_idx ):
21
+ try :
22
+ from fairseq import libnat
23
+ except ImportError as e :
24
+ import sys
25
+ sys .stderr .write ('ERROR: missing libnat. run `pip install --editable .`\n ' )
26
+ raise e
27
+
21
28
in_seq_len , out_seq_len = in_tokens .size (1 ), out_tokens .size (1 )
22
29
23
30
with torch .cuda .device_of (in_tokens ):
@@ -60,6 +67,13 @@ def _get_ins_targets(in_tokens, out_tokens, padding_idx, unk_idx):
60
67
61
68
62
69
def _get_del_targets (in_tokens , out_tokens , padding_idx ):
70
+ try :
71
+ from fairseq import libnat
72
+ except ImportError as e :
73
+ import sys
74
+ sys .stderr .write ('ERROR: missing libnat. run `pip install --editable .`\n ' )
75
+ raise e
76
+
63
77
out_seq_len = out_tokens .size (1 )
64
78
65
79
with torch .cuda .device_of (in_tokens ):
@@ -86,6 +100,13 @@ def _get_del_targets(in_tokens, out_tokens, padding_idx):
86
100
87
101
88
102
def _get_del_ins_targets (in_tokens , out_tokens , padding_idx ):
103
+ try :
104
+ from fairseq import libnat
105
+ except ImportError as e :
106
+ import sys
107
+ sys .stderr .write ('ERROR: missing libnat. run `pip install --editable .`\n ' )
108
+ raise e
109
+
89
110
in_seq_len , out_seq_len = in_tokens .size (1 ), out_tokens .size (1 )
90
111
91
112
with torch .cuda .device_of (in_tokens ):
0 commit comments