TypeError: test () отсутствует 1 обязательный позиционный аргумент - PullRequest
0 голосов
/ 24 ноября 2018

Я хочу предсказать оценку для каждого предложения в тексте.Я написал этот метод теста:

def test(sent):
    # Predict for a given sentence
    if sent != "":
        input, seq_lengths, target = make_variables([sent], [])
        output = classifier(input, seq_lengths)
        pred = output.data.max(1, keepdim=True)[1]
        score = pred.cpu().numpy()[0][0]
        print("The sentence is:",sent, "The score is:", score)
        return


    print("evaluating trained model ...")
    total_mse=0

    for sents, scores in test_loader:
        input, seq_lengths, target = make_variables(sents, scores)
        output = classifier(input, seq_lengths)
        pred = output.data.max(1, keepdim=True)[1]
        error=mean_squared_error(pred,target.data.view_as(pred.float()))
        total_mse +=error
    print(" **********  Total MSE is   **********",total_mse)
    return

В части основного метода у меня есть:

# Testing
test("")
# Testing for a given sample _a sentence_
test("For instance, wolves prey on moose, which are too big for coyotes.")

Но я получил эту ошибку:

Отслеживание ошибок (последний вызов был последним): файл "/home/mahsa/anaconda3/envs/pytorch_env/lib/python3.5/unittest/case.py", строка 59, в файле testPartExecutor yield File "/ home / mahsa / anaconda3 /envs / pytorch_env / lib / python3.5 / unittest / case.py ", строка 601, в файле запуска testMethod ()" /home/mahsa/anaconda3/envs/pytorch_env/lib/python3.5/site-packages/nose/case.py ", строка 198, в runTest self.test (* self.arg) Исключение: test () отсутствует 1 обязательный позиционный аргумент: 'sent' -------------------- >> начать запись в журнал << -------------------- gensim.models.doc2vec: ОТЛАДКА: используется быстрая версия gensim.models.doc2vec..preprocessing.cleaner: INFO: пакет 'pattern' не найден;Фильтры тегов недоступны для английского gensim.utils: INFO: загрузка объекта KeyedVectors из / home / mahsa / PycharmProjects / PyTorch_env_project / Thesis / proj2 / glove_saved gensim.utils: INFO: загрузка syn0 из / home / mahsa / PycharmProjects / PyTorch_j/proj2/glove_saved.syn0.npy с mmap = Нет gensim.utils: INFO: установка для игнорируемого атрибута syn0norm значения Нет gensim.utils: INFO: загружен / home / mahsa / PycharmProjects / PyTorch_env_project / Thesis / proj2 / glove_saved --------------------- >> завершение записи журнала << --------------------- </p>

E ============================================================================ ОШИБКА: mahsa_rnn_sent_classification.test ---------------------------------------------------------------------- Traceback (самый последнийпоследний вызов): файл "/home/mahsa/anaconda3/envs/pytorch_env/lib/python3.5/site-packages/nose/case.py", строка 198, в runTest self.test (* self.arg) TypeError:test () отсутствует 1 обязательный позиционный аргумент: 'sent' -------------------- >> begin captured logging << -------------------- gensim.models.doc2vec: DEBUG: используется быстрая версия gensim.models.doc2vec. sum.preprocessing.cleaner: INFO: пакет 'pattern' не найден;Фильтры тегов недоступны для английского gensim.utils: INFO: загрузка объекта KeyedVectors из / home / mahsa / PycharmProjects / PyTorch_env_project / Thesis / proj2 / glove_saved gensim.utils: INFO: загрузка syn0 из / home / mahsa / PycharmProjects / PyTorch_j/proj2/glove_saved.syn0.npy с mmap = Нет gensim.utils: INFO: установка для игнорируемого атрибута syn0norm значения Нет gensim.utils: INFO: загружен / home / mahsa / PycharmProjects / PyTorch_env_project / Thesis / proj2 / glove_saved --------------------- >> завершение записи журнала << --------------------- </p>

---------------------------------------------------------------------- Выполнен 1 тест за 0,004 с

СБОЙ (ошибки = 1)

Я думаю, чтоtest () имеет свой аргумент 'sent'.Как я могу исправить эту ошибку?

1 Ответ

0 голосов
/ 24 ноября 2018

Выполнение тестов с nose или unittest - это не тривиально, если вы новичок в этом, я думаю, вам было бы легче начать работать с чем-то вроде pytest

...