Tensorflow 如何将词汇文本文件传递给模型,并在谷歌云平台机器学习引擎上对其进行训练
我正在尝试制作一个DNNCLassifier,它使用张量流来接受分类输入,以便在谷歌云平台(GCP)上训练模型。我有几个分类功能列,其中我使用了一个词汇表.txt文件。例如:Tensorflow 如何将词汇文本文件传递给模型,并在谷歌云平台机器学习引擎上对其进行训练,tensorflow,google-cloud-platform,categorical-data,mle,vocabulary,Tensorflow,Google Cloud Platform,Categorical Data,Mle,Vocabulary,我正在尝试制作一个DNNCLassifier,它使用张量流来接受分类输入,以便在谷歌云平台(GCP)上训练模型。我有几个分类功能列,其中我使用了一个词汇表.txt文件。例如: tf.feature_column.categorical_column_with_vocabulary_file( key = "feature_name", vocabulary_file = vocab_file, vocabulary_size = vocab
tf.feature_column.categorical_column_with_vocabulary_file(
key = "feature_name",
vocabulary_file = vocab_file,
vocabulary_size = vocab_size
),
我花了几个小时沮丧地发现,您不能在GCP中使用open(),因为它不能处理gs://。因此,我使用以下代码读取词汇表文件:
def read_vocab_file(file_path):
"""Reads a vocab file to memeory.
Args:
file_path: path to Vocab file in cloud storage bucket
Returns:
Vocab list, the size of the vocabulary """
with file_io.FileIO(file_path, 'r') as f:
#vocab_lines = open(f,'r').readlines()
vocab_lines = f.readlines()
vocab_size = len(vocab_lines)
return vocab_lines, vocab_size
这允许我提交一份培训作业,其中我将词汇表文件的路径作为参数传递
gcloud ml引擎作业提交培训$JOB\u名称\
--作业目录$MODEL\u目录\
--运行时版本1.4\
--模块名称trainer.task\
--套餐路径培训师/\
--地区$地区\
-- \
--列车文件$train\u数据\
--eval文件$eval_数据\
--vocab路径$vocab\
--latlon数据路径$latlon\
--火车走1000步\
--评估步骤100
这对训练很有效,但我无法做出预测在使用vocab.txt文件创建分类功能列的同时,是否有更好的方法在谷歌云机器学习引擎环境中训练模型?
任何使用分类特征和tf.estimator.DNNCLassifier的示例代码都将非常受欢迎,特别是如果它可以在GCP上运行,并进行超参数优化,并在云中进行预测
谢谢你我意识到一切都很顺利。问题是我只能通过传递.json文件在GCP中进行预测。当我试图用一个文本文件进行预测时,我得到了“预测错误:未知错误”,我认为这是对vocab文件所做的。