Skip to content

fix: Values to run ipynb correctly#1

Open
DanielGaletti wants to merge 1 commit into
LIDS-UNICAMP:mainfrom
DanielGaletti:fix/flim_values_shape
Open

fix: Values to run ipynb correctly#1
DanielGaletti wants to merge 1 commit into
LIDS-UNICAMP:mainfrom
DanielGaletti:fix/flim_values_shape

Conversation

@DanielGaletti

@DanielGaletti DanielGaletti commented Apr 15, 2026

Copy link
Copy Markdown

# Summary

Corrige erros que impediam a execução do notebook flim.ipynb no fluxo de treino e inferência.
Ajusta o pipeline de seleção/uso de labels para evitar falhas de conversão de numpy array para escalar (TypeError em model.fit).
Corrige a chamada de forward em run e o tratamento de decoder_layer=-1, além de corrigir retorno no decoder adaptativo para manter consistência de tipo (Tensor).

# What changed

pyflim/flim.py
Normalização robusta de índices/labels para escalar inteiro ao montar kernel_labels e selected_kernels_labels.
select_patches agora retorna índices planos (np.flatnonzero) em vez de arrays de shape (n,1).
run passa os argumentos corretos para forward.
forward trata decoder_layer is None ou decoder_layer == -1 como última camada da arquitetura.
pyflim/layers.py
vanilla_adaptive_decoder passa a retornar y*255 diretamente (evita torch.from_numpy em objeto já Tensor).

# Why

Esses ajustes removem falhas que quebravam o fluxo padrão do notebook:

  • TypeError: only 0-dimensional arrays can be converted to Python scalars durante model.fit(dataset).
  • TypeError por número de argumentos na chamada de forward dentro de model.run(...).
  • Erro de tipo no decoder (expected np.ndarray (got Tensor)).
  • Test plan
  • Criar dataset de treino por batch com DataLoader (mesmo padrão do notebook).
  • Executar model.fit(dataset) sem erros.
  • Executar model.run(dataset, "out/") sem erros.
  • Verificar que a pasta out/ é gerada e o forward pass conclui normalmente.

# Impact

  • Compatibilidade preservada com o fluxo atual.
  • Correções focadas em robustez de tipos e assinatura de métodos, sem alterar a lógica principal de treinamento/decodificação.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant