如何在Tensorflow中从Google存储桶读取文件?

时间:2020-08-17 02:45:50

标签: python tensorflow google-cloud-platform google-cloud-storage

要训练张量流模型,我正在从Google云平台存储区加载自定义数据集,如下所示:

GCP_BUCKET = "stereo-train"

tfc.run(
    requirements_txt="requirements.txt",
    chief_config=tfc.MachineConfig(
        cpu_cores=8,
        memory=30,
        accelerator_type=tfc.AcceleratorType.NVIDIA_TESLA_T4,
        accelerator_count=1,
    ),
    docker_image_bucket_name=GCP_BUCKET,
)
kitti = "gs://stereo-train/data_scene_flow"


kitti_train = str(kitti + "/training/dat/data/")

img_height = 375
img_width = 1242

feature_size = 32
batch_size = 6
filenames = np.sort(np.asarray(os.listdir(kitti_train))).tolist()
# Make a Dataset of image tensors by reading and decoding the files.
ds = list(map(lambda x: tf.io.decode_image(tf.io.read_file(kitti_train + x)), filenames))

但是Google云平台控制台给我以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'gs://stereo-train/data_scene_flow/training/dat/data/'

立体声火车存储桶确实存在于目录层次结构中。

2 个答案:

答案 0 :(得分:0)

如果是在本地运行,则可能是连接问题,请下载GCP控制台并尝试从控制台访问存储区。

答案 1 :(得分:0)

tf.io.read_file()方法用于本地文件,不适用于gs://协议。相反,您应该使用tf.io.gfile.GFile()