Exemplo n.º 1
0
batch_size: int = 64
embedding_size: int = 300
hidden_size: int = 300
da: int = 350
r: int = 30
output_mlp_size: int = 3000
max_epoch: int = 20
vocab_size: int = 20000
dropout_ratio: float = 0.3
attention_penalty_coef: float = 0.03
l2_penalty_coef: float = 1e-4

x_train, x_test, y_train, y_test = load_imdb(vocab_size)

x_train = with_padding(x_train,
                       padding_type='post',
                       max_sequence_length=max_len)
x_test = with_padding(x_test, padding_type='post', max_sequence_length=max_len)
y_train = y_train[:, None]
y_test = y_test[:, None]

num_train_batch = len(x_train) // batch_size
num_dev_batch = len(x_test) // batch_size


def load_train_func(index):
    return x_train[index], y_train[index]


def load_dev_func(index):
    return x_test[index], y_test[index]
Exemplo n.º 2
0
import argparse
parser = argparse.ArgumentParser(description='Char-cnn-lstm language model training.')
parser.add_argument('--context', '-c', type=str,
                    default='cpu', help='You can choose cpu or cudnn.')
parser.add_argument('--device', '-d', type=int,
                    default=0, help='You can choose the device id when you use cudnn.')
args = parser.parse_args()

if args.context == 'cudnn':
    from nnabla.ext_utils import get_extension_context
    ctx = get_extension_context('cudnn', device_id=args.device)
    nn.set_default_context(ctx)


ptb_dataset = PTBDataset(return_char_info=True)
train_data = with_padding(ptb_dataset.train_data, padding_type='post')
valid_data = with_padding(ptb_dataset.valid_data, padding_type='post')

sentence_length = 60
batch_size = 100
max_epoch = 300

word_vocab_size = len(ptb_dataset.w2i)
char_vocab_size = len(ptb_dataset.c2i)

x_train = train_data[:, :sentence_length].astype(np.int32)
y_train = train_data[:, 1:sentence_length+1].astype(np.int32)
x_train = wordseq2charseq(x_train, ptb_dataset.i2w, ptb_dataset.c2i, ptb_dataset.i2c)

x_valid = valid_data[:, :sentence_length].astype(np.int32)
y_valid = valid_data[:, 1:sentence_length+1].astype(np.int32)
Exemplo n.º 3
0
                    help='You can choose cpu or cudnn.')
parser.add_argument('--device',
                    '-d',
                    type=int,
                    default=0,
                    help='You can choose the device id when you use cudnn.')
args = parser.parse_args()

if args.context == 'cudnn':
    from nnabla.ext_utils import get_extension_context
    ctx = get_extension_context('cudnn', device_id=args.device)
    nn.set_default_context(ctx)

train_source, dev_source, test_source, w2i_source, i2w_source = load_enja_parallel_data(
    'en')
train_source = with_padding(train_source,
                            padding_type='post')[:, ::-1].astype(np.int32)
dev_source = with_padding(dev_source,
                          padding_type='post')[:, ::-1].astype(np.int32)
test_source = with_padding(test_source,
                           padding_type='post')[:, ::-1].astype(np.int32)

train_target, dev_target, test_target, w2i_target, i2w_target = load_enja_parallel_data(
    'ja')
train_target = with_padding(train_target, padding_type='post').astype(np.int32)
dev_target = with_padding(dev_target, padding_type='post').astype(np.int32)
test_target = with_padding(test_target, padding_type='post').astype(np.int32)

vocab_size_source = len(w2i_source)
vocab_size_target = len(w2i_target)
sentence_length_source = train_source.shape[1]
sentence_length_target = train_target.shape[1]
Exemplo n.º 4
0
                    default='cpu',
                    help='You can choose cpu or cudnn.')
parser.add_argument('--device',
                    '-d',
                    type=int,
                    default=0,
                    help='You can choose the device id when you use cudnn.')
args = parser.parse_args()

if args.context == 'cudnn':
    from nnabla.ext_utils import get_extension_context
    ctx = get_extension_context('cudnn', device_id=args.device)
    nn.set_default_context(ctx)

train_data = load_data('./ptb/train.txt', with_bos=True)
train_data = with_padding(train_data, padding_type='post')

valid_data = load_data('./ptb/valid.txt', with_bos=True)
valid_data = with_padding(valid_data, padding_type='post')

vocab_size = len(w2i)
sentence_length = 60
embedding_size = 128
hidden_size = 128
batch_size = 32
max_epoch = 100

x_train = train_data[:, :sentence_length].astype(np.int32)
y_train = train_data[:, 1:sentence_length - 1].astype(np.int32)

x_valid = valid_data[:, :sentence_length].astype(np.int32)