Bepalen wat de sessie moet overleven
Begin met wat moeilijk opnieuw te maken is: unieke originelen, annotaties, goedgekeurde keuzes, parameters en geaccepteerde resultaten. Voeg de bestanden toe die nodig zijn om het werk te begrijpen en te hervatten. Caches kunnen groot zijn zonder onmisbaar te zijn; omgekeerd kan een kleine vergeten instelling een groot archief onbruikbaar maken.
Houd de oplevering en het hervatarchief gescheiden. De ontvanger heeft de geaccepteerde output en een korte uitleg nodig. Jij hebt ook de invoer, versies, tests en nuttige tussenstanden nodig. Een klantmap waarin afgewezen varianten, technische logs en definitieve bestanden door elkaar staan, vergroot het risico dat de verkeerde output wordt gebruikt.
| Usage | À conserver pour la reprise | À remettre au destinataire |
|---|---|---|
| Afbeeldingen | Originelen, correspondentie, parameters, nuttige versies. | Geaccepteerde visuals en opleverlijst. |
| Assistent | Toegestane documenten, model/versie, richtlijnen, vragen en beoordelingen. | Nagekeken resultaten en gebruiksbeperkingen. |
| Berekening of training | Benodigde data, programma, configuratie en geschikte hervatstatus. | Interpreteerbare resultaten en leeswijzer. |
Een inventaris maken die niet van je geheugen afhangt
Geef elk bestand een vaste plek en houd het verband tussen invoer en uitvoer. Een lijst kan het relatieve pad, de rol van het bestand, de grootte en de status bevatten: behouden, te hervatten of alleen bewaard om een test te begrijpen. Relatieve paden gebruiken maakt het mogelijk de map te verplaatsen zonder de specifieke naam van een machine te bewaren.
Voeg een hervatnotitie toe met het doel, de softwareversie, de onmisbare componenten, de volgorde van de handelingen en de controle-invoer. Noteer de openbare bestanden die je later wilt ophalen, met hun exacte versie. Omdat hun toekomstige beschikbaarheid niet gegarandeerd is, bewaar je lokaal wat onvervangbaar is en wat je mag houden.
Lees configuratie-exports en logs na voordat je ze deelt. Verwijder wachtwoorden, sleutels en toegangslinks die niet in het archief thuishoren. De notitie moet uitleggen hoe geautoriseerde toegang kan worden hersteld, zonder zelf het geheim te bevatten.
Voor een model: onderscheid gebruik en hervatten van training
De gewichten van een model en een volledige werkstatus bieden niet hetzelfde. In PyTorch bewaart de state_dict van het model de parameters en bepaalde toestanden. Een training hervatten vereist ook de elementen die de loop gebruikt, waaronder de status van de optimizer en de voortgang. De exacte behoeften hangen af van je programma: scheduler, gemengde precisie of willekeurige trekkingen kunnen ook meetellen.
Kies het checkpoint op basis van de vraag die je wilt oplossen: 'opnieuw een voorspelling doen' of 'verdergaan vanaf deze stap'. Documenteer de verwachte structuur en probeer je eigen bestand opnieuw te laden. Een naam als checkpoint-final garandeert niet dat alle hervattingselementen zijn opgeslagen.
Plan de kopie voordat de tijd ontbreekt
Bereid een locatie voor waarvan je de toegang beheert en controleer de capaciteit. Maak een kleine kopie aan het begin van het project en daarna een tussentijdse kopie van de al stabiele elementen. Houd een identificeerbare versie van het archief: als uitvoer verandert tijdens de definitieve overdracht, weet je niet meer welke status je hebt opgehaald.
Voltooi vóór de laatste kopie de geplande schrijfacties of gebruik de consistente back-upmethode die de software biedt. Een bestand dat nog wordt geschreven kan veranderen tussen de inventarisatie en de kopie. Voor een training die doorloopt, vertrouw je op een expliciet voltooid hervatpunt in plaats van op een tijdelijk bestand dat simpelweg zichtbaar is in de map.
De hoeveelheid data, kleine bestanden en onderbrekingen beïnvloeden het ophalen. Neem deze stap op in de planning van 3, 7 of 30 dagen. Leid uit een korte overdrachtstest geen zekere doorlooptijd voor het hele archief af; reken ook tijd voor uitpakken en openen mee.
Controleer de inhoud en dan de integriteit van de kopie
Vergelijk eerst de verwachte paden en het aantal bestanden. De grootte helpt om een leeg of afgekapt bestand op te sporen, maar twee verschillende bestanden kunnen dezelfde grootte hebben. Om de bytes te controleren, bereken je een SHA-256-hash van elk stabiel bronbestand en daarna dezelfde hash op de kopie. Python documenteert deze berekening in hashlib; andere tools bieden hetzelfde algoritme.
Bewaar de inventaris van hashes apart van de bestanden die hij beschrijft, zonder te proberen er zijn eigen hash in op te nemen. Een verschil kan door een onjuiste kopie komen, maar ook door een bronbestand dat tussen de twee berekeningen is gewijzigd. Stel de oorzaak vast voordat je iets vervangt.
Een identieke hash beoordeelt het inhoudelijke resultaat niet en bewijst op zichzelf niet wie de auteur van het bestand is. Een wazige afbeelding of een slecht model kan zonder wijziging zijn gekopieerd. Combineer integriteitscontroles daarom met het openen van representatieve uitvoer en het controleren van je criteria.
Voorbeeld: honderd afbeeldingen, tweehonderdtwee nuttige bestanden
Stel je een levering van honderd visuals voor. Het hervatarchief bevat honderd originelen, honderd geaccepteerde afbeeldingen, een parameterbestand en een hervatnotitie: 100 + 100 + 1 + 1 = 202 bestanden. Een aparte inventaris beschrijft deze 202 elementen; met die inventaris bevat de map 203 bestanden. Dit is een voorbeeld van ordening, zonder aangekondigde verwerking.
Na het kopiëren vindt de telling de 202 beschreven elementen terug, maar één hash verschilt. Je hebt dus 201 overeenkomende bestanden en één bestand om te onderzoeken: het juiste totaal alleen is niet genoeg. Als het bronbestand stabiel is gebleven, kopieer dit element opnieuw en bereken zijn hash opnieuw. Als de bron is gewijzigd, kies dan eerst de versie die je wilt bewaren en werk de inventaris consistent bij.
Open vervolgens vanuit de kopie een grote afbeelding, een afbeelding met transparantie en een afbeelding met tekst. Controleer ook of de honderd verwachte namen in de levering zitten. Deze drie openingen illustreren een gerichte controle; ze bevestigen niet de kwaliteit van alle andere visuals. Gemelde gevallen tijdens de verwerking moeten afzonderlijk worden nagekeken.
Een herneming herhalen zonder de oude paden te gebruiken
Open het project vanaf de back-uplocatie of een aparte testmap. Volg de notitie in volgorde, zonder stiekem een afhankelijkheid uit de oorspronkelijke omgeving te halen. Ontbrekende gekoppelde bestanden, lettertypen, extensieversies of absolute paden worden dan zichtbaar.
Voor afbeeldingen: heropen een item met de bewaarde instellingen en open de export. Voor een assistent: laad de configuratie opnieuw en stel een controlevraag met de bijbehorende documenten. Voor een berekening: controleer of de status laadt en of een kleine verwachte stap werkt. De verificatie moet tot het nuttige resultaat gaan; een map in de verkenner zien test de herneming niet.
Noteer de reikwijdte van de controle. Het kan zijn dat je het openen van de deliverables hebt gecontroleerd zonder de software te hebben om de berekening op je computer opnieuw uit te voeren. Beschrijf in dat geval precies wat is gecontroleerd en wat nog moet worden geprobeerd in een compatibele omgeving.
Fouten herkennen die een valse geruststelling geven
Eén archief op de werkende schijf kan samen met die schijf verdwijnen. Een gesynchroniseerde kopie kan een per ongeluk verwijderde map reproduceren. Twee zichtbare mappen op dezelfde plek bewijzen dus niet twee onafhankelijke manieren om de gegevens terug te halen. Kies een bewaarstrategie die past bij het belang ervan en test het voorziene herstelpad.
De andere valkuilen zijn gewoner: een ontbrekende laatste export, een archief dat is gekopieerd voordat het klaar was met schrijven, instellingen zonder versie, of een bestand dat is beveiligd met een toegang die de ontvanger niet heeft. Ga nog één keer de lijst na, vanaf de werkelijke bestemming. Zolang een probleem openstaat, bewaar je de elementen die nodig zijn om het te corrigeren.
- De verwachte deliverables zijn aanwezig en geïdentificeerd.
- De inventaris komt overeen met de gekozen kopie.
- De controlebestanden openen vanaf de bestemming.
- De hernemingsnotitie beschrijft de resterende afhankelijkheden en beperkingen.
- De benodigde toegangen worden apart van de gedeelde bestanden beheerd.