TypeError: (): несовместимые аргументы функции. Поддерживаются следующие типы аргументов: 1. (self: fasttext_pybind.args, arg0: float) -> Нет - PullRequest
0 голосов
/ 28 марта 2020

Я бы хотел тренироваться по модели с файлом train.py, но постоянно получаю следующую ошибку:

setattr(a, k, v)
TypeError: (): incompatible function arguments. The following argument types are supported:
1. (self: fasttext_pybind.args, arg0: float) -> None

Invoked with: <fasttext_pybind.args object at 0x7f6bbed0c030>, 
'/home/van/Download/classification/egs/vntc_fasttext/snapshots/model'

Это мой код:

import argparse
import os
import sys
from os.path import join, dirname, abspath

import fasttext

cwd = dirname(abspath(__file__))
sys.path.append(dirname(dirname(cwd)))

parser = argparse.ArgumentParser("train.py")
parser.add_argument("--train", help="train data path", required=True)
parser.add_argument("-s", "--serialization-dir", help="directory in which to save the model 
and its logs",required=True)
args = parser.parse_args()

train_path = os.path.abspath(join(cwd, args.train))
serialization_dir = os.path.abspath(join(cwd, args.serialization_dir))

fasttext.train_supervised(train_path, '{}/model'.format(serialization_dir))
print("Done!!!")

Может кто-нибудь помочь мне? исправить эту проблему?

1 Ответ

0 голосов
/ 30 марта 2020

Ошибка возникает из-за того, что метод ожидает номер скорости обучения вместо строки выходного пути (см. параметры train_supervised ).

Python модуль немного отличается от интерфейс командной строки (см. учебное руководство и справка по Python module ).

Для обучения модели используйте следующую команду:

model=fasttext.train_supervised(input=train_path)

Затем, чтобы сохранить модель, используйте:

model.save_model('{}/model'.format(serialization_dir))
...