BaşlayınÜcretsiz Başlayın

Çalışma dizinini değiştirme

Verilerinde derin sinir ağları eğitmeni sağlayan açık kaynaklı bir kütüphane kullanıyorsun. Ne yazık ki eğitim sırasında bu kütüphane, kontrol noktası modellerini (yani verinin bir kısmıyla eğitilmiş modelleri) geçerli çalışma dizinine yazıyor. Bu davranış can sıkıcı, çünkü modellerin kaydedileceği dizinden betiği başlatmak zorunda kalmak istemiyorsun.

Bunu düzeltmenin bir yolu olarak, geçerli çalışma dizinini değiştiren, modellerini oluşturmanı sağlayan ve ardından çalışma dizinini eski konumuna sıfırlayan bir context manager yazmaya karar veriyorsun. Model eğitimi sırasında oluşabilecek hataların, çalışma dizinini eski konumuna sıfırlamana engel olmamasını sağlamalısın.

Bu egzersiz

Python'da Fonksiyon Yazımı

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Context içinde oluşabilecek hataları yakalayabilmek için bir ifade ekle.
  • Hata olsun ya da olmasın os.chdir(current_dir) çağrılmasını garanti eden bir ifade ekle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def in_dir(directory):
  """Change current working directory to `directory`,
  allow the user to run some code, and change back.

  Args:
    directory (str): The path to a directory to work in.
  """
  current_dir = os.getcwd()
  os.chdir(directory)

  # Add code that lets you handle errors
  ____:
    yield
  # Ensure the directory is reset,
  # whether there was an error or not
  ____:
    os.chdir(current_dir)
Kodu Düzenle ve Çalıştır