TensorFlow veya Keras'ta bir Google Cloud Storage paketinden görüntüler yüklenemiyor
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-train
bulunduğu dizinin tam URL'si:
gs://stereo-train/data_scene_flow/training/dat
Ancak tf.keras.preprocessing.image_dataset_from_directory
iş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_file
keras işlevi yerine aynı hatayı alıyorum. Bunu nasıl düzeltebilirim?
Yanıtlar
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.