Skip to content
This repository was archived by the owner on Jan 15, 2024. It is now read-only.

Commit 0865768

Browse files
committed
Fix lint after updating pylint
1 parent 03c4824 commit 0865768

File tree

12 files changed

+38
-61
lines changed

12 files changed

+38
-61
lines changed

src/gluonnlp/data/batchify/embedding.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -206,21 +206,21 @@ def _context_generator(sentence_boundaries, window, batch_size,
206206
# In SkipGram mode, there may be some leftover contexts
207207
# form the last batch
208208
continue
209-
elif i < num_rows:
210-
num_context_skip = 0
211-
context_row.append(i)
212-
context_col.append(context)
213-
if cbow:
214-
context_data.append(1.0 / len(contexts))
215-
else:
216-
center_batch.append(center)
217-
context_data.append(1)
218-
i += 1
219-
else:
209+
if i >= num_rows:
220210
num_context_skip = j
221211
assert not cbow
222212
break
223213

214+
num_context_skip = 0
215+
context_row.append(i)
216+
context_col.append(context)
217+
if cbow:
218+
context_data.append(1.0 / len(contexts))
219+
else:
220+
center_batch.append(center)
221+
context_data.append(1)
222+
i += 1
223+
224224
if cbow:
225225
center_batch.append(center)
226226
i += 1

src/gluonnlp/data/stream.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,7 @@ def run(self):
270270
c = self._controlq.get(False)
271271
if c is None:
272272
break
273-
else:
274-
raise RuntimeError('Got unexpected control code {}'.format(repr(c)))
273+
raise RuntimeError('Got unexpected control code {}'.format(repr(c)))
275274
except queue.Empty:
276275
pass
277276
except RuntimeError as e:

src/gluonnlp/data/transforms.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ class SacreMosesTokenizer:
178178
"""
179179

180180
def __init__(self):
181-
from sacremoses import MosesTokenizer
181+
from sacremoses import MosesTokenizer # pylint: disable=import-outside-toplevel
182182
self._tokenizer = MosesTokenizer()
183183

184184
def __call__(self, sample: str, return_str: bool = False):
@@ -228,8 +228,8 @@ class SpacyTokenizer:
228228

229229
def __init__(self, lang='en_core_web_sm'):
230230
try:
231-
import spacy
232-
from pkg_resources import parse_version
231+
import spacy # pylint: disable=import-outside-toplevel
232+
from pkg_resources import parse_version # pylint: disable=import-outside-toplevel
233233
assert parse_version(spacy.__version__) >= parse_version('2.0.0'),\
234234
'We only support spacy>=2.0.0'
235235
except ImportError:
@@ -292,7 +292,7 @@ class SacreMosesDetokenizer:
292292

293293
def __init__(self, return_str=True):
294294
self._return_str = return_str
295-
from sacremoses import MosesDetokenizer
295+
from sacremoses import MosesDetokenizer # pylint: disable=import-outside-toplevel
296296
self._detokenizer = MosesDetokenizer()
297297

298298
def __call__(self, sample: List[str], return_str: Optional[bool] = None):
@@ -338,7 +338,7 @@ class JiebaTokenizer:
338338

339339
def __init__(self):
340340
try:
341-
import jieba
341+
import jieba # pylint: disable=import-outside-toplevel
342342
except ImportError:
343343
raise ImportError(
344344
'jieba is not installed. You must install jieba in order to use the '
@@ -404,7 +404,7 @@ def __init__(self,
404404
assert is_java_exist == 0, 'Java is not installed. You must install Java 8.0' \
405405
'in order to use the NLTKStanfordSegmenter'
406406
try:
407-
from nltk.tokenize import StanfordSegmenter
407+
from nltk.tokenize import StanfordSegmenter # pylint: disable=import-outside-toplevel
408408
except ImportError:
409409
raise ImportError(
410410
'NLTK or relevant packages are not installed. You must install NLTK '
@@ -474,13 +474,13 @@ def __call__(self, sample):
474474
ret : list of strs
475475
List of tokens
476476
"""
477-
return [tok for tok in self._tokenizer.segment(sample).strip().split()]
477+
return self._tokenizer.segment(sample).strip().split()
478478

479479

480480
class _SentencepieceProcessor:
481481
def __init__(self, path):
482482
try:
483-
import sentencepiece
483+
import sentencepiece # pylint: disable=import-outside-toplevel
484484
except ImportError:
485485
raise ImportError(
486486
'sentencepiece is not installed. You must install sentencepiece '
@@ -1235,7 +1235,8 @@ class GPT2BPETokenizer(_GPT2BPE):
12351235
'1a770728fd102bc9dc332f322e6bfb294767a685')
12361236
def __init__(self, root=os.path.join(get_home_dir(), 'models')):
12371237
try:
1238-
import regex as re
1238+
import regex # pylint: disable=import-outside-toplevel
1239+
self._regex = regex
12391240
except ImportError:
12401241
raise ImportError(
12411242
'GPT2BPETokenizer requires regex. '
@@ -1285,7 +1286,7 @@ def __init__(self, root=os.path.join(get_home_dir(), 'models')):
12851286
raise ValueError('Downloaded file has different hash. Please try again.')
12861287
self._read_bpe_ranks(file_path)
12871288
self._cache = {}
1288-
self._token_pattern = re.compile(
1289+
self._token_pattern = self._regex.compile(
12891290
r'\'s|\'t|\'re|\'ve|\'m|\'ll|\'d| ?\p{L}+'
12901291
r'| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+')
12911292

@@ -1347,9 +1348,8 @@ def __call__(self, sample):
13471348
-------
13481349
ret : list(str)
13491350
"""
1350-
import regex as re
13511351
ret = []
1352-
for word_token in re.findall(self._token_pattern, sample):
1352+
for word_token in self._regex.findall(self._token_pattern, sample):
13531353
word_token = bytearray(word_token.encode('utf-8'))
13541354
word_token = ''.join(self._byte_encoder[code] for code in word_token)
13551355
ret.extend(self.get_bpe_subword(word_token))

src/gluonnlp/data/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@ def _load_pretrained_vocab(name, root, cls=None):
348348
def _load_vocab_file(file_path, cls):
349349
with open(file_path, 'r') as f:
350350
if cls is None:
351+
# pylint: disable=import-outside-toplevel
351352
from ..vocab import Vocab
352353
cls = Vocab
353354

src/gluonnlp/data/word_embedding_evaluation.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,7 @@ def __init__(self, root=os.path.join(get_home_dir(), 'datasets',
330330
def _get_data(self):
331331
datafilepath = os.path.join(self.root, self._archive_file[0])
332332

333-
dataset = CorpusDataset(datafilepath, tokenizer=lambda x: x.split(','))
334-
return [row for row in dataset]
333+
return list(CorpusDataset(datafilepath, tokenizer=lambda x: x.split(',')))
335334

336335

337336
@register

src/gluonnlp/initializer/initializer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class TruncNorm(Initializer):
8080
def __init__(self, mean=0, stdev=0.01, **kwargs):
8181
super(TruncNorm, self).__init__(**kwargs)
8282
try:
83-
from scipy.stats import truncnorm
83+
from scipy.stats import truncnorm # pylint: disable=import-outside-toplevel
8484
except ImportError:
8585
raise ImportError('SciPy is not installed. '
8686
'You must install SciPy >= 1.0.0 in order to use the '

src/gluonnlp/model/attention_cell.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import mxnet as mx
2424
from mxnet.gluon.block import HybridBlock
2525
from mxnet.gluon import nn
26+
from mxnet.contrib.amp import amp
2627
from .block import L2Normalization
2728

2829

@@ -46,13 +47,9 @@ def _apply_mask(F, att_score, mask, dtype):
4647
if np.dtype(dtype) == np.float16:
4748
neg = -1e4
4849
else:
49-
try:
50-
# if AMP (automatic mixed precision) is enabled, -1e18 will cause NaN.
51-
from mxnet.contrib import amp
52-
if amp.amp._amp_initialized:
53-
neg = -1e4
54-
except ImportError:
55-
pass
50+
# if AMP (automatic mixed precision) is enabled, -1e18 will cause NaN.
51+
if amp._amp_initialized:
52+
neg = -1e4
5653
att_score = F.where(mask, att_score, neg * F.ones_like(att_score))
5754
return att_score
5855

src/gluonnlp/model/bert.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from .seq2seq_encoder_decoder import Seq2SeqEncoder
3333
from .transformer import TransformerEncoderCell
3434
from .utils import _load_pretrained_params, _load_vocab
35+
from ..vocab import Vocab, BERTVocab
3536

3637
###############################################################################
3738
# COMPONENTS #
@@ -1161,8 +1162,6 @@ def get_roberta_model(model_name=None, dataset_name=None, vocab=None, pretrained
11611162
use_residual=predefined_args['use_residual'],
11621163
activation=predefined_args.get('activation', 'gelu'),
11631164
layer_norm_eps=predefined_args.get('layer_norm_eps', 1e-5))
1164-
1165-
from ..vocab import Vocab
11661165
bert_vocab = _load_vocab(dataset_name, vocab, root, cls=Vocab)
11671166
# BERT
11681167
net = RoBERTaModel(encoder, len(bert_vocab),
@@ -1269,8 +1268,6 @@ def get_bert_model(model_name=None, dataset_name=None, vocab=None, pretrained=Tr
12691268
use_residual=predefined_args['use_residual'],
12701269
activation=predefined_args.get('activation', 'gelu'),
12711270
layer_norm_eps=predefined_args.get('layer_norm_eps', 1e-12))
1272-
1273-
from ..vocab import BERTVocab
12741271
# bert_vocab
12751272
bert_vocab = _load_vocab(dataset_name, vocab, root, cls=BERTVocab)
12761273
# BERT

src/gluonnlp/optimizer/bert_adam.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import numpy
2121
from mxnet.optimizer import Optimizer, register
2222
from mxnet.ndarray import zeros, NDArray, full
23+
from mxnet.ndarray.contrib import mp_adamw_update, adamw_update
2324

2425
__all__ = ['BERTAdam']
2526

@@ -93,14 +94,6 @@ def update_multi_precision(self, index, weight, grad, state):
9394

9495
def _update_impl(self, indices, weight, grad, state, multi_precision=False):
9596
"""update function"""
96-
try:
97-
from mxnet.ndarray.contrib import adamw_update
98-
except ImportError:
99-
raise ImportError('Failed to import nd.contrib.adamw_update from MXNet. '
100-
'BERTAdam optimizer requires mxnet>=1.5.0b20190220. '
101-
'Please upgrade your MXNet version. For example: '
102-
'pip install mxnet-cu90 --pre. Otherwise, please consider '
103-
'Adam optimizer with different hyper-parameters.')
10497
self._update_count(indices)
10598
lr = self._get_lr(indices)
10699
wd = self._get_wd(indices)
@@ -120,15 +113,6 @@ def _update_impl(self, indices, weight, grad, state, multi_precision=False):
120113
adamw_update(weight, grad, mean, var, out=weight,
121114
lr=1, wd=wd, eta=lr, **kwargs)
122115
else:
123-
try:
124-
from mxnet.ndarray.contrib import mp_adamw_update
125-
except ImportError:
126-
raise ImportError('Failed to import '
127-
'nd.contrib.mp_adamw_update from MXNet. '
128-
'BERTAdam optimizer requires mxnet>=1.5.0b20190220. '
129-
'Please upgrade your MXNet version. For example: '
130-
'pip install mxnet-cu90 --pre. Otherwise, please consider '
131-
'Adam optimizer with different hyper-parameters.')
132116
mean, var = state[0]
133117
mp_adamw_update(weight, grad, mean, var, state[1], out=weight,
134118
lr=1, wd=wd, eta=lr, **kwargs)

src/gluonnlp/utils/files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __exit__(self, exec_type, exec_value, traceback):
8585
def _transfer_file_s3(filename, s3_filename, upload=True):
8686
"""Transfer a file between S3 and local file system."""
8787
try:
88-
import boto3
88+
import boto3 # pylint: disable=import-outside-toplevel
8989
except ImportError:
9090
raise ImportError('boto3 is required to support s3 URI. Please install'
9191
'boto3 via `pip install boto3`')

0 commit comments

Comments
 (0)