Убедитесь, что файл существует внутри потока tensorflow. использование tf.gfile.exists со строковым tensor в качестве входных данных

Используя Tensorflow, я пытаюсь проверить, существует ли файл, прежде чем читать его с помощью tf.read_file(filename). К сожалению, мой конвейер настроен так, что я генерирую строку имени файла на лету с помощью команд tf. Я генерирую строку своего имени файла с помощью tf.string_join, а затем хочу проверить, существует ли файл, вызвав tf.gfile.Exists. К сожалению, tf.gfile.Exists принимает только строки, а не тензоры. Как я могу убедиться, что файл существует в Tensorflow? Могу ли я оценить тензор во время выполнения? Любой другой обходной путь или правильный способ сделать это?

2
0
426
1

Ответы 1

Я просто завернул его внутрь tf.py_func

def file_exists(file_path):
    [exists] = tf.py_func(_file_exists, [file_path], [tf.bool])
    exists.set_shape([])

    return exists

def _file_exists(file_path):
    return tf.gfile.Exists(file_path)

Другие вопросы по теме