Joan Perez

About Joan Perez

Joan Perez is an independent quantitative geographer and AI researcher, founder of Urban Geo Analytics. His work focuses on the intersection of artificial intelligence, geospatial data science, and urban analytics, with research spanning urban morphology, demographic dynamics, remote sensing, and machine learning. He develops computational methods and open-source tools to better understand cities and support data-driven urban planning.

UVLM v4.0.0 — Gemma 4, the Transformers 5 Migration, and Why This One Is a Major Version

Highlights New model family: Gemma 4 (Google [...]

By |2026-08-17T07:53:45+00:00August 17, 2026|Categories: Advanced, Package, Python, Vision Language Model|Tags: , , , , |0 Comments

UVLM v3.2.0 — InternVL3.5 Joins the Registry, With Zero Notebook Changes

UVLM v3.2.0 adds InternVL3.5 (1B–38B, six checkpoints): 21 open VLM checkpoints across 4 families, one Python interface. The new family appeared in the notebooks without a single notebook edit — plus per-model output files for cleaner benchmarking.

By |2026-08-12T08:31:51+00:00August 12, 2026|Categories: Advanced, Package, Python, Vision Language Model|Tags: , , , , |0 Comments

The AI Reading Series · From Perceptrons to Agents · Lecture 2: From Neurons to Machines That Talk: How Connectionism Conquered Language

Part 2 of the AI reading series. The previous post ended with AlexNet's 2012 earthquake in image recognition. This one tells the road to language: how researchers turned words into vectors, taught networks to read sequences, discovered attention — and why, in 2017, eight Google researchers decided attention was all you need.

By |2026-08-11T11:30:18+00:00August 11, 2026|Categories: Getting Started, theory|Tags: , |0 Comments

UVLM v3.1.0 — Qwen3-VL Joins the Registry, With Family-Based Model Selection

UVLM v3.1.0 adds a third model family, Qwen3-VL (2B–32B Instruct), bringing the registry to 15 checkpoints. The notebooks gain a two-level family/model selector, the loader picks BF16 automatically on capable GPUs, and the smallest new model runs in about 2 GB of VRAM. Same three-block workflow, same prompts, one more family to compare.

By |2026-08-13T04:45:03+00:00August 10, 2026|Categories: Advanced, Package, Python, Vision Language Model|Tags: , , , , |0 Comments

The AI Reading Series · From Perceptrons to Agents · Lecture 1: Where Machine Learning Came From — Reading Cardon’s Neurons Spike Back

The first in a reading series taking you from the artificial neuron of 1943 to today's transformers, mixture-of-experts models and agents. Lecture 1 is a preparatory guide to Cardon, Cointet and Mazières' sociological history of AI, with reading strategy and glossary.

By |2026-08-13T04:52:33+00:00July 24, 2026|Categories: Getting Started, theory|Tags: , |0 Comments

Deploy Your Own Local LLM on Low VRAM in 30 Minutes — A Private Chat Assistant in Jupyter

Run a capable large language model entirely on your own machine — private, offline, and with as little as 8 GB of GPU memory. This hands-on guide sets up a clean Python environment, gets CUDA working even on the newest NVIDIA Blackwell cards, loads a 4-bit quantized model from Hugging Face, and builds an interactive chat widget with conversation memory and a live VRAM gauge in JupyterLab. No cloud, no API keys, no data leaving your computer.

By |2026-08-13T05:06:28+00:00June 2, 2026|Categories: Advanced, Python|Tags: , , , , , |0 Comments

SAGAI v2.0 — A Unified Multi-Model Notebook for Streetscape Analysis

SAGAI v2.0 consolidates the full streetscape analysis pipeline into a single Google Colab notebook and replaces the inline LLaVA-only inference code with the UVLM package, enabling multi-model benchmarking across 11 VLM checkpoints. New features include a multi-task prompt builder, consensus validation with majority voting, chain-of-thought reasoning, truncation detection, interactive Folium maps, view-direction filtering, and support for loading existing polygons as study area boundaries.

By |2026-08-05T07:37:31+00:00May 21, 2026|Categories: Advanced, Python, Vision Language Model|Tags: , , , , , , |0 Comments

UVLM v3.0.0: From Colab Notebook to Python Package — Run Vision-Language Models Anywhere

UVLM v3.0.0 turns a Colab notebook into a full Python package. Run vision-language models locally, in notebooks, or scripts with a simple API and no setup complexity.

Introducing UVLM: A Free Tool to Compare AI Models That Understand Images

UVLM is a free, open-source tool for loading, testing, and comparing Vision-Language Models on custom image analysis tasks. Running entirely in Google Colab, it lets researchers and practitioners benchmark multiple AI models using the same prompts and images — no coding, no GPU ownership, no model-specific pipelines. This post explains what VLMs are, why comparing them matters, and how to get started in five minutes.

From Large Language Models to Autonomous AI Agents — Architecture, Capabilities, and Emerging Risks

Large Language Models are stateless, single-pass prediction engines — powerful but passive. Wrapping them in a perception–action loop with environment access and tool use transforms them into something qualitatively different: autonomous AI agents. This post walks through the transformer architecture, explains how the agent paradigm introduces closed-loop reasoning over environments and tasks, surveys the growing toolkit ecosystem, and examines the emerging risk landscape.

By |2026-08-05T07:38:48+00:00February 19, 2026|Categories: Advanced|Tags: , , , , , |1 Comment