Пример #1
0
import torch.utils.data
import dataset
from echotorch.transforms import text

# Experience parameter
batch_size = 64
n_epoch = 1
window_size = 700
training_set_size = 10
test_set_size = 2
training_samples = training_set_size + test_set_size
stride = 100

# Style change detection dataset, training set
pan18loader_train = torch.utils.data.DataLoader(
    dataset.SCDSimpleDataset(root='./data/', download=True, transform=text.Character(), train=True),
    batch_size=1
)

# Style change detection dataset, validation set
pan18loader_valid = torch.utils.data.DataLoader(
    dataset.SCDSimpleDataset(root='./data/', download=True, transform=text.Character(), train=False),
    batch_size=1
)

# Get training data
for i, data in enumerate(pan18loader_train):
    # Inputs and c
    inputs, label = data

    # TRAINING
Пример #2
0
import torch.utils.data
import dataset
from echotorch.transforms import text
import random
from torch.autograd import Variable

# Experience parameter
window_size = 500
batch_size = 64
sample_batch = 4
epoch_batches = 10
max_epoch = 1

# Author identification training dataset
pan18loader_training = torch.utils.data.DataLoader(
    dataset.AuthorIdentificationDataset(root="./data/", download=True, transform=text.Character(), problem=1),
    batch_size=1, shuffle=True)

# Author identification test dataset
pan18loader_test = torch.utils.data.DataLoader(
    dataset.AuthorIdentificationDataset(root="./data/", download=True, transform=text.Character(), problem=1,
                                        train=False),
    batch_size=1, shuffle=True)

# Authors
author_to_idx = dict()
for idx, author in enumerate(pan18loader_training.dataset.authors):
    author_to_idx[author] = idx
# end for

# Number of authors
from torch import optim
import torch.nn as nn
import echotorch.nn as etnn
import echotorch.utils
import os


# Settings
n_epoch = 1
embedding_dim = 10
n_authors = 15
use_cuda = True
voc_size = 58

# Word embedding
transform = text.Character()

# Reuters C50 dataset
reutersloader = torch.utils.data.DataLoader(datasets.ReutersC50Dataset(download=True, n_authors=15,
                                                                       transform=transform),
                                            batch_size=1, shuffle=False)

# Model
model = CNNCharacterEmbedding(voc_size=voc_size, embedding_dim=embedding_dim)

# Optimizer
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)

# Loss function
# loss_function = nn.NLLLoss()
loss_function = nn.CrossEntropyLoss()
Пример #4
0
import torch.utils.data
import dataset
from echotorch.transforms import text

# Experience parameter
batch_size = 64
n_epoch = 1
window_size = 700
training_set_size = 10
test_set_size = 2
training_samples = training_set_size + test_set_size
stride = 100

# Style change detection dataset, training set
pan18loader_train = torch.utils.data.DataLoader(dataset.SCDSimpleDataset(
    root='./data/', download=True, transform=text.Character(), train=True),
                                                batch_size=1)

# Style change detection dataset, validation set
pan18loader_valid = torch.utils.data.DataLoader(dataset.SCDSimpleDataset(
    root='./data/', download=True, transform=text.Character(), train=False),
                                                batch_size=1)

# For each epoch
for epoch in range(n_epoch):
    # Training loss
    training_loss = 0.0

    # Get training data
    for i, data in enumerate(pan18loader_train):
        # Inputs and c
    input_sparsity = space['input_sparsity']
    spectral_radius = space['spectral_radius']
    transformer = space['transformer'][0][0]
    aggregation = space['aggregation'][0][0]
    state_gram = space['state_gram']
    dataset_start = int(space['dataset_start'])

    # Choose the right transformer
    if "wv" in transformer:
        reutersloader.dataset.transform = text.GloveVector()
    elif "pos" in transformer:
        reutersloader.dataset.transform = text.PartOfSpeech()
    elif "tag" in transformer:
        reutersloader.dataset.transform = text.Tag()
    elif "character" in transformer:
        reutersloader.dataset.transform = text.Character()
    elif "fw" in transformer:
        reutersloader.dataset.transform = text.FunctionWord()
    else:
        print(u"No transformer set!")
        exit()
    # end if

    # Dataset start
    reutersloader.dataset.set_start(dataset_start)

    # Set experience state
    xp.set_state(space)

    # Average sample
    average_sample = np.array([])