From 53e0de03d7f3a7e3ad1a2a4c7a6ebac1fa5f1fad Mon Sep 17 00:00:00 2001 From: Peng Shi Date: Sat, 29 Jul 2017 19:10:44 -0500 Subject: [PATCH] Kim's sentence classification model: Upgrade to Python 3 (#36) Kim's sentence classification model: Upgrade to Python 3, per issue #31 --- kim_cnn/configurable.py | 4 ++-- kim_cnn/dataset.py | 2 +- kim_cnn/etc/__init__.py | 4 ++-- kim_cnn/etc/kmeans.py | 4 ++-- kim_cnn/main.py | 2 +- kim_cnn/model/__init__.py | 2 +- kim_cnn/model/cnnText/__init__.py | 2 +- kim_cnn/model/cnnText/cnntext.py | 1 - kim_cnn/network/__init__.py | 2 +- kim_cnn/vocab.py | 2 +- 10 files changed, 12 insertions(+), 13 deletions(-) diff --git a/kim_cnn/configurable.py b/kim_cnn/configurable.py index aa1fe07..28d5f01 100644 --- a/kim_cnn/configurable.py +++ b/kim_cnn/configurable.py @@ -8,7 +8,7 @@ from __future__ import print_function import os import argparse -from ConfigParser import SafeConfigParser +from configparser import SafeConfigParser class Configurable(object): @@ -37,7 +37,7 @@ class Configurable(object): config_file = kwargs.pop("config_file", "") config.read(config_file) # Override the config setting if the (k,v) specified in command line - for option, value in kwargs.iteritems(): + for option, value in kwargs.items(): assigned = False for section in config.sections(): if option in config.options(section): diff --git a/kim_cnn/dataset.py b/kim_cnn/dataset.py index ea7c561..6d1f4a6 100644 --- a/kim_cnn/dataset.py +++ b/kim_cnn/dataset.py @@ -21,7 +21,7 @@ class Dataset(Configurable): super(Dataset, self).__init__(*args, **kwargs) self._train = (filename == self.train_file) self.vocabs = vocabs - self.buckets = [Bucket(self._config, name='Sents-%d' % i) for i in xrange(self.n_bkts)] + self.buckets = [Bucket(self._config, name='Sents-%d' % i) for i in range(self.n_bkts)] self.id2position = [] self.len2bkts = {} self.vocabs = vocabs diff --git a/kim_cnn/etc/__init__.py b/kim_cnn/etc/__init__.py index 3f0eef9..b9e3d2e 100644 --- a/kim_cnn/etc/__init__.py +++ b/kim_cnn/etc/__init__.py @@ -1,2 +1,2 @@ -from kmeans import KMeans -from utils import clean_str, clean_str_sst \ No newline at end of file +from etc.kmeans import KMeans +from etc.utils import clean_str, clean_str_sst \ No newline at end of file diff --git a/kim_cnn/etc/kmeans.py b/kim_cnn/etc/kmeans.py index 4624859..cb80a80 100644 --- a/kim_cnn/etc/kmeans.py +++ b/kim_cnn/etc/kmeans.py @@ -86,7 +86,7 @@ class KMeans(object): def recenter(self): """""" - for split_idx in xrange(len(self._splits)): + for split_idx in range(len(self._splits)): split = self._splits[split_idx] len_idx = self._split2len_idx[split] if split == self._splits[-1]: @@ -173,7 +173,7 @@ if __name__ == '__main__': """""" len_cntr = Counter() - for i in xrange(10000): + for i in range(10000): len_cntr[1 + int(10 ** (1 + np.random.randn()))] += 1 print(len_cntr) kmeans = KMeans(10, len_cntr) diff --git a/kim_cnn/main.py b/kim_cnn/main.py index 357596b..0017a96 100644 --- a/kim_cnn/main.py +++ b/kim_cnn/main.py @@ -26,7 +26,7 @@ if __name__=='__main__': args, extra_args = argparser.parse_known_args() # args.train = True/False ... # extra_args['--some': "xxxx"] - cargs = {k: v for (k, v) in vars(Configurable.argparser.parse_args(extra_args)).iteritems() if v is not None} + cargs = {k: v for (k, v) in vars(Configurable.argparser.parse_args(extra_args)).items() if v is not None} if 'model_type' not in cargs: print("You need to specify the model_type") diff --git a/kim_cnn/model/__init__.py b/kim_cnn/model/__init__.py index 29b8b5e..88b6b9d 100644 --- a/kim_cnn/model/__init__.py +++ b/kim_cnn/model/__init__.py @@ -1 +1 @@ -from cnnText import * \ No newline at end of file +from model.cnnText import * \ No newline at end of file diff --git a/kim_cnn/model/cnnText/__init__.py b/kim_cnn/model/cnnText/__init__.py index accb687..f57fbc7 100644 --- a/kim_cnn/model/cnnText/__init__.py +++ b/kim_cnn/model/cnnText/__init__.py @@ -1 +1 @@ -from cnntext import CNNText \ No newline at end of file +from model.cnnText.cnntext import CNNText \ No newline at end of file diff --git a/kim_cnn/model/cnnText/cnntext.py b/kim_cnn/model/cnnText/cnntext.py index 5156d5b..7714618 100644 --- a/kim_cnn/model/cnnText/cnntext.py +++ b/kim_cnn/model/cnnText/cnntext.py @@ -6,7 +6,6 @@ import torch.nn as nn import torch.nn.functional as F -from configurable import Configurable class CNNText(nn.Module): """ diff --git a/kim_cnn/network/__init__.py b/kim_cnn/network/__init__.py index 7269ea9..1fef405 100644 --- a/kim_cnn/network/__init__.py +++ b/kim_cnn/network/__init__.py @@ -1 +1 @@ -from cnnTextNetwork import cnnTextNetwork \ No newline at end of file +from network.cnnTextNetwork import cnnTextNetwork \ No newline at end of file diff --git a/kim_cnn/vocab.py b/kim_cnn/vocab.py index 6676a3b..56b855a 100644 --- a/kim_cnn/vocab.py +++ b/kim_cnn/vocab.py @@ -148,7 +148,7 @@ class Vocab(Configurable): def __getitem__(self, key): - if isinstance(key, basestring): + if isinstance(key, str): # Convert the lower case if self.lower_case: key = key.lower()