TensorFlow veya Keras'ta bir Google Cloud Storage paketinden görüntüler yüklenemiyor

Aug 17 2020

Google Cloud Storage'da TensorFlow model eğitimi için görüntüler içeren bir paketim var. tensorflow_cloudÇağrılan pakette depolanan resimleri yüklemek için kullanıyorum ve resimlerin stereo-trainbulunduğu dizinin tam URL'si:

gs://stereo-train/data_scene_flow/training/dat

Ancak tf.keras.preprocessing.image_dataset_from_directoryişlevde bu yolu kullanarak , Google Cloud Console'daki günlükte hatayı alıyorum:

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

Bunu nasıl düzeltebilirim?

Kod:

GCP_BUCKET = "stereo-train"

kitti_dir = os.path.join("gs://", GCP_BUCKET, "data_scene_flow")
kitti_training_dir = os.path.join(kitti_dir, "training", "dat")

ds = tf.keras.preprocessing.image_dataset_from_directory(kitti_training_dir, image_size=(375,1242), batch_size=batch_size, shuffle=False, label_mode=None)


Aşağıdakileri kullandığımda bile işe yaramıyor:


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))

tf.io.read_filekeras işlevi yerine aynı hatayı alıyorum. Bunu nasıl düzeltebilirim?

Yanıtlar

1 mac13k Aug 17 2020 at 10:03

Linux veya OSX kullanıyorsanız , paketinizi yerel olarak bağlamanıza ve başka herhangi bir dosya sistemi gibi kullanmanıza olanak tanıyan Google Cloud Storage FUSE'yi kullanabilirsiniz. Kurulum kılavuzunu izleyin ve ardından kovanızı sisteminizin herhangi bir yerine monte edin, örn .:

mkdir /mnt/buckets
gcsfuse gs://stereo-train /mnt/buckets

Daha sonra kodunuzda bağlama noktasından gelen yolları kullanabilmeli ve içeriği Keras'ta paketten yükleyebilmelisiniz.