TensorFlow या Keras में Google क्लाउड स्टोरेज बाल्टी से चित्र लोड करने में असमर्थ
मेरे पास Google क्लाउड स्टोरेज पर एक बाल्टी है जिसमें एक TensorFlow मॉडल प्रशिक्षण के लिए चित्र हैं। मैं tensorflow_cloud
बाल्टी में संग्रहीत छवियों को लोड करने के लिए उपयोग कर रहा हूं stereo-train
और छवियों के साथ निर्देशिका में पूर्ण URL है:
gs://stereo-train/data_scene_flow/training/dat
लेकिन tf.keras.preprocessing.image_dataset_from_directory
फ़ंक्शन में इस पथ का उपयोग करते हुए , मुझे Google क्लाउड कंसोल में लॉग में त्रुटि मिलती है:
FileNotFoundError: [Errno 2] No such file or directory: 'gs://stereo-train/data_scene_flow/training/dat'
इसे कैसे ठीक करें?
कोड:
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)
जब मैं निम्नलिखित का उपयोग करता हूं, तब भी यह काम नहीं करता है:
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
कार्स फ़ंक्शन के बजाय, मुझे वही त्रुटि मिलती है। इसे कैसे ठीक करें?
जवाब
यदि आप लिनक्स या OSX का उपयोग कर रहे हैं, तो आप Google क्लाउड स्टोरेज FUSE का उपयोग कर सकते हैं जो आपको अपनी बाल्टी को स्थानीय रूप से माउंट करने और किसी अन्य फ़ाइल सिस्टम की तरह उपयोग करने की अनुमति देगा। इंस्टॉलेशन गाइड का पालन करें और फिर अपने सिस्टम पर कहीं बाल्टी को माउंट करें, यानी:
mkdir /mnt/buckets
gcsfuse gs://stereo-train /mnt/buckets
फिर आपको अपने कोड में आरोह बिंदु से पथों का उपयोग करने में सक्षम होना चाहिए और सामग्री को बाल्टी से बाल्टी में लोड करना चाहिए।