Best Python code snippet using Airtest
train.py
Source:train.py  
...27def split_indices(n, val_pct):28    indices = np.random.permutation(n)29    bound = int(n * val_pct)30    return indices[bound:], indices[:bound]31def get_default_device():32    if cuda.is_available():33        return torch.device('cuda')34    else:35        return torch.device('cpu')  # incase cuda is unavaliable.36# move data and model to device. This operation may take while37def to_device(data, device):38    if isinstance(data, (list, tuple)):39        return [to_device(x, device) for x in data]  # breakdown element and40        # recursively put elements into device if the data is list or tuple.41    return data.to(device, non_blocking=True)  # This may return a pointer pointing to the data in GPU42# A wrapped dataloader that put data into gpu in BATCH-WISE fashion.43# This can save GPU dram.44class DeviceDataloader():45    # Constructor46    # @param data_loader A DataLoader instance that need to be operated.47    # @param device The device going to put on.48    def __init__(self, data_loader, device):49        self.data_loader = data_loader50        self.device = device51    # iterator function.52    def __iter__(self):53        for batch_tuple in self.data_loader:54            yield to_device(batch_tuple, self.device)  # do to_device. Yield is non-stop return,55    # length of self.data_loader56    def __len__(self):57        return len(self.data_loader)58class WR_Conv_Model(nn.Module):59    def accuracy(self, prediction, target):60        _, max_pos = torch.max(prediction, dim=1)61        return torch.tensor(torch.sum(max_pos == target).item() / len(max_pos))62    def __init__(self):63        super(WR_Conv_Model, self).__init__()64        self.conv_layer1 = nn.Conv2d(3, 6, kernel_size=3, padding=1, stride=1)65        # now BSx6x128x12866        self.conv_layer2 = nn.Conv2d(6, 12, kernel_size=3, padding=1, stride=1)67        # now BSx12x64x6468        self.conv_layer3 = nn.Conv2d(12, 24, kernel_size=3, padding=1, stride=1)69        # now BSx24x32x3270        self.conv_layer4 = nn.Conv2d(24, 48, kernel_size=3, padding=1, stride=1)71        # now BSx48x16x1672        self.conv_layer5 = nn.Conv2d(48, 96, kernel_size=3, padding=1, stride=1)73        # now BSx96x8x874        self.conv_layer6 = nn.Conv2d(96, 192, kernel_size=3, padding=1, stride=1)75        # now BSx192x4x476        # here data is flatten from dim=177        self.linear_layer1 = nn.Linear(192 * 4 * 4, 256)78        # now BSx25679        self.linear_layer2 = nn.Linear(256, 4)80        # now prediction is getted: BSx481    def forward(self, input_batch):82        out = self.conv_layer1(input_batch)83        out = nn.functional.relu(out)84        out = nn.functional.max_pool2d(out, kernel_size=2)85        out = self.conv_layer2(out)86        out = nn.functional.relu(out)87        out = nn.functional.max_pool2d(out, kernel_size=2)88        out = self.conv_layer3(out)89        out = nn.functional.relu(out)90        out = nn.functional.max_pool2d(out, kernel_size=2)91        out = self.conv_layer4(out)92        out = nn.functional.relu(out)93        out = nn.functional.max_pool2d(out, kernel_size=2)94        out = self.conv_layer5(out)95        out = nn.functional.relu(out)96        out = nn.functional.max_pool2d(out, kernel_size=2)97        out = self.conv_layer6(out)98        out = nn.functional.relu(out)99        out = nn.functional.max_pool2d(out, kernel_size=2)100        out = out.view(input_batch.size(0), -1)101        out = self.linear_layer1(out)102        out = nn.functional.relu(out)103        out = self.linear_layer2(out)104        return out105    def training_step(self, data_batch, target_batch):106        prediction = self(data_batch)107        loss = nn.functional.cross_entropy(prediction, target_batch)108        return loss109    def validation_step(self, data_batch, target_batch):110        prediction = self(data_batch)111        accuracy = self.accuracy(prediction, target_batch)112        loss = nn.functional.cross_entropy(prediction, target_batch)113        return {"validation loss": loss, "validation accuracy": accuracy}114# ---------------------------Prepare and load the data----------------------#115# open dataset116dataset = ImageFolder(ROOT_DIR + "/train", transform=ToTensor())117print("Dataset length: " + str(len(dataset)))118# split the indices into train and validation119train_ids, val_ids = split_indices(len(dataset), 0.1)  # 10% validation set120# transform data into dataloader121train_loader = DataLoader(dataset, BATCH_SIZE, sampler=SubsetRandomSampler(train_ids))122val_loader = DataLoader(dataset, BATCH_SIZE, sampler=SubsetRandomSampler(val_ids))123train_loader = DeviceDataloader(train_loader, get_default_device())124val_loader = DeviceDataloader(val_loader, get_default_device())125print("--------------Data transformed to: " + str(get_default_device()) + "--------------------")126# ----------------------------------END Prepare---------------------------------------#127# --------------------------------Construct model and optimizer-----------------------#128model = WR_Conv_Model()129to_device(model, get_default_device())130# optimizer = torch.optim.SGD(model.parameters(), lr=LEARNING_RATE)131optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)132# ---------------------------------END Construct---------------------------------------#133# --------------------------------Train------------------------------------------#134print("Here")135'''stage_1 = False136stage_2 = False137stage_3 = False'''138for i in range(EPOCH):139    # time0 = time.time()140    for data_batch, target_batch in train_loader:141        # print("Sample prediction: " + str(nn.functional.softmax(prediction, dim=1)[0]))142        loss = model.training_step(data_batch, target_batch)143        loss.backward()...jit_models_test.py
Source:jit_models_test.py  
...108        (torch.rand(3, 1, 4301) - 0.5) * 2,109    ),110)111def test_enhancement_model(small_model_params, model_def, test_data):112    device = get_default_device()113    params = small_model_params[model_def.__name__]114    model = model_def(**params)115    model = model.eval().to(device)116    # Random input uniformly distributed in [-1, 1]117    inputs = ((torch.rand(1, 2500, device=device) - 0.5) * 2,)118    traced = torch.jit.trace(model, inputs)119    assert_consistency(model=model, traced=traced, tensor=test_data.to(device))120@pytest.mark.parametrize("test_shape", [(2,), (3, 1)])121@pytest.mark.parametrize("matching_samples", [4701, 8800, 17001])122def test_dcunet_model(test_shape: Tuple, matching_samples):123    n_samples = 5010124    device = get_default_device()125    model = DCUNet(architecture="mini", fix_length_mode="pad").eval().to(device)126    # Random input uniformly distributed in [-1, 1]127    inputs = torch.rand(1, n_samples, device=device)128    traced = torch.jit.trace(model, (inputs,))129    test_data = torch.rand(*test_shape, matching_samples, device=device)130    assert_consistency(model=model, traced=traced, tensor=test_data.to(device))131@pytest.mark.parametrize(132    "model_def",133    (134        ConvTasNet,135        DPRNNTasNet,136        DPTNet,137        LSTMTasNet,138        SuDORMRFNet,139        SuDORMRFImprovedNet,140    ),141)142@pytest.mark.parametrize(143    "test_data",144    (145        (torch.rand(240) - 0.5) * 2,146        (torch.rand(1, 220) - 0.5) * 2,147        (torch.rand(3, 250) - 0.5) * 2,148        (torch.rand(1, 1, 301) - 0.5) * 2,149        (torch.rand(2, 1, 501) - 0.5) * 2,150    ),151)152def test_trace_bss_model(small_model_params, model_def, test_data):153    device = get_default_device()154    params = small_model_params[model_def.__name__]155    model = model_def(**params)156    model = model.eval().to(device)157    # Random input uniformly distributed in [-1, 1]158    inputs = ((torch.rand(1, 201, device=device) - 0.5) * 2,)159    traced = torch.jit.trace(model, inputs)160    assert_consistency(model=model, traced=traced, tensor=test_data.to(device))161def get_default_device():162    if torch.cuda.is_available():163        return "cuda"...interface.py
Source:interface.py  
2from pathlib import Path3import yaml4import torch5import os6def get_default_device():7    if torch.cuda.is_available():8        return "cuda"9    else:10        return "cpu"11def load_model(mel2wav_path, device=get_default_device()):12    """13    Args:14        mel2wav_path (str or Path): path to the root folder of dumped text2mel15        device (str or torch.device): device to load the model16    """17    root = Path(mel2wav_path)18    with open(root / "args.yml", "r") as f:19        args = yaml.load(f, Loader=yaml.FullLoader)20    netG = Generator(args.n_mel_channels, args.ngf, args.n_residual_layers).to(device)21    netG.load_state_dict(torch.load(root / "best_netG.pt", map_location=device))22    return netG23class MelVocoder:24    def __init__(25        self,26        path,27        device=get_default_device(),28        github=False,29        model_name="multi_speaker",30    ):31        self.fft = Audio2Mel().to(device)32        if github:33            netG = Generator(80, 32, 3).to(device)34            root = Path(os.path.dirname(__file__)).parent35            netG.load_state_dict(36                torch.load(root / f"models/{model_name}.pt", map_location=device)37            )38            self.mel2wav = netG39        else:40            self.mel2wav = load_model(path, device)41        self.device = device...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
