Google Cloud Storage (GCS), birçok nedenden dolayı tfds ile kullanılabilir:
- Önceden işlenmiş verilerin saklanması
- GCS'de depolanan verileri içeren veri kümelerine erişme
TFDS GCS paketi aracılığıyla erişim
Bazı veri kümeleri, herhangi bir kimlik doğrulaması olmadan doğrudan GCS paketimizde gs://tfds-data/datasets/
mevcuttur:
- Eğer
tfds.load(..., try_gcs=False)
(varsayılan) ise, veri kümesidownload_and_prepare
sırasında~/tensorflow_datasets
içine yerel olarak kopyalanacaktır. - Eğer
tfds.load(..., try_gcs=True)
ise, veri kümesi doğrudan GCS'den yayınlanacaktır (download_and_prepare
atlanacaktır).
Bir veri kümesinin genel pakette barındırılıp barındırılmadığını tfds.is_dataset_on_gcs('mnist')
ile kontrol edebilirsiniz.
Kimlik doğrulama
Başlamadan önce, nasıl kimlik doğrulaması yapmak istediğinize karar vermelisiniz. Üç seçenek var:
- kimlik doğrulama yok (diğer adıyla anonim erişim)
- Google hesabınızı kullanarak
- bir hizmet hesabı kullanarak (ekibinizdeki diğer kişilerle kolayca paylaşılabilir)
Ayrıntılı bilgiyi Google Cloud belgelerinde bulabilirsiniz
Basitleştirilmiş talimatlar
Colab'dan çalıştırıyorsanız hesabınızla kimlik doğrulaması yapabilirsiniz ancak şunları çalıştırabilirsiniz:
from google.colab import auth
auth.authenticate_user()
Yerel makinenizde (veya VM'de) çalıştırıyorsanız aşağıdakileri çalıştırarak hesabınızla kimlik doğrulaması yapabilirsiniz:
gcloud auth application-default login
Hizmet hesabıyla oturum açmak istiyorsanız JSON dosya anahtarını indirin ve ayarlayın.
export GOOGLE_APPLICATION_CREDENTIALS=<JSON_FILE_PATH>
Önceden işlenmiş verileri depolamak için Google Cloud Storage'ı kullanma
Normalde TensorFlow Veri Kümelerini kullandığınızda, indirilen ve hazırlanan veriler yerel bir dizinde (varsayılan olarak ~/tensorflow_datasets
) önbelleğe alınır.
Yerel diskin geçici olabileceği bazı ortamlarda (geçici bir bulut sunucusu veya Colab not defteri ) veya verilere birden fazla makine tarafından erişilmesinin gerekli olduğu bazı ortamlarda, data_dir
Google Bulut Depolama (GCS) gibi bir bulut depolama sistemine ayarlamak yararlı olabilir kova.
Nasıl?
Bir GCS paketi oluşturun ve sizin (veya hizmet hesabınızın) üzerinde okuma/yazma izinlerine sahip olduğunuzdan emin olun (yukarıdaki yetkilendirme talimatlarına bakın)
tfds
kullandığınızda data_dir
"gs://YOUR_BUCKET_NAME"
olarak ayarlayabilirsiniz.
ds_train, ds_test = tfds.load(name="mnist", split=["train", "test"], data_dir="gs://YOUR_BUCKET_NAME")
Uyarılar:
- Bu yaklaşım, veri erişimi için yalnızca
tf.io.gfile
dosyasını kullanan veri kümeleri için işe yarar. Bu çoğu veri kümesi için geçerlidir ancak hepsi için geçerli değildir. - GCS'ye erişmenin, uzak bir sunucuya erişim sağlamak ve bu sunucudan veri akışı yapmak anlamına geldiğini, dolayısıyla ağ maliyetlerine maruz kalabileceğinizi unutmayın.
GCS'de depolanan veri kümelerine erişme
Veri kümesi sahipleri anonim erişime izin verdiyse, devam edip tfds.load kodunu çalıştırabilirsiniz; bu, normal bir internet indirmesi gibi çalışır.
Veri kümesi kimlik doğrulama gerektiriyorsa hangi seçeneği istediğinize (kendi hesabı mı yoksa hizmet hesabı mı) karar vermek için lütfen yukarıdaki talimatları kullanın ve hesap adını (aka e-posta) veri kümesi sahibine iletin. GCS dizinine erişmenizi sağladıktan sonra tfds indirme kodunu çalıştırabilmeniz gerekir.