New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] kobert를 Colab에서 구현할 때, tokenizer 사용시, nbest_size 오류 등이 발생 #89
Comments
저도 같은 에러가 납니다. 어제까지 잘 돌아갔는데, dataset을 구축하는 과정에서 같은 에러가 났습니다. |
저도 몇일전까지 잘 돌아갔는데 같은 에러가 났습니다. |
제가 이 repo에 포함된 아래 두 개의 nsmc 예제를 돌려 보았는데, 모두 정상 실행이 되네요.
@KangYunPark @Kisooofficial @DongGeun123 님
|
같은 에러가 발생하였습니다. @bage79 님 |
@bage79 님 위에 올려주신 파일을 똑같이 colab에서 실행한결과 같은 오류가 났습니다 파이썬 버전은 3.7.13 입니다 |
@bage79 님께 |
@KangYunPark @Kisooofficial @herokim97 @DongGeun123 @testbeta12 님, 각 패키지 버전의 최대치를 제한하여 커밋하였습니다. 47a69af
git pull 받으신 후에 다시한번 확인 부탁드립니다. |
동일한 오류 발생했는데, sentencepiece 버전을 requirements 버전에 맞춰서 설치했을 시 정상 작동하는 것 확인했습니다. 아마 sentencepiece 먼저 pip를 통해 기존 버전 설치한 이후 작동시키면 정상 작동할 것 같습니다. |
다시 git pull 하고 실행해보니 정상적으로 작동하였습니다. 감사합니다. |
동일한 문제에 런타임 재시작과 sentencepiece 버전을 동일화 시키니 문제가 해결되었습니다 감사합니다. |
다들 좋은 답변 감사합니다. 문제 해결이 되었으니 클로즈 시키겠습니다. |
🐛 Bug
kobert를 Colab에서 구현할 때, tokenizer 사용시, nbest_size 오류 등이 발생합니다.
To Reproduce
!pip install ipywidgets # for vscode
!pip install git+https://git@github.com/SKTBrain/KoBERT.git@master
import torch
from torch import nn
import torch.nn.functional as F
import torch.optim as optim
from torch.utils.data import Dataset, DataLoader
import gluonnlp as nlp
import numpy as np
from tqdm.notebook import tqdm
from kobert import get_tokenizer
from kobert import get_pytorch_kobert_model
from transformers import AdamW
from transformers.optimization import get_cosine_schedule_with_warmup
CPU
device = torch.device("cpu")
GPU
device = torch.device("cuda:0")
bertmodel, vocab = get_pytorch_kobert_model(cachedir=".cache")
!wget -O .cache/ratings_train.txt http://skt-lsl-nlp-model.s3.amazonaws.com/KoBERT/datasets/nsmc/ratings_train.txt
!wget -O .cache/ratings_test.txt http://skt-lsl-nlp-model.s3.amazonaws.com/KoBERT/datasets/nsmc/ratings_test.txt
dataset_train = nlp.data.TSVDataset(".cache/ratings_train.txt", field_indices=[1,2], num_discard_samples=1)
dataset_test = nlp.data.TSVDataset(".cache/ratings_test.txt", field_indices=[1,2], num_discard_samples=1)
tokenizer = get_tokenizer()
tok = nlp.data.BERTSPTokenizer(tokenizer, vocab, lower=False)
class BERTDataset(Dataset):
def init(self, dataset, sent_idx, label_idx, bert_tokenizer, max_len,
pad, pair):
transform = nlp.data.BERTSentenceTransform(
bert_tokenizer, max_seq_length=max_len, pad=pad, pair=pair)
Setting parameters
max_len = 64
batch_size = 64
warmup_ratio = 0.1
num_epochs = 5
max_grad_norm = 1
log_interval = 200
learning_rate = 5e-5
data_train = BERTDataset(dataset_train, 0, 1, tok, max_len, True, False)
data_test = BERTDataset(dataset_test, 0, 1, tok, max_len, True, False)
RuntimeError Traceback (most recent call last)
in ()
----> 1 data_train = BERTDataset(dataset_train, 0, 1, tok, max_len, True, False)
2 data_test = BERTDataset(dataset_test, 0, 1, tok, max_len, True, False)
8 frames
/usr/local/lib/python3.7/dist-packages/sentencepiece/init.py in Encode(self, input, out_type, add_bos, add_eos, reverse, emit_unk_piece, enable_sampling, nbest_size, alpha, num_threads)
502 nbest_size == 1 or alpha is None):
503 raise RuntimeError(
--> 504 'When enable_sampling is True, We must specify "nbest_size > 1" or "nbest_size = -1", '
505 'and "alpha". "nbest_size" is enabled only on unigram mode ignored in BPE-dropout. '
506 'when "nbest_size = -1" , this method samples from all candidates on the lattice '
RuntimeError: When enable_sampling is True, We must specify "nbest_size > 1" or "nbest_size = -1", and "alpha". "nbest_size" is enabled only on unigram mode ignored in BPE-dropout. when "nbest_size = -1" , this method samples from all candidates on the lattice instead of nbest segmentations.
버그를 재현하기 위한 재현절차를 작성해주세요.
(Kobert를 활용한 NSMC 분류 작업(튜토리얼) 에서 공개된 코드 동일하게 사용)
Environment
Colab
The text was updated successfully, but these errors were encountered: