Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ESA Phi-lab and PyNAS banner

CIPython 3.11+VersionLicense: Apache 2.0Zenodo DOI pending

PyNAS

PyNAS is a Python framework for Neural Architecture Search (NAS) experiments focused on resource-constrained, edge-deployable deep learning models. The project is developed by ESA Phi-lab with Little Place Lab and targets workflows where model accuracy, memory footprint, and deployment cost must be considered together.

Why PyNAS

PyNAS provides building blocks for evolutionary NAS experiments, with an emphasis on compact neural networks for onboard and edge AI use cases.

AreaWhat is included
Architecture generationUtilities for generating, parsing, and rebuilding architecture codes
Search operatorsGenetic mutation and single-point crossover primitives
Model blocksConvolutional, pooling, activation, residual, classifier, and U-Net components
Training utilitiesPyTorch Lightning modules, segmentation losses, metrics, and early stopping helpers
Data utilitiesHugging Face dataset download helper with retry handling

Project Status

ItemStatus
Package nameesa-pynas
Version0.1.2
Python support>=3.11,<3.15
DistributionLocal checkout; PyPI publication planned
LicenseApache 2.0
Development statusAlpha / research preview

Installation

PyNAS uses uv for reproducible dependency management. From a local checkout:

uv sync --locked

For development and verification:

uv sync --locked --dev
uv run pytest
uv run ruff format --check src scripts data tests
uv run ruff check src scripts data tests

The default lock configuration uses CPU PyTorch wheels for deterministic Windows, Linux, and macOS CI environments. For CUDA-enabled training workloads, install the PyTorch wheel index that matches your driver and hardware before running experiments.

Quick Start

Generate and inspect a candidate architecture code:

frompynas.core.architecture_builderimport (
generate_code_from_parsed_architecture,
generate_random_architecture_code,
parse_architecture_code,
)
architecture_code=generate_random_architecture_code()
parsed_architecture=parse_architecture_code(architecture_code)
round_tripped_code=generate_code_from_parsed_architecture(parsed_architecture)
print(architecture_code)
print(round_tripped_code)

Use the public package interface for training-related utilities:

frompynasimport (
CategoricalCrossEntropyLoss,
GenericLightningSegmentationNetwork,
Individual,
calculate_iou,
)

Data

The burned-area segmentation dataset referenced by this project is hosted on Hugging Face:

Install the optional data dependencies and run the downloader:

uv sync --locked --extra data
uv run python data/download_hf_datasets.py

The downloader supports dataset and model repositories from the Hugging Face Hub, retry handling for transient network failures, progress reporting, and custom local output directories. Edit the repo_ids list in data/download_hf_datasets.py to change the default download targets.

Repository Layout

.
├── data/ # Dataset download utilities and data notes
├── docs/ # Documentation assets and static documentation files
├── examples/ # Usage examples and demos
├── notebooks/ # Experiment and walkthrough notebooks
├── papers/ # Research manuscript assets
├── scripts/ # Training and data-loading scripts
├── src/pynas/ # PyNAS Python package
│ ├── blocks/ # Neural network building blocks
│ ├── core/ # Architecture, population, configuration, and model logic
│ ├── opt/ # Evolutionary optimization operators
│ └── train/ # Losses, metrics, and training helpers
└── tests/ # Unit and integration tests

Research Context

Spaceborne edge computing enables AI-capable CubeSats to process data onboard, reduce downlink pressure, and operate with greater autonomy. These systems face strict memory, power, and latency constraints, so model design must account for both predictive performance and deployment cost.

PyNAS explores evolutionary Neural Architecture Search for this setting. The framework is designed around compact segmentation architectures and hardware-aware optimization for CubeSat-class platforms such as NVIDIA Jetson AGX Orin and Intel Movidius Myriad X targets.

The research motivation and validation details are described in the accompanying Scientific Reports article, "Optimizing deep learning models for on-orbit deployment through neural architecture search" (DOI: 10.1038/s41598-025-21467-8).

Documentation

Citation

If you use PyNAS in academic work, cite the Scientific Reports paper below. Add the Zenodo software citation as well once the project DOI is published.

@article{delprete2025pynas,
title = {Optimizing deep learning models for on-orbit deployment through neural architecture search},
author = {Del Prete, Roberto and Thind, Parampuneet Kaur and Mazzeo, Andrea and Whitley, Matthew and Papa, Lorenzo and Long{\'e}p{\'e}, Nicolas and Meoni, Gabriele},
journal = {Scientific Reports},
volume = {15},
pages = {37783},
year = {2025},
doi = {10.1038/s41598-025-21467-8},
url = {https://doi.org/10.1038/s41598-025-21467-8}
}

Authors

Little Place Lab logo

License

This project is licensed under the Apache License 2.0. See LICENSE for the full license text.

About

Evolutionary framework for edge AI deployment on satellites

Resources

Stars

24 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages