Zdecyduj, co musi przetrwać sesję
Zacznij od tego, co byłoby trudne do odtworzenia: unikalne oryginały, adnotacje, zatwierdzone wybory, parametry i zaakceptowane wyniki. Dodaj pliki potrzebne do zrozumienia i wznowienia pracy. Pamięci podręczne mogą być obszerne, ale niekonieczne; odwrotnie, drobna zapomniana konfiguracja może uczynić duże archiwum bezużytecznym.
Oddziel dostawę od archiwum do wznowienia. Odbiorca potrzebuje zaakceptowanych wyników i krótkiego wyjaśnienia. Ty potrzebujesz także danych wejściowych, wersji, prób i przydatnych stanów pośrednich. Folder klienta, który miesza odrzucone warianty, logi techniczne i pliki ostateczne, zwiększa ryzyko użycia niewłaściwego wyniku.
| Usage | À conserver pour la reprise | À remettre au destinataire |
|---|---|---|
| Obrazy | Oryginały, korespondencja, parametry, przydatne wersje. | Zaakceptowane wizualizacje i lista dostawy. |
| Asystent | Dozwolone dokumenty, model/wersja, wytyczne, pytania i oceny. | Sprawdzone wyniki i ograniczenia użycia. |
| Obliczenia lub trening | Niezbędne dane, program, konfiguracja i odpowiedni stan wznowienia. | Wyniki poddające się interpretacji i metoda ich odczytu. |
Zbuduj inwentarz, który nie zależy od Twojej pamięci
Nadaj każdemu plikowi stałe miejsce i zachowaj powiązanie między danymi wejściowymi a wynikami. Lista może zawierać ścieżkę względną, rolę pliku, jego rozmiar i stan: zachowany, do wznowienia lub przechowywany tylko po to, by zrozumieć próbę. Używanie ścieżek względnych pozwala przenieść folder bez zachowywania konkretnej nazwy maszyny.
Dodaj notatkę o wznowieniu z celem, wersją oprogramowania, niezbędnymi komponentami, kolejnością operacji i danymi kontrolnymi na wejściu. Zapisz publiczne pliki, które planujesz pobrać później, wraz z ich dokładną wersją. Ponieważ ich przyszła dostępność nie jest zapewniona, przechowuj lokalnie to, co jest niezastąpione i co masz prawo zachować.
Przejrzyj eksporty konfiguracji i dzienniki, zanim je udostępnisz. Usuń hasła, klucze i linki dostępu, które nie powinny znaleźć się w archiwum. Notatka powinna wyjaśniać, jak przywrócić autoryzowany dostęp, ale sama nie może zawierać sekretu.
W przypadku modelu rozróżnij użycie od wznowienia trenowania
Wagi modelu i pełny stan pracy nie służą temu samemu. W PyTorch state_dict modelu zachowuje jego parametry i niektóre stany. Wznowienie trenowania wymaga też elementów używanych przez pętlę, w tym stanu optymalizatora i postępu. Dokładne potrzeby zależą od Twojego programu: harmonogram, mixed precision czy losowe próbkowanie również mogą mieć znaczenie.
Wybierz punkt zapisu w zależności od tego, co chcesz rozwiązać: „ponownie wykonać predykcję” czy „kontynuować od tego etapu”. Udokumentuj oczekiwaną strukturę i spróbuj ponownie wczytać własny plik. Nazwa taka jak checkpoint-final nie gwarantuje, że zapisano wszystkie elementy potrzebne do wznowienia.
Zaplanuj kopię, zanim zabraknie czasu
Przygotuj miejsce, którego dostęp kontrolujesz, i sprawdź jego pojemność. Zrób małą kopię na początku projektu, a potem kopię pośrednią już stabilnych elementów. Zachowaj wersję archiwum z możliwą do zidentyfikowania nazwą: jeśli wyniki zmienią się podczas końcowego transferu, nie będziesz już wiedzieć, który stan odzyskałeś.
Przed ostatnią kopią zakończ zaplanowane zapisy lub użyj spójnej metody tworzenia kopii oferowanej przez oprogramowanie. Plik w trakcie zapisu może zmienić się między inwentaryzacją a kopiowaniem. W przypadku trenowania, które trwa dalej, oprzyj się na wyraźnie zakończonym punkcie wznowienia, a nie na pliku tymczasowym, który jest po prostu widoczny w folderze.
Na odzyskiwanie wpływa ilość danych, drobne pliki i przerwy. Uwzględnij ten etap w harmonogramie 3, 7 lub 30 dni. Nie wyciągaj z krótkiej próby transferu pewnego wniosku o czasie dla całego archiwum; zaplanuj też czas na rozpakowanie i otwarcie.
Sprawdź zawartość, a następnie integralność kopii
Najpierw porównaj oczekiwane ścieżki i liczbę plików. Rozmiar pomaga wykryć pusty lub obcięty plik, ale dwa różne pliki mogą mieć ten sam rozmiar. Aby sprawdzić bajty, oblicz skrót SHA-256 każdego stabilnego pliku źródłowego, a potem ten sam skrót dla jego kopii. Python opisuje to obliczenie w hashlib; inne narzędzia oferują ten sam algorytm.
Przechowuj inwentarz skrótów oddzielnie od plików, które opisuje, i nie próbuj umieszczać w nim jego własnego skrótu. Różnica może wynikać z nieprawidłowej kopii, ale też ze zmiany pliku źródłowego między oboma obliczeniami. Ustal przyczynę, zanim cokolwiek zastąpisz.
Identyczny skrót nie ocenia wyniku biznesowego i sam nie dowodzi autorstwa pliku. Rozmyty obraz lub zły model można skopiować bez zmiany. Dlatego połącz kontrole integralności z otwarciem reprezentatywnych wyników i sprawdzeniem Twoich kryteriów.
Przykład: sto obrazów, dwieście dwa przydatne pliki
Wyobraź sobie dostawę stu grafik. Archiwum wznowienia zawiera sto oryginałów, sto zaakceptowanych obrazów, jeden plik ustawień i jedną notatkę o wznowieniu: 100 + 100 + 1 + 1 = 202 pliki. Oddzielny inwentarz opisuje te 202 elementy; razem z tym inwentarzem folder zawiera 203 pliki. To przykład organizacji, bez zapowiedzi żadnego przetwarzania.
Po skopiowaniu zliczanie odnajduje 202 opisane elementy, ale jeden skrót się różni. Masz więc 201 zgodnych plików i jeden plik do sprawdzenia: sama prawidłowa liczba wszystkich plików nie wystarcza. Jeśli plik źródłowy pozostał niezmieniony, skopiuj ten element ponownie, a potem oblicz jego skrót na nowo. Jeśli źródło się zmieniło, najpierw wybierz wersję do zachowania i zaktualizuj inwentarz w spójny sposób.
Otwórz następnie z kopii duży obraz, obraz z przezroczystością i obraz zawierający tekst. Sprawdź też, czy w dostawie znajduje się oczekiwanych sto nazw. Te trzy otwarcia ilustrują kontrolę wybiórczą; nie potwierdzają jakości wszystkich pozostałych plików graficznych. Przypadki zgłoszone podczas przetwarzania należy przejrzeć indywidualnie.
Powtórz wznowienie bez używania starych ścieżek
Otwórz projekt z miejsca zapisu lub z osobnego folderu testowego. Przejdź notatkę po kolei, nie szukając po cichu zależności w pierwotnym środowisku. Brakujące pliki powiązane, czcionki, wersje rozszerzeń lub ścieżki bezwzględne staną się wtedy widoczne.
W przypadku obrazów wznów wpis z zachowanymi ustawieniami i otwórz eksport. W przypadku asystenta ponownie wczytaj konfigurację i zadaj pytanie kontrolne wraz z jego dokumentami. W przypadku obliczeń sprawdź wczytanie stanu i niewielki oczekiwany krok. Weryfikacja musi sięgać aż do użytecznego wyniku; samo zobaczenie folderu w eksploratorze nie testuje jego wznowienia.
Zapisz zakres kontroli. Możesz zweryfikować otwarcie dostarczonych plików, nie mając oprogramowania potrzebnego do ponownego uruchomienia obliczeń na swoim komputerze. W takim przypadku opisz dokładnie, co jest sprawdzone, a co pozostaje do wypróbowania w zgodnym środowisku.
Rozpoznaj błędy dające fałszywe poczucie pewności
Pojedyncze archiwum na dysku roboczym może zniknąć razem z tym dyskiem. Zsynchronizowana kopia może powielić przypadkowe usunięcie. Dwa widoczne w tym samym miejscu foldery nie dowodzą więc dwóch niezależnych sposobów odzyskania danych. Wybierz organizację przechowywania dopasowaną do ich wagi, a następnie przetestuj przewidzianą ścieżkę odzyskiwania.
Inne pułapki są bardziej zwyczajne: brak ostatniego eksportu, archiwum skopiowane przed zakończeniem zapisu, parametry bez wersji albo plik chroniony dostępem, którego odbiorca nie ma. Zrób ostatni przegląd z listą, z rzeczywistego miejsca docelowego. Dopóki jakakolwiek nieprawidłowość pozostaje otwarta, zachowaj elementy potrzebne do jej naprawienia.
- Oczekiwane pliki są obecne i zidentyfikowane.
- Inwentarz zgadza się z wybraną kopią.
- Pliki kontrolne otwierają się z miejsca docelowego.
- Notatka o wznowieniu opisuje zależności i pozostałe ograniczenia.
- Niezbędne dostępy są zarządzane oddzielnie od udostępnianych plików.