Я использовал BERT, выпущенный из исследования Google, чтобы классифицировать свой собственный набор данных. Я создал новый класс в исходном коде, чтобы указать свои собственные задачи классификации, и я запускаю свой код на Colab. Ошибка возникает при запуске run_classifier.py в файле. Вот мой код
создать собственное задание
class MyProcessor(DataProcessor):
"""Base class for data converters for sequence classification data sets."""
def __init__(self):
self.labels = ['货物', '服务', '工程']
def get_train_examples(self, data_dir):
"""Gets a collection of `InputExample`s for the train set."""
return self._create_examples(
self._read_tsv(os.path.join(data_dir, "train.tsv")), "train")
def get_dev_examples(self, data_dir):
"""Gets a collection of `InputExample`s for the dev set."""
return self._create_examples(
self._read_tsv(os.path.join(data_dir, "val.tsv")), "val")
def get_test_examples(self, data_dir):
"""Gets a collection of `InputExample`s for prediction."""
return self._create_examples(
self._read_tsv(os.path.join(data_dir, "test.tsv")), "test")
def get_labels(self):
return self.labels
def _create_examples(self, lines, set_type):
examples = []
for (i, line) in enumerate(lines):
guid = "%s-%s" % (set_type, i)
if set_type == "test":
text_a = tokenization.convert_to_unicode(line[0])
label = "货物"
else:
text_a = tokenization.convert_to_unicode(line[1])
label = tokenization.convert_to_unicode(line[0])
examples.append(InputExample(guid=guid, text_a=text_a, text_b=None, label=label))
return examples
@classmethod
def _read_tsv(cls, input_file, quotechar=None):
"""Reads a tab separated value file."""
with tf.gfile.Open(input_file, "r") as f:
reader = csv.reader(f, delimiter="\t", quotechar=quotechar)
lines = []
for line in reader:
lines.append(line)
return lines
выполнить
!python run_classifier.py \
--task_name=mytask \
--data_dir=data/ \
--bert_config_file=checkpoint/bert_config.json \
--init_checkpoint=checkpoint/bert_model.ckpt \
--vocab_file=checkpoint/vocab.txt \
--output_dir=./output/result_dir/ \
--max_seq_length=50 \
--do_train=true \
--do_eval=true \
----train_batch_size=128