Skip to main content

MPJRD Neural Computation Framework

Project description

PyFolds

PyPI Python PyTorch License Docs

PyFolds é uma biblioteca de alta performance para computação bioinspirada sobre PyTorch, com foco em computação dendrítica não linear, rastreabilidade de estados e integração científica.


1. Visão Geral

O framework abstrai a computação dendrítica em um pipeline modular para acelerar pesquisa e engenharia aplicada em modelos MPJRD.

Por que usar o PyFolds?

  • Modularidade extensível: componentes com mecanismos de plasticidade e dinâmica de curto prazo.
  • Eficiência nativa: integração com o ecossistema PyTorch (CPU/GPU).
  • Transparência científica: separação explícita de sinapse, dendrito e soma para auditoria de estados.

2. Instalação

pip install pyfolds

Documentation

  • Instale dependências de documentação:
pip install -r requirements-docs.txt
  • Gere o site localmente com Sphinx:
sphinx-build -b html docs docs/_build/html
  • Entrada principal da documentação: docs/index.md.
  • Portal HUB já existente: docs/development/HUB_CONTROLE.md (use como base, sem recriação do zero).
  • Publicação (quando disponível no CI/GitHub Pages): consultar workflow de docs do repositório.

3. Quickstart

import torch
from pyfolds import MPJRDConfig, MPJRDNeuron

config = MPJRDConfig(n_dendrites=4, n_synapses_per_dendrite=8)
model = MPJRDNeuron(config)

x = torch.randn(32, 4, 8)  # (batch, dendritos, sinapses)
output = model(x)
print(output["spikes"])

4. Benchmarks de serialização

python scripts/run_benchmarks.py --output docs/assets/benchmarks_results.json
python scripts/generate_benchmarks_doc.py --input docs/assets/benchmarks_results.json --output docs/assets/BENCHMARKS.md

Interpretação rápida:

  • Throughput (MiB/s): quanto maior, melhor.
  • Razão de compressão vs none: valores menores que 1.0 indicam melhor compressão.
  • O workflow .github/workflows/benchmarks.yml executa periodicamente para atualização de artefatos.

5. Portal de documentação

5.1 Uso público

5.2 Desenvolvimento e governança (interno)

6. Governança e qualidade (IEEE/ISO)

O processo documental e técnico segue princípios de padronização e rastreabilidade, alinhados a:

  • ISO/IEC 12207 (ciclo de vida de software),
  • IEEE 828 (configuração e controle de mudanças),
  • IEEE 730 (garantia de qualidade).

Referências relevantes no repositório:

7. Validação local

python scripts/run_benchmarks.py
python scripts/generate_benchmarks_doc.py --input docs/assets/benchmarks_results.json --output docs/assets/BENCHMARKS.md

8. Workflow v6 (CRIAR → ANALISAR → EXECUTAR → FINALIZAR)

Fluxo operacional canônico para governança e execução de issues:

  1. CRIAR
    • Criar relatório em docs/development/prompts/relatorios/ISSUE-XXX-slug.md.
    • Criar log em docs/development/prompts/logs/ISSUE-XXX-slug-LOG.md.
  2. ANALISAR
    • Validar escopo, riscos, critérios de aceite e artefatos afetados.
  3. EXECUTAR
    • Implementar mudanças e manter rastreabilidade em docs/development/execution_queue.csv.
  4. FINALIZAR
    • Sincronizar HUB, rodar validações e abrir PR com evidências.

Comandos mínimos:

python -m compileall src/
python tools/validate_docs_links.py
python tools/sync_hub.py --check
PYTHONPATH=src pytest tests/ -v

9. Links importantes (desenvolvimento)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfolds-1.0.2.tar.gz (93.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfolds-1.0.2-py3-none-any.whl (110.3 kB view details)

Uploaded Python 3

File details

Details for the file pyfolds-1.0.2.tar.gz.

File metadata

  • Download URL: pyfolds-1.0.2.tar.gz
  • Upload date:
  • Size: 93.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for pyfolds-1.0.2.tar.gz
Algorithm Hash digest
SHA256 03cf543f444184515973a13be87aa872aca462818bb997264c0db962b0f08f58
MD5 73372b252736edfbc3901b4f28ecbdcb
BLAKE2b-256 416a758b9160b04a5d6b2a6b5a7701f6fc91c92108023487ba86513e76064158

See more details on using hashes here.

File details

Details for the file pyfolds-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pyfolds-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 110.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for pyfolds-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6a848599c20561bcb98d677b6008eddc342cdd07e144f853e188dd86cbe7b4f2
MD5 73e89bd6e361b5e3b9a89caf7f907e6f
BLAKE2b-256 87404e0d791286ea603fafd96a68db89178c697d47078db7d6ff779ff58a402d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page