I tried to run the code below for training a sequence tagging model (didn’t list all of the code because it works fine). But I get the following error:
AttributeError: module 'torch' has no attribute 'permute'
torch is definitely installed, otherwise other operations made with torch wouldn’t work, too. The code works on Windows 10, conda environment, pip installed torch. But not on Ubuntu 16.04, conda environment, pip installed torch. Any clue how that could be?
import sys, os from pathlib import Path import torch import torch.autograd as autograd import torch.nn as nn import torch.optim as optim from torch.nn.utils.rnn import pad_packed_sequence, pack_padded_sequence, pad_sequence from torch.utils.data import DataLoader, random_split import torch.nn.functional as F import re from tqdm import tqdm, trange import fasttext import fasttext.util # Preprocessing of data and initialising models not listed... for epoch in trange(epochs, desc="Epoch"): for step, batch in enumerate(train_loader): docs = batch.to(device) tags = batch.to(device) model.zero_grad() doc_forward = docs doc_backward = torch.clone(doc_forward) doc_backward = torch.flip(doc_backward, ) tag_scores = model(doc_forward, doc_backward) tag_scores = torch.permute(tag_scores, (0, 2, 1)) loss = loss_function(tag_scores, tags) loss.backward() optimizer.step()