XForge SDK 🧠💻
XForge SDK is a specialized Python library for simulating the execution of Deep Learning models (like YOLO) on Neuromorphic X2 hardware. It provides tools for image preprocessing, neural network weight binarization, and hardware performance benchmarking.
🚀 Features
- YOLO Integration: Extract weights directly from YOLO26n models for hardware analysis.
- Crossbar Mapping: Automatically format weights into Signed or Unsigned 64x64/64x32 crossbar grids.
- Hardware Simulation: Benchmarks PE (Processing Element) utilization, operation counts, and L2 buffer writes.
- Image Processing & Post-processing: Handles standardized RGB channel splitting and hardware-aligned resizing for neuromorphic inputs, alongside hardware-friendly decoding of prediction coordinates and feature maps.
🛠 Installation
Install the latest version:
pip install XForge-SDK==0.1.2
📖 Quick Start
import streamlit as st
import numpy as np
from XForge_SDK import NeuromorphicSimulator, ImageProcessor, YOLOWrapper
# Page Config
st.set_page_config(page_title="XForge SDK Dashboard", layout="wide")
# 1. Initialize SDK Components
# These replace the manual logic previously scattered in app.py and user.py
@st.cache_resource
def init_sdk():
return {
"sim": NeuromorphicSimulator(num_pes=64),
"processor": ImageProcessor(),
"yolo": YOLOWrapper('yolon26n.pt')
}
sdk = init_sdk()
st.title("🎯 YOLO26N: Neuromorphic Analysis SDK")
st.markdown("---")
uploaded_file = st.file_uploader("Upload Image", type=["jpg", "png"])
if uploaded_file:
# 2. Use ImageProcessor for standardized loading
img_array, channels = sdk["processor"].load_rgb_image(uploaded_file)
col1, col2 = st.columns([2, 1])
with col1:
st.subheader("Object Detection")
results = sdk["yolo"].predict(img_array)
st.image(results[0].plot(), caption="Detection Results")
🧪 Development & Testing
Run the test suite after installation:
If using the Streamlit Dashboard:
streamlit run app.py
🤝 Contributing
For internal use by BM Labs. Please ensure all hardware-specific logic is validated against the NeuromorphicX2 core modules before pushing updates.
Release files for xforgesdk 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xforgesdk-0.1.2.tar.gz | 395.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xforgesdk-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 796.0 kB
Release files / xforgesdk-0.1.2.tar.gz
| Download URL | xforgesdk-0.1.2.tar.gz |
|---|---|
| Size | 395.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
099c8fc694b5069285ec2a9d9f38434195b8f64b798798d2ae7ea95af24a1066
|
|
BLAKE2b-256 checksum How to use checksums |
8f3d835cd6d5c8ac19708add6ac091b4e8ab537660708b97b55afcfb26d8a676
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / xforgesdk-0.1.2-py3-none-any.whl
| Download URL | xforgesdk-0.1.2-py3-none-any.whl |
|---|---|
| Size | 400.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
008e0dcf74af6e4bad2e316b3fefcbe208db4ca41112274b8fffcd30ce27918a
|
|
BLAKE2b-256 checksum How to use checksums |
3aadd9154cf8d5f628f14e6e565b8bc94ba7ec6dd0f62417fe1a364c00db98c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|