Google Cloud ML Engine не может найти локальные TFRecords

Я пытаюсь использовать Google Cloud ML Engine для оптимизации гиперпараметров для моей модели вариационного автоэнкодера, но задание не выполняется, потому что файлы .tfrecord, которые я указываю для входных данных, не найдены. В коде моей модели я передаю train.tfrecords своему входному тензору, как в канонический пример cifar10 и укажите полный путь к файлу train.tfrecords.

Релевантная информация:

  • JOB_DIR указывает на каталог тренера
  • На этом изображении показана моя структура каталогов
  • Мой файл setup.py ниже:

    from setuptools import find_packages
    from setuptools import setup
    
    REQUIRED_PACKAGES = ['tensorflow==1.3.0', 'opencv-python']
    
    setup(
        name='trainer',
        version='0.1',
        install_requires=REQUIRED_PACKAGES,
        packages=find_packages(),
        include_package_data=True,
        description='My trainer application package.'
    )
    

person hannahrae    schedule 03.10.2017    source источник


Ответы (1)


Когда задание выполняется, оно не сможет считывать данные с вашего локального компьютера. Самый простой способ сделать файлы TFRecord доступными для вашего задания — это скопировать их в GCS, а затем передать расположение файлов GCS в вашу программу в виде флагов и использовать эти флаги для настройки ваших считывателей и писателей.

person Jeremy Lewi    schedule 04.10.2017
comment
Благодарю вас! Я попробую это (в настоящее время загружаю записи в GCS) и дам вам знать, как это происходит. Кроме того, знаете ли вы, где найти примеры файлов task.py, в которых используются флаги? Я просмотрел этот пример, но он использует argparse вместо tf.flags: github.com/GoogleCloudPlatform/cloudml-samples/blob/master/ - person hannahrae; 05.10.2017
comment
Я думаю, что во многих примерах TensorFlow используется tf.flags, но я не уверен в каких-либо конкретных примерах CMLE. - person Jeremy Lewi; 07.10.2017