Dosyaları seçmeden önce geri getirilecek durumu tanımlama
Doğrulanabilir bir cümleyle başlayın: tamamlanmamış görevleri sürdürmek, kabul edilen sonuçları yeniden okumak veya kaydedilmiş bir durumdan bir eğitimi devam ettirmek. Bu hedefler aynı paketi gerektirmez. Uygulamanın sürümünü, girdi kümesini, parametreleri ve referans anını adlandırın. Yakın tarihli bir dosya tarihi, tek başına tüm bileşenlerin çalışmanın aynı durumunu temsil ettiğini göstermez.
Bir PyTorch eğitimi için dokümantasyon, model parametreleri ile özellikle optimize edici durumunu içeren bir devam checkpoint'ini birbirinden ayırır. Kendi protokolünüz için gerekli öğeleri belirleyin: ilerleme, varsa zamanlayıcı, veriler ve diğer uygulama durumları. Yalnızca çıkarım için hazırlanmış bir dışa aktarım bu kullanım için geçerli olabilirken, öğrenmeyi aynı noktadan sürdürmek için yetersiz kalabilir.
Denemeyi çalışma dizininden bağımsız hale getirme
Gerekli alan ve izinlere sahip ayrı bir hedef hazırlayın. Seçilen yedeği açıkça tanımlayın ve referans kopyasını koruyun. Test, devam eden çalışmanın üzerine yazmamalı veya sonuçlarını kabul edilen çıktıların yerine yayımlamamalıdır. Uygulamanın dış eylemlerini devre dışı bırakın veya yönlendirin: bildirim gönderme, paylaşılan bir klasöre yazma veya ek bir kampanya başlatma.
Bu kapsamda aracınızın geri yükleme işlevini kullanın. Örneğin Restic, --target ile bir hedef seçmeye ve --dry-run ile bir geri yüklemeyi önizlemeye olanak tanır. Dokümantasyonu, yerinde bir geri yüklemenin kesintiye uğraması hâlinde kısmi bir durum bırakabileceği konusunda uyarır. Bu olanaklar yöntemi örnekler; Restic'in veya yönetilen bir yedeklemenin bir Capordia kiralamasıyla birlikte sunulduğu anlamına gelmez.
Kopyayı, durumu ve kullanımı sırasıyla doğrulama
Önce paketin beklenen envantere karşılık geldiğini ve dosyaların değiştirilmediğini kontrol edin. Ardından gerçek açmaya geçin: izinler, göreli yollar, bağımlılıklar, verilerin okunması ve durumun yüklenmesi. Bir paket bütünlük kontrolünü geçerken, envanterde hiç yer almamış bir dosyayı atlıyor olabilir. İşlevsel kontrol bu ikinci soruya yanıt verir.
Son olarak, özgün dizine örtük erişimi olmayan yeni bir süreçte sınırlı bir işlem başlatın. Neyi okuduğunu, neyi ürettiğini ve kabulünü neyin sağladığını not edin. Bir toplu işlemin devamı için, önceden onaylanmış görevleri yeniden yayımlamadığını doğrulayın. Birkaç girdi üzerinde yapılan bir test yalnızca bu kapsamı kanıtlar; ne kampanyanın tamamını ne de tam süresini garanti eder.
| Düzey | Soru | Saklanacak öğe |
|---|---|---|
| Bütünlük | Alınan paket, öngörülen pakete karşılık geliyor mu? | Envanter ve kontrol sonucu |
| Geri getirilen durum | Dosyalar ve bağımlılıklar yüklemeye olanak tanıyor mu? | Sürümler, yollar ve saptanan farklar |
| Kullanım | Temsili bir işlem beklenen sonucu veriyor mu? | Deneme girdileri, çıktılar ve karar |
Çözümlenmiş örnek: sağlam ama devam ettirmeyen bir arşiv
Tamamen kurgusal bir durum: bir kampanya 240 dosya içeriyor. Kaydedilen noktada 180'i kabul edilmiş, 60'ı hâlâ işlenmeyi bekliyor. Ekip arşivi ayrı bir alana geri yüklüyor. Listelenen tüm dosyalar bütünlük kontrolünden geçiyor, ancak uygulama o zamana kadar bir iş arkadaşının makinesinden yüklenen bir eşleme tablosunu bulamıyor. Geri yükleme reddediliyor: durum bağımsız olarak sürdürülemiyor.
Ekip, bu tablonun tam sürümünü pakete ekler ve yolunu belgeler. Geri yüklemeyi yeni bir hedefte yeniden başlatır, ardından kaydı doğrular: 180 + 60 = 240 tanımlayıcı, yinelenen yok. Kalan altmış deneme klasöründen on tanesinde işlem, beklenen yirmi dosyayı üretir; yani klasör başına iki dosya. İçerikleri belirlenen ölçütlere göre kabul edilir. Bu on deneme, üretim sonuçlarından ayrı tutulur; başlangıç kaydı bu alıştırmayla ilerletilmez.
Tam bir süreyi ölçmek ve neyi kanıtladığını bilmek
Gerekli hazırlığın başlangıcından kabul edilen sonuca kadar geçen süreyi ölçün; bekleme, geri yükleme, yapılandırma ve kontrolü birbirinden ayırın. Kurgusal örneğimizde bu adımlar sırasıyla 15, 75, 20 ve 25 dakika sürer: toplam 135 dakikaya, yani 2 sa 15 dk'ya ulaşır. Üç saatlik dahili bir pencere için kalan rezerv 180 − 135 = 45 dakikadır. Bu hesaplama hiçbir hizmet performansını tanımlamaz.
Bu önlemi yeniden kullanılabilir kılan koşulları kaydedin: paket boyutu, hedef, sürümler, kişilerin müsaitliği ve kontrolün kapsamı. Yedeğin yaşı başka bir soruya yanıt verir: hangi sonraki çalışmanın muhtemelen yeniden yapılması gerekir? Çok eski bir durumun hızlı geri yüklenmesi kabul edilemez kalabilir. İki ölçütü proje sorumlusuyla birlikte, birbirine karıştırmadan tanımlayın.
| Adım | Süre |
|---|---|
| Hedefi hazırla | 15 dk |
| Paketi geri yükle | 75 dk |
| Uygulamayı yapılandır | 20 dk |
| Deneme sonucunu kabul et | 25 dk |
| Toplam / 3 saatlik rezerv | 135 dk / 45 dk |
Testi tamamlayın ve net bir sonraki adımı koruyun
Tutanak tek sayfada kalır: seçilen yedek, hedef, test ortamı, sapmalar, kabul edilen sonuç ve sınırlamalar. Bir unsur eksikse düzeltmesini birine atayın ve ilgili kontrolü yeniden çalıştırın. Bir başarısızlığı "arşiv mevcut" gibi belirsiz bir ifadeyle değiştirmeyin. Testten sonra test çıktılarını belirleyin ve saklama için tutulan kopyalara dokunmadan prosedürünüze göre kaldırın.
Yedekleme formatı, yazılım veya önemli bir bağımlılık değiştiğinde ve kurtarmayı zorlaştıracak bir teslim tarihinden önce testi yeniden yapın. Sıklık projeye bağlıdır; otomatik bir kiralama taahhüdü değildir. 3, 7 veya 30 günlük bir dönemde, kurtarmayı doğrulamak ve sonucunu süreci yürütecek kişiye iletmek için bir zaman aralığı ayırın.
Karar vermek için sorular
Doğru bir sağlama toplamı bir yedeklemeyi kabul etmek için yeterli mi?
İlgili dosyaların birbiriyle uyumunu doğrular; projenin eksiksizliğini veya yeniden başlatılabilme kapasitesini değil. Ayrı bir alanda bir yükleme ve temsili bir işlem ekleyin. Rapor, bu kontrollerin her birinin kapsamını belirtir.
Her deneme için tüm üretimi yeniden oluşturmak gerekli mi?
Mutlaka değil. Bağımlılıkları ve temel ölçütleri kapsayan bir kapsam seçin, ardından sınırlarını belirtin. Küçük bir deneme, eksik bir dosyayı tespit etmek için yararlıdır; çok daha büyük bir birimi geri yükleme kapasitesini ölçmez.
Deneme yalnızca eski dizin erişilebilirken başarılı olursa ne yapmalı?
Örtük bağımlılığı arayın: yapılandırma, veri, kütüphane veya harici yol. Bunu pakete ekleyin ya da nasıl bulunacağını belgeleyin, ardından bu kısayol olmadan yeniden deneyin. Bu gereksinim bilinmediği sürece, kurtarma özgün ortama bağımlı kalır.