# importing libraries
import numpy as np
import pandas as pd
import random
import torch

def set_seeds(seed=1234):
    """[Set seeds for reproducibility.]
    Keyword Arguments:
        seed {int} -- [The seed value] (default: {1234})
    """
    np.random.seed(seed)
    random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    print("[INFO] THE SEED IS ", seed)


def set_device(cuda=True):
    """[To set the type of machine CPU or GPU]
    Keyword Arguments:
        cuda {bool} -- [To use GPU or not] (default: {True})
    """
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    print("[INFO] THE DEVICE IS ", device)
    return device


paths = {
    "train_path1": "data/atis/train/seq.in",
    "train_path2": "data/atis/train/seq.out",
    "train_path3": "data/atis/train/label",
    "valid_path1": "data/atis/dev/seq.in",
    "valid_path2": "data/atis/dev/seq.out",
    "valid_path3": "data/atis/dev/label",
    "test_path1": "data/atis/test/seq.in",
    "test_path2": "data/atis/test/seq.out",
    "test_path3":"data/atis/test/label"
}



# importing libraries
import numpy as np
import pandas as pd
import random
import torch

def set_seeds(seed=1234):
    """[Set seeds for reproducibility.]
    Keyword Arguments:
        seed {int} -- [The seed value] (default: {1234})
    """
    np.random.seed(seed)
    random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    print("[INFO] THE SEED IS ", seed)


def set_device(cuda=True):
    """[To set the type of machine CPU or GPU]
    Keyword Arguments:
        cuda {bool} -- [To use GPU or not] (default: {True})
    """
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    print("[INFO] THE DEVICE IS ", device)
    return device


paths = {
    "train_path1": "data/atis/train/seq.in",
    "train_path2": "data/atis/train/seq.out",
    "train_path3": "data/atis/train/label",
    "valid_path1": "data/atis/dev/seq.in",
    "valid_path2": "data/atis/dev/seq.out",
    "valid_path3": "data/atis/dev/label",
    "test_path1": "data/atis/test/seq.in",
    "test_path2": "data/atis/test/seq.out",
    "test_path3":"data/atis/test/label"
}



# importing libraries [Set seeds for reproducibility.]     Keyword Arguments:         seed {int} -- [The seed value] (default: {1234}) [To set the type of machine CPU or GPU]     Keyword Arguments:         cuda {bool} -- [To use GPU or not] (default: {True})