Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

task: centralize frame-key serialization

Aberta
#3,489 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
58/100
Tipo de issue
Refatoração
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
data

Direção de pesquisa

Comece localizando os cálculos existentes da largura das chaves de frame nos caminhos de código pickle e shelf e, em seguida, compare como cada um lê e grava chaves como frame0, frame09 e frame00042. Centralize o formatador preservando essas chaves e verifique se o tratamento de frames vazios não reproduz a falha de log10(0) descrita em #3485.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement pytorch

Summary

The PyTorch video-analysis pipeline currently hand-computes frame-key padding
widths in multiple places and stores per-frame outputs under string keys such as
frame0, frame09, or frame00042.

This works, but it is a low-level serialization detail that is easy to get
wrong, e.g. see #3485 where where log10(0) for empty frames raised an
OverflowError.

Motivation

  • Frame-key formatting is an implementation detail, but callers currently need
    to reason about key_str_width.
  • Width calculations are subtle because they depend on the highest frame index,
    not just the total number of frames in an intuitive way.
  • Read/write code should ideally share one canonical frame-key formatter.

Design Goals

  • Centralize all frame-key logic in one place.
  • Preserve the existing on-disk key format for backward compatibility.
  • Reduce duplicate logic across pickle and shelf code paths.
Linguagem predominante
Python
Estrelas
5.8k
Forks
1.8k
Merge médio
2d 12h
PRs com merge (30d)
14

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de DeepLabCut/DeepLabCut

Todas as issues de DeepLabCut/DeepLabCut

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.