Skip to main content

High-Performance Computer Vision & Deep Learning Framework in C++ & CUDA with PyTorch Parity

Project description

🌌 newton-vision

PyTorch ekosistemiyle birlikte çalışabilen, deneysel araştırmalar ve eğitim amacıyla geliştirilen, C++17 ve CUDA çekirdekli hafif bir derin öğrenme framework'üdür.

PyPI Version License: MIT


❓ 5 Temel Soruda newton-vision

1. Bu Proje Nedir?

newton-vision, yönlü türev grafı (Autograd), evrişimsel sinir ağları (CNN), Vision Transformer (ViT) ve INT8 Kuantizasyon motorunu sıfırdan C++17, CUDA ve Python ile gerçekleyen şeffaf bir derin öğrenme framework'üdür.

2. Neden Var?

Derin öğrenme algoritmalarının arkasındaki matematiksel ve donanımsal mantığı (L1/L2 Cache Locality, SIMD AVX2, Topolojik Autograd Sıralaması) şeffaf bir şekilde göstermek, deneyler yapmak ve C++ ortamında bağımsız hızlı çıkarım (inference) çalıştırmak için geliştirilmiştir.

3. Kim Kullanmalı?

  • Derin öğrenme motorlarının mutfağını ve C++ donanım ivmelendirmesini öğrenmek isteyen araştırmacılar ve öğrenciler.
  • PyTorch'ta eğittiği modelleri Python bağımlılığı olmadan C++ ortamında veya INT8 kuantize olarak çalıştırmak isteyen mühendisler.

4. Kim Kullanmamalı?

  • Petabaytlarca veri üzerinde binlerce GPU ile devasa LLM (Large Language Model) veya üretim dağıtık eğitimi yapmayı hedefleyen büyük endüstriyel dağıtık sistem ekipleri (PyTorch / JAX kullanmaya devam etmelidirler).

5. PyTorch İle İlişkisi Ne?

newton-vision, PyTorch'un bir rakibi veya "katili" değildir. PyTorch .pth state_dict ağırlıklarını birebir yükleyebilen, PyTorch ekosistemiyle uyumlu çalışan bir kardeş altyapıdır.


🔬 Araştırma & Deney Notları (research/)

  • 0001-im2col-vs-direct-conv.md: im2col + GEMM L1/L2 Önbellek Verimliliği ve 10x Hızlanma Analizi.
  • 0003-int8-quantization.md: Per-Channel INT8 Kuantizasyon ve Outlier İzolasyon Matematiği.

📊 Şeffaf & Bilimsel Benchmark Sonuçları

Intel64 Family 6 (12 Threads) üzerinde PyTorch v2.6.0 CPU ile dürüst ve istatistiksel karşılaştırma:

Model Framework Mean (ms) Std (ms) Min (ms) Max (ms) FPS Karşılaştırma
ViT-Tiny (Transformer) newton-vision 210.62 ±18.33 174.47 240.62 4.7 2.28x Hızlı 🚀
PyTorch CPU 472.23 ±29.48 458.22 585.02 2.1 Base
ResNet-18 newton-vision 119.95 ±12.37 98.28 146.52 8.3 4.63x Yavaş
PyTorch CPU 25.90 ±0.77 24.97 27.74 38.6 Base
MobileNetV2 newton-vision 4842.70 ±819.54 3619.07 7078.85 0.2 81.01x Yavaş
PyTorch CPU 59.78 ±2.94 54.99 66.91 16.7 Base

🚀 Hızlı Başlangıç (Quick Start)

pip install newton-vision
import newton_vision as nv
import numpy as np

# 1. Tensör Tanımlama
x = nv.Tensor(np.random.randn(1, 3, 224, 224), requires_grad=True)

# 2. Vision Transformer Modeli
model = nv.models.vit_tiny(num_classes=1000)

# 3. İleri Geçiş (Forward Pass)
logits = model(x)
print("Logits Shape:", logits.data.shape) # (1, 1000)

📂 Örnekler & Öğreticiler (Examples vs Tutorials)

⚡ Örnek Projeler (examples/):

  • 01_image_classification_lenet.py: MNIST Görsel Sınıflandırma
  • 02_resnet18_pytorch_weights.py: PyTorch Ağırlık Aktarımı
  • 03_vit_transformer_inference.py: Vision Transformer (ViT) Çıkarımı
  • 04_int8_quantization_demo.py: INT8 Kuantizasyon Demosu
  • 05_onnx_export_guide.py: ONNX Export Rehberi

🎓 Derin Öğreticiler (tutorials/):

  • 01_train_mnist.py: Tekrarlanabilir MNIST Eğitimi & INT8 Accuracy Drop Deneyi
  • live_3stage_demo.py: 3 Aşamalı Canlı Karşılaştırma, Hibrit Kullanım & Saf Eğitim

📜 Yönetişim & Dokümantasyon

  • CONTRIBUTING.md: Katkı Sağlama Rehberi ve PR İlkeleri
  • SECURITY.md: Güvenlik Politikası ve Bildirim Yöntemleri
  • CHANGELOG.md: Semantik Sürüm Geçmişi ve Değişiklik Notları
  • WIKI.md: GitHub Wiki & Genel Mimari Kılavuzu

📜 Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.

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

newton_vision-1.1.3.tar.gz (70.5 kB view details)

Uploaded Source

Built Distribution

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

newton_vision-1.1.3-cp313-cp313-win_amd64.whl (225.5 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file newton_vision-1.1.3.tar.gz.

File metadata

  • Download URL: newton_vision-1.1.3.tar.gz
  • Upload date:
  • Size: 70.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for newton_vision-1.1.3.tar.gz
Algorithm Hash digest
SHA256 6c2d4d0ded244efd97ac4d548f0c07d7fc767552a74cfb1ee68e63a3cd69455e
MD5 338029e0229d18dd975c79ea04722976
BLAKE2b-256 205c9b941d3dd4495f52c1a26e00967f14ddcd977620bb57951bc09424cf4134

See more details on using hashes here.

File details

Details for the file newton_vision-1.1.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for newton_vision-1.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 277bb74c3f9f9631bfcd8772ab79632b3eacecb70df2bf63cee845a837b46346
MD5 4106ba00b3e0bbd89e00a690d3ff139e
BLAKE2b-256 91f4d17b01ede100e35787318460c104a9fb31c33da684561a90d020039e8cfe

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