Skip to main content

nn3d

Sinir aglarini tarayicida canli 3D olarak izle. Egitim sirasinda her katmanin aktivasyonu ve her baglantinin agirligi gercek zamanli akar.

import nn3d

nn3d.show(model)                                       # tarayici acilir
model.fit(X, y, callbacks=[nn3d.Monitor(X[:1])])       # egitim canli akar

Notebook'ta calisiyorsan baska hicbir sey gerekmez. Duz bir .py betiginde betik bitince surec de biter; sonuna nn3d.wait() ekle.

Kurulum

pip install -e .

Kullanmak icin Node.js gerekmez — 3D cizici derlenmis halde paketin icinde gelir. Node yalnizca ciziciyi degistirmek istersen lazim (asagi bak).

Ne gorursun

  • Katman kartlari — ad, noron/kanal sayisi, tensor sekli, [ReLU] gibi aktivasyon
  • Noronlar — parlaklik ve buyukluk o anki aktivasyonu gosterir
  • Baglantilar — turkuaz pozitif, kizil negatif agirlik; parlaklik |agirlik| × kaynak aktivasyonu
  • Giris/cikis etiketleri — ozellik adlarin ("Hunger Level", "Fox Distance") aktivasyona gore renklenir
  • Fare ile uzerine gel — o noronun butun baglantilari altin sariya doner, gerisi soner
  • Metriklerloss, accuracy, val_loss… sag ustte canli

API

nn3d.show(model, ...)

Modeli cizer ve tarayiciyi acar. View dondurur.

parametre ne ise yarar
sample verilirse ilk kare hemen gonderilir, ekran bos kalmaz
input_labels giris noronlarinin adlari (ozellik sutunlarin)
output_labels cikis noronlarinin adlari (sinif adlarin)
max_neurons katman basina cizilecek nokta sayisi (varsayilan 16)
port varsayilan 8092; doluysa otomatik bos porta gecer
open_browser False yaparsan sadece URL basar

nn3d.Monitor(sample, every=20, ...)

Keras callback'i. model.fit(callbacks=[...]) icine koy.

every her N batch'te bir kare gonderir. Her batch'te ekstra ileri yayilim yapmak egitimi olculebilir sekilde yavaslatir; 20 akici gorunur ve maliyeti ihmal edilebilir.

View.update(x, metrics=..., epoch=...)

Kendi dongunu yaziyorsan (RL, ozel egitim adimi) kareyi elle gonder.

Sanallastirma — ekranda gordugun gercek mi?

Evet, ama hepsi degil. Dense(3072) katmanini 3072 nokta cizmek hem okunmaz hem de onceki katmanla arasinda 2.3 milyon kenar demektir; tarayici kilitlenir.

Bu yuzden her katmandan esit araliklarla max_neurons kadar temsilci noron secilir; aktivasyonlar ve agirliklar ayni indislere gore kirpilir. Yani ekrandaki her nokta ve her cizgi gercek bir noron/agirliktir — uydurma yok, sadece bir alt kume. Bir noronun uzerine geldiginde ipucu kutusu gercek noron numarasini yazar (noron 1847 / 3072), boylece hangi alt kumeye baktigini bilirsin.

Desteklenen katmanlar (Keras 3)

Dense · Conv1D/2D/3D · Conv2DTranspose · SeparableConv2D · LSTM · GRU · SimpleRNN · Flatten · Reshape · Dropout · BatchNormalization · LayerNormalization · MaxPooling* · AveragePooling* · Activation · LeakyReLU · ReLU · Softmax · Embedding

Agirliklar gorsellestirme icin (giris_birimi, cikis_birimi) matrisine indirgenir: konvolusyon cekirdekleri uzamsal eksenler uzerinde toplanir, LSTM/GRU kapilari ortalanir. Amac sayisal dogruluk degil, baglantinin isareti ve siddeti.

Mimari

Keras modeli ──build_graph()──▶ graph.json ──┐
                                              ├─▶ stdlib HTTP + SSE ──▶ Three.js cizici
ActivationTap.read(x) ──────▶ kare (base64 f32) ┘         (:8092)          (tarayici)
  • Sifir bagimlilik. Sunucu tamamen Python standart kutuphanesi. Akis icin WebSocket yerine SSE kullaniliyor: akis tek yonlu (Python → tarayici), SSE tam bunun icin var, http.server ile calisir ve baglanti koptugunda kendi kendine yeniden baglanir. WebSocket ya harici bir paket ya da el yazmasi handshake isterdi; ikisi de "pip install nn3d yeter" hedefini bozardi.
  • Cizici modeli bilmez, sadece src/nn3d/schema.py'deki semayi bilir. Bu yuzden ayni kod hem 10 noronluk bir oyun ajanini hem 12 blokluk bir transformer'i cizer. Baska bir cerceve (PyTorch, Unity, JS oyun) eklemek icin yeni bir cizici degil, sadece yeni bir adapter yazmak yeterli.
  • Tek geometri. Butun kenarlar tek bir LineSegments, butun noronlar tek bir Points. Her karede yalnizca renk tamponu guncellenir; geometri hic degismez.

Ciziciyi degistirmek

cd viewer
npm install
npm run dev      # canli gelistirme (once Python sunucusunu ayri calistir)
npm run build    # src/nn3d/static/index.html icine derler

Derlenmis cikti pakete dahildir, bu yuzden npm run build ciktisini da commit'lemek gerekir.

Ornekler

dosya ne
examples/nn3d_baslangic.ipynb Bastan sona rehber: statik gorunum, canli egitim, elle kare gonderme, sanallastirma
examples/churn_canli.py Duz betik ornegi (nn3d.wait() kullanimi)
examples/kurs/ FNN / CNN / RNN / GAN kurs notebook'lari, nn3d eklenmis hali
PYTHONPATH=src python examples/churn_canli.py

Download files

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

Source Distribution

nn3d-0.1.0.tar.gz (272.8 kB view details)

Uploaded Source

Built Distribution

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

nn3d-0.1.0-py3-none-any.whl (200.9 kB view details)

Uploaded Python 3

File details

Details for the file nn3d-0.1.0.tar.gz.

File metadata

  • Download URL: nn3d-0.1.0.tar.gz
  • Upload date:
  • Size: 272.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for nn3d-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9408b568cadb42d1bdf0b4fac3a1e4e1d656f72f5a5491859d685ddf73a136c7
MD5 c5a7c2769efe5cd850c30f9b7aa099dc
BLAKE2b-256 c16dec185f15774288bf13786004da82b94fd21f1a0a6e96f2383f584ab82bf9

See more details on using hashes here.

File details

Details for the file nn3d-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nn3d-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 200.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for nn3d-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf31c5fa27b325af7271f31ebdfc6ffc7168e65f5a097824038870ceebce2eca
MD5 fbb9ae98eb2bc7bd79031453d95bf2c9
BLAKE2b-256 1b434351b2dab11e9a59425d4f98cfc118f5f310095cd73e2b8cccfe6a184f2b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page