传递无限重复的数据集时,必须指定“steps_per_epoch”argumen

2024-06-02 23:14:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用这个Google的例子,但是用我自己的数据集:

https://github.com/tensorflow/examples/blob/master/tensorflow_examples/lite/model_customization/demo/text_classification.ipynb

我创建了一个文件夹,类似于在他们的代码中下载的训练和测试文件夹以及txt文件。在

在我的例子中,数据路径如下: data_path = '/Users/developer/.keras/datasets/chat'

每当我试图运行它时,model = text_classifier.create(train_data)就会抛出一个错误 ValueError: When passing an infinitely repeating dataset, you must specify the `steps_per_epoch` argument. 这是什么意思?我应该在哪里寻找问题?在


import numpy as np
import os
import tensorflow as tf
assert tf.__version__.startswith('2')

from tensorflow_examples.lite.model_customization.core.data_util.text_dataloader import TextClassifierDataLoader
from tensorflow_examples.lite.model_customization.core.model_export_format import ModelExportFormat
import tensorflow_examples.lite.model_customization.core.task.text_classifier as text_classifier


# data_path = tf.keras.utils.get_file(
#       fname='aclImdb',
#       origin='http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz',
#       untar=True)

data_path = '/Users/developer/.keras/datasets/chat'

train_data = TextClassifierDataLoader.from_folder(os.path.join(data_path, 'train'), class_labels=['greeting', 'goodbye'])
test_data = TextClassifierDataLoader.from_folder(os.path.join(data_path, 'test'), shuffle=False)

model = text_classifier.create(train_data)
loss, acc = model.evaluate(test_data)
model.export('movie_review_classifier.tflite', 'text_label.txt', 'vocab.txt')

Tags: pathtextfromimporttxtdatamodeltensorflow