Как вы передаете текстовые файлы словаря в модель и обучаете ее на механизме машинного обучения облачных платформ Google? - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь создать DNNCLassifier , который принимает категориальные входные данные, используя тензорный поток для обучения модели на Google Cloud Platform (GCP).У меня есть несколько столбцов категорий, в которых я использую файл vocabulary.txt.Например:

tf.feature_column.categorical_column_with_vocabulary_file(
         key = "feature_name", 
         vocabulary_file = vocab_file,
         vocabulary_size = vocab_size
         ),

Я потратил несколько разочаровывающих часов, обнаружив, что вы не можете использовать open () в GCP, потому что он не может обрабатывать 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-engine отправляют тренинг $ JOB_NAME \ --job-dir $ MODEL_DIR \ --runtime-версия 1.4 \ --module-name trainer.task \ - package-path trainer / \ --region $ REGION \ - \--train-files $ TRAIN_DATA \ --eval-files $ EVAL_DATA \ --vocab-paths $ VOCAB \ --latlon-data-paths $ LATLON \ --train-steps 1000 \ --eval-steps 100

Это хорошо работает для тренировок, но тогда я не могу делать прогнозы. Есть ли лучший способ обучить модель в среде механизма обучения облачным машинам Google при использовании файлов vocab.txt для создания столбцов категориальных объектов?

Любой пример кода, в котором используются категориальные функции сtf.estimator.DNNCLassifier был бы очень признателен, особенно если он может работать на GCP с оптимизацией гиперпараметров и делать прогнозы в облаке.

Спасибо

...