Google Colab da modeli kaydetmek mümkün mü?


#1

Merhabalar, Ben Cnn kullanarak bir model gelistirip bu modeli batchler halinde eğitiyorum. Her 2000 batch te bir modeli kaydediyorum. Bunun icin iphoyton da bir checkpoints klasoru olusturdum. 2000 iterasyon sonucu degerler bu klasore kaydoluyor. Tekrar calistirdigimda checkpoints klasorundeki bilgiler yukleniyor. Bunu Google Colab da gerceklestirmek istedigimde checkpoints klasorunu drive attim ve oraya kaydetmesini istedim. Fakat hic bir sey kaydolmuyor. Google Colab da modeli kaydetmek mumkun mudur?


#2
from google.colab import files
files.download(“model.json”)

Referans: https://stackoverflow.com/questions/48924165/google-colaboratory-weight-download-export-saved-models


#3

Hiç bir yere kaydolmaması mümkün değil. Öncelikle bunu belirtmem gerekiyor. Kodlarda bir hata yoksa aynı bilgisayarınızda yaptığınız gibi dosya kayıt işlemlerini Colab’da gerçekleştirebilirsiniz.

Öncelikle Colab kullanımıyla ilgili yazmış olduğum blog yazısını okumanızı tavsiye ediyorum: https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d

!pwd ile çalışılan klasörü görebilirsiniz.

Yazımda belirtiğim gibi çalışma klasörünüzü öncelikle değiştirmeniz gerekiyor.


#4

Tekrar merhaba,

saver = tf.train.Saver()
save_dir = ‘checkpoints/’
if not os.path.exists(save_dir):
os.makedirs(save_dir)
save_path = os.path.join(save_dir, ‘cifar10_cnn’)
#daha önceden kaydedilmiş bir model varsa onu açsın yoksa sıfırdan eğitime başlasın
try:
print(‘Checkpoint yükleniyor…’)
last_chk_path = tf.train.latest_checkpoint(checkpoint_dir=save_dir)
saver.restore(sess, save_path=last_chk_path)
print(‘Checkpoint yüklendi:’, last_chk_path)
except:
print(‘checkpoint bulunamadı.’)
sess.run(tf.global_variables_initializer())

Modeli bu kodlarla kaydediyorum. Drive da uyguama adlı bir klasör oluşturdum ve blog yazısında ki gibi .py uzantılı python dosyasını ve calis.ipynb adlı klasörü oraya kopyaladım. Fakat aynı gün içinde çalıştırdığımda kaydolup kaldığı yerden devam etmesine rağmen daha sonra ki gün çalıştırdığımda checkpoint noktası bulunamadı diyor.
!pwd dediğimde ise yalnızca /content cevabını alıyorum.
Nereye kaydedildiğini başka bir yoldan göremez miyim acaba?
Teşekkür ederim yardımlarınız için.


#5

Eğer kendi sorduğunuz soruya yanıt vermiyorsanız, bu yanıtınızı lütfen yorum olarak belirtin.

Bkz: Soru Sorarken Nelere Dikkat Etmeliyim?


#6

Çalışma anında dinamik oluşturduğunuz klasör altında değil de, kendi drive hesabınız altındaki dosyalara erişim sağladıktan sonra, checkpoint dosyasını kendi drive dosyalarınız içerisine kaydettiğinizde daha sonraki çalışma zamanınızda yine drive altından erişebilirsiniz.