metricv's picture
Update segmenter
96a7d84
raw
history blame
1.39 kB
import torch
import os
if __package__ == None or __package__ == "":
from model import BidirLSTMSegmenter, SegmentorDatasetDirectTag, train_bidirlstm_model
from model import BidirLSTMSegmenterWithEmbedding, SegmentorDatasetNonEmbed, train_bidirlstm_embedding_model
from utils import get_upenn_tags_dict
from model_consts import input_size, embedding_size, hidden_size, num_layers
data_path = "data"
else:
from .model import BidirLSTMSegmenter, SegmentorDatasetDirectTag, train_bidirlstm_model
from .model import BidirLSTMSegmenterWithEmbedding, SegmentorDatasetNonEmbed, train_bidirlstm_embedding_model
from .utils import get_upenn_tags_dict
from .model_consts import input_size, embedding_size, hidden_size, num_layers
data_path = "segmenter/data"
device = "cuda"
if __name__ == "__main__":
dataset = SegmentorDatasetNonEmbed(data_path)
model = BidirLSTMSegmenterWithEmbedding(input_size, embedding_size, hidden_size, num_layers, device)
if os.path.exists("segmenter.ckpt") and os.path.isfile("segmenter.ckpt"):
print("Loading checkpoint. If you want to start from scratch, remove segmenter.ckpt.")
model.load_state_dict(torch.load("segmenter.ckpt"))
model.to(device)
train_bidirlstm_embedding_model(model, dataset, num_epochs=100, batch_size=2)
torch.save(model.state_dict(), "segmenter.ckpt")