{"slug": "i-build-webgpu-pytorch-debugger-dataset-browser-and-numpy-viewer", "title": "I build WebGPU PyTorch debugger, dataset browser and NumPy viewer", "summary": "Svetovid, a new WebGPU-powered tool, enables real-time visualization and debugging of PyTorch models, NumPy arrays, and large datasets directly in the browser. The tool supports interactive exploration of neural network architectures, activation inspection, and streaming of HuggingFace datasets, with examples showing integration with GPT-2, DETR, and convolutional layers.", "body_md": "Get empowered by **Svetovid**, whose four heads represent omniscience: the ability to see through space and time in all directions at once.\nMaintain unified perspective across your tensors, models, and massive datasets.\nPeer into the architecture of your neural networks and navigate high-dimensional data with absolute clarity.\n\narray_inspector.py\n\n## NumPy Inspector\n\nVisualize any NumPy array with instant dimension awareness. Support for high-dimensional, large arrays.\n\n``` python\nimport svetoviz_webgpu as sv\n\ndata = np.random.rand(4, 4, 32, 32).astype(np.float32)\n\nsv.array(data, gap_size=10)\n```\n\n[Learn More](content/guides/numpy.html)\n\npytorch_debugger.py\n\n## PyTorch Debugger\n\nDirectly load your PyTorch module, interact, and debug activations in real-time.\n\n``` python\nimport svetoviz_webgpu as sv\n\nimg = Image.open(\"sample_image.jpg\").convert(\"RGB\")\nimg_np = np.array(img).astype(np.float32) / 255.0\n\n# Rearrange from (H, W, C) to (C, H, W) and add batch dim\ninput_tensor = torch.from_numpy(img_np).permute(2, 0, 1).unsqueeze(0)\n\n# 2. Define the 2D Convolutional module\nconv2d = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)\n\ndef terminal_callback(buffer, message, images, files):\n    # 3. Process the image through the module\n    output = conv2d(input_tensor)\n\n    # Log the feature map shape to the Svetoviz terminal\n    buffer.send_system_message(f\"Processed image. Shape: {list(output.shape)}\")\n\n# 4. Start the interactive session\nsv.pytorch(module=conv2d, terminal_callback=terminal_callback)\n```\n\n[Learn More](content/guides/pytorch.html)\n\nmodel_viewer.py\n\n## Model Analysis\n\nDeep-dive into model architecture. Explore layers down to a single parameter.\n\n``` python\nimport svetoviz_webgpu as sv\n\nimage_processor = DetrImageProcessor.from_pretrained(\n    \"facebook/detr-resnet-50\",\n    revision=\"no_timm\",\n    device_map=\"cpu\")\nmodel = DetrForObjectDetection.from_pretrained(\n    \"facebook/detr-resnet-50\",\n    revision=\"no_timm\",\n    device_map=\"cpu\")\n\nsv.model(\n    model=model,\n    image_processor=image_processor\n)\n```\n\n[Learn More](content/guides/models.html)\n\nmodel_debug.py\n\n## Model Debugger\n\nInteract with your model and investigate activations in real-time.\n\n``` python\nimport svetoviz_webgpu as sv\n\ntokenizer = GPT2Tokenizer.from_pretrained('gpt2', device_map=\"cpu\")\nmodel = GPT2LMHeadModel.from_pretrained('gpt2', device_map=\"cpu\")\n\ndef terminal_callback(buffer, message, images, files):\n    text = message  # \"Replace me by any text you'd like.\"\n    buffer.send_user_message(text)\n    inputs = tokenizer(text, return_tensors=\"pt\")\n\n    # Generate continuation\n    outputs = model.generate(**inputs, max_new_tokens=50)\n\n    # Decode to string\n    decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)\n    buffer.send_system_message(decoded)\n\nsv.model(\n    model=model,\n    tokenizer=tokenizer,\n    terminal_callback=terminal_callback\n)\n```\n\n[Learn More](content/guides/models.html)\n\ndataset_handler.py\n\n## Dataset Explorer\n\nEfficiently stream and visualize large-scale HuggingFace datasets from local storage or remote server.\n\n``` python\nimport svetoviz_webgpu as sv\n\nhf_name = \"eltorio/ROCOv2-radiology\"\ndataset = load_dataset(hf_name, split=\"train\")\nview = DatasetView(\n    name=hf_name,\n    dataset=dataset,\n    image_columns=[\"image\"],\n    cell_width=400,\n    cell_height=400\n)\nsv.save_to_disc(view=view,\n                compression=\"png_0\",\n                directory=f\"/Volumes/Untitled/{hf_name}\")\n\nsv.load_from_disc(directory=f\"/Volumes/Untitled/{hf_name}\")\n```\n\n[Learn More](content/guides/datasets.html)\n\nimage_browser.py\n\n## Image Browser\n\nBrowse through massive collections of images regardless of resolution.\n\n``` python\nimport svetoviz_webgpu as sv\n\nview = DirectorySpiralView(directory=\"/Desktop/nasaimages\")\n\nsv.save_to_disc(view=view,\n                compression=\"jpeg_0\",\n                directory=\"/Volumes/Untitled/universe\")\n\nsv.load_from_disc(directory=\"/Volumes/Untitled/universe\")\n```\n\n[Learn More](content/guides/images.html)\n\nInstallation", "url": "https://wpnews.pro/news/i-build-webgpu-pytorch-debugger-dataset-browser-and-numpy-viewer", "canonical_source": "https://svetoviz.com", "published_at": "2026-07-22 07:13:49+00:00", "updated_at": "2026-07-22 07:22:07.969913+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "machine-learning", "ai-tools"], "entities": ["Svetovid", "PyTorch", "NumPy", "HuggingFace", "GPT-2", "DETR", "WebGPU"], "alternates": {"html": "https://wpnews.pro/news/i-build-webgpu-pytorch-debugger-dataset-browser-and-numpy-viewer", "markdown": "https://wpnews.pro/news/i-build-webgpu-pytorch-debugger-dataset-browser-and-numpy-viewer.md", "text": "https://wpnews.pro/news/i-build-webgpu-pytorch-debugger-dataset-browser-and-numpy-viewer.txt", "jsonld": "https://wpnews.pro/news/i-build-webgpu-pytorch-debugger-dataset-browser-and-numpy-viewer.jsonld"}}