Decidir o que deve sobreviver à sessão
Comece pelo que seria difícil recriar: originais únicos, anotações, escolhas validadas, parâmetros e resultados aceitos. Acrescente os arquivos necessários para entender e retomar o trabalho. Os caches podem ser volumosos sem serem indispensáveis; por outro lado, uma pequena configuração esquecida pode tornar um grande arquivo inutilizável.
Separe a entrega do arquivo de retomada. O destinatário precisa das saídas aceitas e de uma explicação curta. Você também precisa das entradas, versões, testes e estados intermediários úteis. Uma pasta de cliente que mistura variantes rejeitadas, registros técnicos e arquivos definitivos aumenta o risco de usar a saída errada.
| Usage | À conserver pour la reprise | À remettre au destinataire |
|---|---|---|
| Imagens | Originais, correspondência, parâmetros, versões úteis. | Visuais aceitos e lista de entrega. |
| Assistente | Documentos autorizados, modelo/versão, instruções, perguntas e avaliações. | Resultados revisados e limites de uso. |
| Cálculo ou treinamento | Dados necessários, programa, configuração e estado de retomada adequado. | Resultados interpretáveis e método de leitura. |
Construir um inventário que não depende da sua memória
Dê a cada arquivo um lugar estável e mantenha o vínculo entre entrada e saída. Uma lista pode conter o caminho relativo, o papel do arquivo, seu tamanho e seu estado: retido, a retomar ou conservado apenas para entender um teste. Usar caminhos relativos permite mover a pasta sem conservar o nome específico de uma máquina.
Acrescente uma nota de retomada com o objetivo, a versão do software, os componentes indispensáveis, a ordem das operações e a entrada de controle. Anote os arquivos públicos que você pretende recuperar mais tarde com sua versão precisa. Como a disponibilidade futura deles não é garantida, conserve localmente o que é insubstituível e que você tem autorização para guardar.
Revise os arquivos de configuração exportados e os logs antes de compartilhá-los. Remova senhas, chaves e links de acesso que não têm lugar no arquivo. A nota deve explicar como restabelecer um acesso autorizado, sem conter ela mesma o segredo.
Para um modelo, distinguir uso e retomada de treinamento
Os pesos de um modelo e um estado completo de trabalho não oferecem o mesmo serviço. No PyTorch, o state_dict do modelo conserva seus parâmetros e certos estados. Retomar um treinamento também exige os elementos usados pelo loop, incluindo o estado do otimizador e o progresso. As necessidades exatas dependem do seu programa: agendador, precisão mista ou sorteios aleatórios também podem contar.
Escolha o ponto de salvamento em função da pergunta a resolver: «refazer uma previsão» ou «continuar a partir desta etapa». Documente a estrutura esperada e tente recarregar seu próprio arquivo. Um nome como checkpoint-final não garante que todos os elementos de retomada foram salvos.
Prever a cópia antes que o tempo falte
Prepare um local cujo acesso você controla e verifique sua capacidade. Faça uma pequena cópia no início do projeto e, depois, uma cópia intermediária dos elementos já estáveis. Guarde uma versão identificável do arquivo: se as saídas mudarem durante a transferência final, você não saberá mais qual estado recuperou.
Antes da última cópia, conclua as gravações previstas ou use o método de salvamento consistente oferecido pelo software. Um arquivo em processo de gravação pode mudar entre o inventário e a cópia. Para um treinamento que continua, apoie-se em um ponto de retomada explicitamente concluído, em vez de um arquivo temporário apenas visível na pasta.
O volume de dados, os arquivos pequenos e as interrupções influenciam a recuperação. Inclua esta etapa no calendário de 3, 7 ou 30 dias. Não deduza de um teste de transferência curto um prazo certo para todo o arquivo; preveja também o tempo de extração e de abertura.
Controlar o conteúdo e, depois, a integridade da cópia
Compare primeiro os caminhos esperados e o número de arquivos. O tamanho ajuda a identificar um arquivo vazio ou truncado, mas dois arquivos diferentes podem ter o mesmo tamanho. Para controlar os bytes, calcule um hash SHA-256 de cada arquivo de origem estável e, depois, o mesmo hash na sua cópia. O Python documenta esse cálculo em hashlib; outras ferramentas oferecem o mesmo algoritmo.
Guarde o inventário de hashes separadamente dos arquivos que ele descreve, sem tentar fazer com que ele contenha seu próprio hash. Uma diferença pode vir de uma cópia incorreta, mas também de um arquivo de origem modificado entre os dois cálculos. Identifique a causa antes de substituir qualquer coisa.
Um hash idêntico não julga o resultado de negócio e não prova por si só a autoria do arquivo. Uma imagem desfocada ou um modelo ruim podem ser copiados sem alteração. Portanto, associe os controles de integridade à abertura de saídas representativas e à verificação dos seus critérios.
Exemplo: cem imagens, duzentos e dois arquivos úteis
Imaginemos uma entrega de cem visuais. O arquivo de retomada contém cem originais, cem imagens aprovadas, um arquivo de parâmetros e uma nota de retomada: 100 + 100 + 1 + 1 = 202 arquivos. Um inventário separado descreve esses 202 elementos; com esse inventário, a pasta contém 203 arquivos. Trata-se de um exemplo de organização, sem processamento anunciado.
Após a cópia, a contagem encontra os 202 elementos descritos, mas um hash difere. Você tem, portanto, 201 arquivos concordantes e um arquivo a examinar: o número total correto não basta. Se o arquivo de origem permaneceu estável, recopie esse elemento e recalcule seu hash. Se a origem mudou, escolha primeiro a versão a conservar e atualize o inventário de forma coerente.
Abra em seguida, a partir da cópia, uma imagem grande, uma imagem com transparência e uma imagem com texto. Verifique também se os cem nomes esperados estão presentes na entrega. Essas três aberturas ilustram uma verificação direcionada; elas não atestam a qualidade de todas as outras imagens. Os casos sinalizados durante o processamento devem ser revistos individualmente.
Repetir uma retomada sem usar os caminhos antigos
Abra o projeto a partir do local de backup ou de uma pasta de teste separada. Siga a nota na ordem, sem buscar discretamente uma dependência no ambiente original. Os arquivos vinculados, fontes, versões de extensões ou caminhos absolutos ausentes tornam-se então visíveis.
Para imagens, retome uma entrada com as configurações preservadas e abra a exportação. Para um assistente, recarregue a configuração e refaça uma pergunta de controle com seus documentos. Para um cálculo, verifique o carregamento do estado e uma pequena etapa esperada. A verificação deve ir até o resultado útil; ver uma pasta no explorador não testa sua retomada.
Anote o escopo da verificação. Você pode ter verificado a abertura das entregas sem dispor do software necessário para refazer o cálculo no seu computador. Nesse caso, descreva com precisão o que é verificado e o que ainda precisa ser testado em um ambiente compatível.
Reconhecer os erros que dão uma falsa segurança
Um único arquivo no disco de trabalho pode desaparecer junto com esse disco. Uma cópia sincronizada pode reproduzir uma exclusão acidental. Portanto, duas pastas visíveis no mesmo lugar não demonstram dois meios independentes de recuperar os dados. Escolha uma organização de conservação adequada à sua importância e teste o caminho de recuperação previsto.
Os outros problemas são mais comuns: última exportação ausente, arquivo copiado antes do fim da gravação, configurações sem versão, ou arquivo protegido por um acesso que o destinatário não possui. Faça uma última passagem com a lista, a partir do destino real. Enquanto uma anomalia permanecer em aberto, guarde os elementos necessários para corrigi-la.
- As entregas esperadas estão presentes e identificadas.
- O inventário confere com a cópia escolhida.
- Os arquivos de controle abrem a partir do destino.
- A nota de retomada descreve as dependências e limitações restantes.
- Os acessos necessários são gerenciados separadamente dos arquivos compartilhados.