From 4a849c861b950bc405fd66f7996d3b68f2d5520b Mon Sep 17 00:00:00 2001 From: Drew Date: Tue, 17 Mar 2026 17:24:13 -0700 Subject: [PATCH 1/6] WIP - Investigating external dataset usage. --- docs/_static/HyraxCNN_vs_VGG11.png | Bin 0 -> 69246 bytes docs/pre_executed/dataset_usage_example.ipynb | 295 ++++++++++++++++++ pyproject.toml | 1 + .../datasets/galaxy10_dataset.py | 58 ++++ .../default_config.toml | 10 +- src/external_hyrax_example/models/vgg11.py | 11 +- 6 files changed, 372 insertions(+), 3 deletions(-) create mode 100644 docs/_static/HyraxCNN_vs_VGG11.png create mode 100644 docs/pre_executed/dataset_usage_example.ipynb create mode 100644 src/external_hyrax_example/datasets/galaxy10_dataset.py diff --git a/docs/_static/HyraxCNN_vs_VGG11.png b/docs/_static/HyraxCNN_vs_VGG11.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d5e320aba76f2a4722bed622befa665e5e78c4 GIT binary patch literal 69246 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
  • *!9I$LCyH6^vTe((KdUBFQM)9 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 literal 0 HcmV?d00001 diff --git a/docs/pre_executed/dataset_usage_example.ipynb b/docs/pre_executed/dataset_usage_example.ipynb new file mode 100644 index 0000000..6c9a33a --- /dev/null +++ b/docs/pre_executed/dataset_usage_example.ipynb @@ -0,0 +1,295 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "42dfb8e1", + "metadata": {}, + "source": [ + "# Dataset Usage Example\n", + "\n", + "This notebook demonstrates the use of a dataset class defined outside of Hyrax that is used to train 1) the HyraxCNN model\n", + "and 2) the local VGG11 model." + ] + }, + { + "cell_type": "markdown", + "id": "411d03bc", + "metadata": {}, + "source": [ + "We'll download the Galaxy10 dataset from AstroNN to use in this example. It's a collection of ~23k labeled galaxy images from 10 possible classes.\n", + "\n", + "More info here: https://github.com/henrysky/astroNN and here: https://astronn.readthedocs.io/en/stable/galaxy10sdss.html" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c5817aa3", + "metadata": {}, + "outputs": [], + "source": [ + "import pooch\n", + "\n", + "file_path = pooch.retrieve(\n", + " # DOI for Example HSC dataset\n", + " url=\"http://www.astro.utoronto.ca/~bovy/Galaxy10/Galaxy10.h5\",\n", + " known_hash=\"sha256:969A6B1CEFCC36E09FFFA86FEBD2F699A4AA19B837BA0427F01B0BC6DED458AF\",\n", + " fname=\"Galaxy10.h5\",\n", + " path=\"./data/galaxy_10\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c027bd3b", + "metadata": {}, + "outputs": [], + "source": [ + "from hyrax import Hyrax\n", + "\n", + "h = Hyrax()" + ] + }, + { + "cell_type": "markdown", + "id": "ff9b0ab4", + "metadata": {}, + "source": [ + "We'll specify that we want to use the local Galaxy10 dataset class." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "0e144812", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2026-03-17 17:11:42,576 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n", + "[2026-03-17 17:11:42,583 hyrax.config_utils:WARNING] Runtime config contains key or section 'data_request' which has no default defined. All configuration keys and sections must be defined in /home/drew/code/hyrax/src/hyrax/hyrax_default_config.toml\n" + ] + } + ], + "source": [ + "data_request = {\n", + " \"train\": {\n", + " \"data\": {\n", + " \"dataset_class\": \"external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset\",\n", + " \"data_location\": \"/home/drew/code/external_hyrax_example/docs/pre_executed/data/galaxy_10\",\n", + " \"fields\": [\"image\", \"label\"],\n", + " \"primary_id_field\": \"object_id\",\n", + " \"split_fraction\": 0.8,\n", + " # \"dataset_config\": {\n", + " # \"channels_first\": True,\n", + " # },\n", + " },\n", + " },\n", + " \"validate\": {\n", + " \"data\": {\n", + " \"dataset_class\": \"external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset\",\n", + " \"data_location\": \"/home/drew/code/external_hyrax_example/docs/pre_executed/data/galaxy_10\",\n", + " \"fields\": [\"image\", \"label\"],\n", + " \"primary_id_field\": \"object_id\",\n", + " \"split_fraction\": 0.2,\n", + " # \"dataset_config\": {\n", + " # \"channels_first\": True,\n", + " # },\n", + " },\n", + " },\n", + "}\n", + "\n", + "h.set_config(\"data_request\", data_request)\n", + "\n", + "# h.set_config(\"external_hyrax_example.galaxy10_dataset.channels_first\", True)" + ] + }, + { + "cell_type": "markdown", + "id": "b53b5634", + "metadata": {}, + "source": [ + "We'll start by training the HyraxCNN model. This model is from the Hyrax package." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f37265bb", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2026-03-17 17:11:42,614 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n" + ] + } + ], + "source": [ + "h.set_config(\"model.name\", \"HyraxCNN\")" + ] + }, + { + "cell_type": "markdown", + "id": "ce9b22cf", + "metadata": {}, + "source": [ + "We'll need to update the prepare_inputs function that HyraxCNN uses because the dimensions of the Galaxy10 images\n", + "are in a different order than what HyraxCNN expects." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cbc62ec9", + "metadata": {}, + "outputs": [], + "source": [ + "@staticmethod\n", + "def prepare_inputs(data_dict):\n", + " import numpy as np\n", + "\n", + " if \"data\" not in data_dict:\n", + " raise RuntimeError(\"Unable to find `data` key in data_dict\")\n", + "\n", + " data = data_dict[\"data\"]\n", + " # rotate the dimensions of the numpy array from (batch_size, H, W, C) to (batch_size, C, H, W)\n", + " image = np.asarray(data[\"image\"], dtype=np.float32)\n", + " if image.ndim == 3: # single data point, convert to (C, H, W)\n", + " image = image.transpose(2, 0, 1)\n", + " else: # batch of data, convert to (batch_size, C, H, W)\n", + " image = image.transpose(0, 3, 1, 2)\n", + "\n", + " label = None\n", + " if \"label\" in data:\n", + " label = np.asarray(data[\"label\"], dtype=np.int64)\n", + "\n", + " return (image, label)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1265691e", + "metadata": {}, + "outputs": [], + "source": [ + "model = h.model()\n", + "model.prepare_inputs = prepare_inputs" + ] + }, + { + "cell_type": "markdown", + "id": "69a6bcf0", + "metadata": {}, + "source": [ + "Train the model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f58f025d", + "metadata": {}, + "outputs": [], + "source": [ + "model = h.train()" + ] + }, + { + "cell_type": "markdown", + "id": "5793b02d", + "metadata": {}, + "source": [ + "Now we'll update the model that we're training to use the locally defined VGG11 model.\n", + "We'll go ahead and update the `prepare_inputs` function for this model as well to appropriately handle\n", + "the dimensions of the Galaxy10 data." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "6116906c", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2026-03-17 17:12:32,021 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n" + ] + } + ], + "source": [ + "h.set_config(\"model.name\", \"external_hyrax_example.models.vgg11.VGG11\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1797a069", + "metadata": {}, + "outputs": [], + "source": [ + "model = h.model()\n", + "model.prepare_inputs = prepare_inputs" + ] + }, + { + "cell_type": "markdown", + "id": "d163c8c5", + "metadata": {}, + "source": [ + "Now we'll train the VGG11 model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f4e3d40", + "metadata": {}, + "outputs": [], + "source": [ + "model = h.train()" + ] + }, + { + "cell_type": "markdown", + "id": "392e6401", + "metadata": {}, + "source": [ + "Quick loss comparison between the models.\n", + "\n", + "Orange = HyraxCNN\n", + "Green = VGG11\n", + "\n", + "![loss_values](../_static/HyraxCNN_vs_VGG11.png)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "external-hyrax-example", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml index d1eeb8f..229e576 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,6 +35,7 @@ dev = [ "numpy", # Required by example notebooks "matplotlib", # Required by example notebooks "scikit-learn", # Required by example notebooks (imported as sklearn) + "h5py", # Required by example notebooks ] [build-system] diff --git a/src/external_hyrax_example/datasets/galaxy10_dataset.py b/src/external_hyrax_example/datasets/galaxy10_dataset.py new file mode 100644 index 0000000..9a782a0 --- /dev/null +++ b/src/external_hyrax_example/datasets/galaxy10_dataset.py @@ -0,0 +1,58 @@ +import logging +from pathlib import Path + +import h5py +import numpy as np +from hyrax.data_sets import HyraxDataset + +logger = logging.getLogger(__name__) + + +class Galaxy10Dataset(HyraxDataset): + """Minimal dataset class for the Galaxy10 dataset. This dataset is a collection + of ~22k images of galaxies categorized into 10 classes. The dataset is stored + in an HDF5 file available here: + http://www.astro.utoronto.ca/~bovy/Galaxy10/Galaxy10.h5 + + The dataset is made available by AstroNN: https://github.com/henrysky/astroNN + Deep learning of multi-element abundances from high-resolution spectroscopic data [arXiv:1808.04428] + """ + + def __init__(self, config, data_location): + """Basic initialization with architecture definition""" + self.data_location = Path(data_location) + + # Load the file and get the images and labels + with h5py.File(self.data_location / "Galaxy10.h5", "r") as f: + self.images = np.array(f["images"]) + self.labels = np.array(f["ans"]) + + # The images are stored in (N, H, W, C) format, but if channels_first is + # True, we transpose to (N, C, H, W) + self.channels_first = config["external_hyrax_example"]["galaxy10_dataset"]["channels_first"] + if self.channels_first: + self.images = self.images.transpose(0, 3, 1, 2) + + # used to pad object IDs with leading zeros for consistent sorting and display + n_id = len(self.images) + self.id_width = len(str(n_id)) + + super().__init__(config) + + def __len__(self): + """Returns the number of samples in the dataset""" + return len(self.images) + + def get_object_id(self, index): + """Returns the object ID for the sample at the specified index. + Since this dataset does not have object IDs, we return the index as a string.""" + return f"{index:0{self.id_width}d}" + + def get_image(self, index): + """Returns the image at the specified index""" + # return (self.images[index].transpose(2, 0, 1) / 255.0).astype(np.float32) + return (self.images[index] / 255.0).astype(np.float32) + + def get_label(self, index): + """Returns the label at the specified index""" + return self.labels[index] diff --git a/src/external_hyrax_example/default_config.toml b/src/external_hyrax_example/default_config.toml index 1986bf9..4f53698 100644 --- a/src/external_hyrax_example/default_config.toml +++ b/src/external_hyrax_example/default_config.toml @@ -5,5 +5,13 @@ dropout = 0.5 num_classes = 10 batch_norm = true -# The libpath that would be used for runtime config +# libpath to specify in runtime config when using the vgg11 model # name = "external_hyrax_example.models.vgg11.VGG11" + +[external_hyrax_example.galaxy10_dataset] +# When false, the images will be in (N, H, W, C) format. +# When true, the images will be transposed to (N, C, H, W) format. +channels_first = false + +# libpath to specify in runtime configwhen using the galaxy10 dataset +# name = "external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset" diff --git a/src/external_hyrax_example/models/vgg11.py b/src/external_hyrax_example/models/vgg11.py index 3f341bc..fb4b71b 100644 --- a/src/external_hyrax_example/models/vgg11.py +++ b/src/external_hyrax_example/models/vgg11.py @@ -99,11 +99,18 @@ def test_batch(self, batch): return {"loss": loss.item()} @staticmethod - def prepare_data(data_dict): + def prepare_inputs(data_dict): """Method that converts the data in dictionary into the form the model expects""" - image = data_dict["data"]["image"] + + if "data" not in data_dict: + raise RuntimeError("Unable to find `data` key in data_dict") + + data = data_dict["data"] + + image = data["image"] label = None if "label" in data_dict["data"]: label = data_dict["data"]["label"] + return (image, label) From 43ea880d852fa5970a6db184024d8a43d7933ac8 Mon Sep 17 00:00:00 2001 From: Drew Date: Wed, 1 Apr 2026 12:17:41 -0700 Subject: [PATCH 2/6] Additional polishing after 0.7.0 release. --- docs/_static/HyraxCNN_vs_VGG11.png | Bin 69246 -> 68551 bytes docs/pre_executed/dataset_usage_example.ipynb | 101 +++++++++--------- .../datasets/galaxy10_dataset.py | 2 +- .../default_config.toml | 4 +- src/external_hyrax_example/models/vgg11.py | 6 +- 5 files changed, 56 insertions(+), 57 deletions(-) diff --git a/docs/_static/HyraxCNN_vs_VGG11.png b/docs/_static/HyraxCNN_vs_VGG11.png index d3d5e320aba76f2a4722bed622befa665e5e78c4..69050c2e568b6f9b838f4fd4a81a8fb2e5ee00e1 100644 GIT binary patch literal 68551 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
  • *!9I$LCyH6^vTe((KdUBFQM)9 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 diff --git a/docs/pre_executed/dataset_usage_example.ipynb b/docs/pre_executed/dataset_usage_example.ipynb index 6c9a33a..bdb3839 100644 --- a/docs/pre_executed/dataset_usage_example.ipynb +++ b/docs/pre_executed/dataset_usage_example.ipynb @@ -5,7 +5,7 @@ "id": "42dfb8e1", "metadata": {}, "source": [ - "# Dataset Usage Example\n", + "# Example Usage\n", "\n", "This notebook demonstrates the use of a dataset class defined outside of Hyrax that is used to train 1) the HyraxCNN model\n", "and 2) the local VGG11 model." @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "c027bd3b", "metadata": {}, "outputs": [], @@ -61,19 +61,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "0e144812", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2026-03-17 17:11:42,576 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n", - "[2026-03-17 17:11:42,583 hyrax.config_utils:WARNING] Runtime config contains key or section 'data_request' which has no default defined. All configuration keys and sections must be defined in /home/drew/code/hyrax/src/hyrax/hyrax_default_config.toml\n" - ] - } - ], + "outputs": [], "source": [ "data_request = {\n", " \"train\": {\n", @@ -83,9 +74,13 @@ " \"fields\": [\"image\", \"label\"],\n", " \"primary_id_field\": \"object_id\",\n", " \"split_fraction\": 0.8,\n", - " # \"dataset_config\": {\n", - " # \"channels_first\": True,\n", - " # },\n", + " \"dataset_config\": {\n", + " \"external_hyrax_example\": {\n", + " \"galaxy10_dataset\": {\n", + " \"channels_first\": True,\n", + " },\n", + " },\n", + " },\n", " },\n", " },\n", " \"validate\": {\n", @@ -95,16 +90,18 @@ " \"fields\": [\"image\", \"label\"],\n", " \"primary_id_field\": \"object_id\",\n", " \"split_fraction\": 0.2,\n", - " # \"dataset_config\": {\n", - " # \"channels_first\": True,\n", - " # },\n", + " \"dataset_config\": {\n", + " \"external_hyrax_example\": {\n", + " \"galaxy10_dataset\": {\n", + " \"channels_first\": True,\n", + " },\n", + " },\n", + " },\n", " },\n", " },\n", "}\n", "\n", - "h.set_config(\"data_request\", data_request)\n", - "\n", - "# h.set_config(\"external_hyrax_example.galaxy10_dataset.channels_first\", True)" + "h.set_config(\"data_request\", data_request)" ] }, { @@ -117,22 +114,24 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "f37265bb", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2026-03-17 17:11:42,614 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n" - ] - } - ], + "outputs": [], "source": [ "h.set_config(\"model.name\", \"HyraxCNN\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd59c7a5", + "metadata": {}, + "outputs": [], + "source": [ + "ds = h.prepare()" + ] + }, { "cell_type": "markdown", "id": "ce9b22cf", @@ -144,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "cbc62ec9", "metadata": {}, "outputs": [], @@ -157,23 +156,28 @@ " raise RuntimeError(\"Unable to find `data` key in data_dict\")\n", "\n", " data = data_dict[\"data\"]\n", - " # rotate the dimensions of the numpy array from (batch_size, H, W, C) to (batch_size, C, H, W)\n", " image = np.asarray(data[\"image\"], dtype=np.float32)\n", - " if image.ndim == 3: # single data point, convert to (C, H, W)\n", - " image = image.transpose(2, 0, 1)\n", - " else: # batch of data, convert to (batch_size, C, H, W)\n", - " image = image.transpose(0, 3, 1, 2)\n", + "\n", + " # normalize the image to have mean 0.5 and std 0.5\n", + " image = np.asarray(image, dtype=np.float32)\n", + " mean = np.asarray([0.5, 0.5, 0.5], dtype=np.float32)\n", + " std = np.asarray([0.5, 0.5, 0.5], dtype=np.float32)\n", + "\n", + " mean = mean[:, None, None]\n", + " std = std[:, None, None]\n", + "\n", + " normalized_image = (image - mean) / (std + 1e-8)\n", "\n", " label = None\n", " if \"label\" in data:\n", " label = np.asarray(data[\"label\"], dtype=np.int64)\n", "\n", - " return (image, label)" + " return (normalized_image, label)" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "1265691e", "metadata": {}, "outputs": [], @@ -212,25 +216,17 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "6116906c", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2026-03-17 17:12:32,021 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n" - ] - } - ], + "outputs": [], "source": [ "h.set_config(\"model.name\", \"external_hyrax_example.models.vgg11.VGG11\")" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "1797a069", "metadata": {}, "outputs": [], @@ -259,7 +255,7 @@ }, { "cell_type": "markdown", - "id": "392e6401", + "id": "5bfb204c", "metadata": {}, "source": [ "Quick loss comparison between the models.\n", @@ -267,6 +263,7 @@ "Orange = HyraxCNN\n", "Green = VGG11\n", "\n", + "\n", "![loss_values](../_static/HyraxCNN_vs_VGG11.png)" ] } diff --git a/src/external_hyrax_example/datasets/galaxy10_dataset.py b/src/external_hyrax_example/datasets/galaxy10_dataset.py index 9a782a0..91cb377 100644 --- a/src/external_hyrax_example/datasets/galaxy10_dataset.py +++ b/src/external_hyrax_example/datasets/galaxy10_dataset.py @@ -3,7 +3,7 @@ import h5py import numpy as np -from hyrax.data_sets import HyraxDataset +from hyrax.datasets import HyraxDataset logger = logging.getLogger(__name__) diff --git a/src/external_hyrax_example/default_config.toml b/src/external_hyrax_example/default_config.toml index 4f53698..74fa4da 100644 --- a/src/external_hyrax_example/default_config.toml +++ b/src/external_hyrax_example/default_config.toml @@ -13,5 +13,5 @@ batch_norm = true # When true, the images will be transposed to (N, C, H, W) format. channels_first = false -# libpath to specify in runtime configwhen using the galaxy10 dataset -# name = "external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset" +# libpath to specify in runtime config when using the galaxy10 dataset +# name = "external_hyrax_example.galaxy10_dataset.Galaxy10Dataset" diff --git a/src/external_hyrax_example/models/vgg11.py b/src/external_hyrax_example/models/vgg11.py index fb4b71b..1086bf4 100644 --- a/src/external_hyrax_example/models/vgg11.py +++ b/src/external_hyrax_example/models/vgg11.py @@ -24,10 +24,12 @@ def __init__(self, config, data_sample=None): "VGG11 expected 'data_sample' to be provided at construction time " "so that input channel dimensions can be inferred, but received None." ) + + # This model expects that the first element of the data sample is a batch of images. image_sample = data_sample[0] - self.in_channels, width, height = image_sample.shape - self.config = config + batch_size, self.in_channels, width, height = image_sample.shape + self.config = config dropout = self.config["external_hyrax_example"]["VGG11"]["dropout"] num_classes = self.config["external_hyrax_example"]["VGG11"]["num_classes"] batch_norm = self.config["external_hyrax_example"]["VGG11"]["batch_norm"] From 09534ec5822647aed20fa83d9b9d855688234e0e Mon Sep 17 00:00:00 2001 From: Drew Date: Wed, 1 Apr 2026 14:08:31 -0700 Subject: [PATCH 3/6] Cleaning up the model usage example. --- docs/notebooks.rst | 2 - docs/notebooks/intro_notebook.ipynb | 84 ------------- ..._dataset_and_model_training_example.ipynb} | 62 +++++----- docs/pre_executed/model_usage_example.ipynb | 110 ++++++++---------- 4 files changed, 84 insertions(+), 174 deletions(-) delete mode 100644 docs/notebooks/intro_notebook.ipynb rename docs/pre_executed/{dataset_usage_example.ipynb => external_dataset_and_model_training_example.ipynb} (66%) diff --git a/docs/notebooks.rst b/docs/notebooks.rst index 7f7e544..e842cac 100644 --- a/docs/notebooks.rst +++ b/docs/notebooks.rst @@ -2,5 +2,3 @@ Notebooks ======================================================================================== .. toctree:: - - Introducing Jupyter Notebooks diff --git a/docs/notebooks/intro_notebook.ipynb b/docs/notebooks/intro_notebook.ipynb deleted file mode 100644 index 0589b29..0000000 --- a/docs/notebooks/intro_notebook.ipynb +++ /dev/null @@ -1,84 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "textblock1", - "metadata": { - "cell_marker": "\"\"\"" - }, - "source": [ - "# Introducing Jupyter Notebooks in Sphinx\n", - "\n", - "This notebook showcases very basic functionality of rendering your jupyter notebooks as tutorials inside your sphinx documentation.\n", - "\n", - "As part of the LINCC Frameworks python project template, your notebooks will be executed AND rendered at document build time.\n", - "\n", - "You can read more about Sphinx, ReadTheDocs, and building notebooks in [LINCC's documentation](https://lincc-ppt.readthedocs.io/en/latest/practices/sphinx.html)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "codeblock1", - "metadata": {}, - "outputs": [], - "source": [ - "def sierpinsky(order):\n", - " \"\"\"Define a method that will create a Sierpinsky triangle of given order,\n", - " and will print it out.\"\"\"\n", - " triangles = [\"*\"]\n", - " for i in range(order):\n", - " spaces = \" \" * (2**i)\n", - " triangles = [spaces + triangle + spaces for triangle in triangles] + [\n", - " triangle + \" \" + triangle for triangle in triangles\n", - " ]\n", - " print(f\"Printing order {order} triangle\")\n", - " print(\"\\n\".join(triangles))" - ] - }, - { - "cell_type": "markdown", - "id": "textblock2", - "metadata": { - "cell_marker": "\"\"\"", - "lines_to_next_cell": 1 - }, - "source": [ - "Then, call our method a few times. This will happen on the fly during notebook rendering." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "codeblock2", - "metadata": {}, - "outputs": [], - "source": [ - "for order in range(3):\n", - " sierpinsky(order)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "codeblock3", - "metadata": {}, - "outputs": [], - "source": [ - "sierpinsky(4)" - ] - } - ], - "metadata": { - "jupytext": { - "cell_markers": "\"\"\"" - }, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/pre_executed/dataset_usage_example.ipynb b/docs/pre_executed/external_dataset_and_model_training_example.ipynb similarity index 66% rename from docs/pre_executed/dataset_usage_example.ipynb rename to docs/pre_executed/external_dataset_and_model_training_example.ipynb index bdb3839..21228b9 100644 --- a/docs/pre_executed/dataset_usage_example.ipynb +++ b/docs/pre_executed/external_dataset_and_model_training_example.ipynb @@ -5,10 +5,14 @@ "id": "42dfb8e1", "metadata": {}, "source": [ - "# Example Usage\n", + "# External Dataset and Model Usage Example\n", "\n", - "This notebook demonstrates the use of a dataset class defined outside of Hyrax that is used to train 1) the HyraxCNN model\n", - "and 2) the local VGG11 model." + "This notebook demonstrates how to use dataset and model classes **defined outside of the Hyrax package** within Hyrax's training pipeline. It covers:\n", + "\n", + "- Loading the [Galaxy10 dataset](https://astronn.readthedocs.io/en/stable/galaxy10sdss.html) via a custom `HyraxDataset` subclass (`Galaxy10Dataset`)\n", + "- Training Hyrax's built-in `HyraxCNN` model on that dataset\n", + "- Training a locally-defined `VGG11` model (registered with Hyrax) on the same dataset\n", + "- Comparing training loss between the two models" ] }, { @@ -16,9 +20,11 @@ "id": "411d03bc", "metadata": {}, "source": [ - "We'll download the Galaxy10 dataset from AstroNN to use in this example. It's a collection of ~23k labeled galaxy images from 10 possible classes.\n", + "## Download the Galaxy10 Dataset\n", + "\n", + "The [Galaxy10 dataset](https://astronn.readthedocs.io/en/stable/galaxy10sdss.html) from [AstroNN](https://github.com/henrysky/astroNN) contains ~22k labeled galaxy images across 10 morphological classes. It serves as a stand-in for any external astronomical image dataset.\n", "\n", - "More info here: https://github.com/henrysky/astroNN and here: https://astronn.readthedocs.io/en/stable/galaxy10sdss.html" + "The ~200MB HDF5 file will be downloaded and cached locally via `pooch`." ] }, { @@ -31,7 +37,6 @@ "import pooch\n", "\n", "file_path = pooch.retrieve(\n", - " # DOI for Example HSC dataset\n", " url=\"http://www.astro.utoronto.ca/~bovy/Galaxy10/Galaxy10.h5\",\n", " known_hash=\"sha256:969A6B1CEFCC36E09FFFA86FEBD2F699A4AA19B837BA0427F01B0BC6DED458AF\",\n", " fname=\"Galaxy10.h5\",\n", @@ -56,7 +61,13 @@ "id": "ff9b0ab4", "metadata": {}, "source": [ - "We'll specify that we want to use the local Galaxy10 dataset class." + "## Configure Hyrax\n", + "\n", + "Next we build a `data_request` dictionary that tells Hyrax which dataset class to use, where the data lives, and how to split it between training (80%) and validation (20%).\n", + "\n", + "The key here is `dataset_class` — instead of a built-in Hyrax dataset, we point it at our locally-defined `Galaxy10Dataset` class. Hyrax will import and instantiate it automatically.\n", + "\n", + "We also set `channels_first: True` in the dataset config so the images are provided in `(C, H, W)` order as expected by PyTorch." ] }, { @@ -109,7 +120,9 @@ "id": "b53b5634", "metadata": {}, "source": [ - "We'll start by training the HyraxCNN model. This model is from the Hyrax package." + "## Train HyraxCNN\n", + "\n", + "We'll start by training `HyraxCNN`, a lightweight CNN that ships with Hyrax. We set the model name in config and then call `h.prepare()` to instantiate the data loaders." ] }, { @@ -122,23 +135,12 @@ "h.set_config(\"model.name\", \"HyraxCNN\")" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "bd59c7a5", - "metadata": {}, - "outputs": [], - "source": [ - "ds = h.prepare()" - ] - }, { "cell_type": "markdown", "id": "ce9b22cf", "metadata": {}, "source": [ - "We'll need to update the prepare_inputs function that HyraxCNN uses because the dimensions of the Galaxy10 images\n", - "are in a different order than what HyraxCNN expects." + "HyraxCNN's default `prepare_inputs` expects images in `(C, H, W)` format with standard normalization. Because Galaxy10 images are already in `(C, H, W)` order (we set `channels_first: True` earlier), we override `prepare_inputs` to apply the correct normalization and extract the label — replacing the default implementation before training begins." ] }, { @@ -191,7 +193,7 @@ "id": "69a6bcf0", "metadata": {}, "source": [ - "Train the model" + "With the model configured, we kick off training. Hyrax handles the training loop, validation, and result logging automatically." ] }, { @@ -209,9 +211,11 @@ "id": "5793b02d", "metadata": {}, "source": [ - "Now we'll update the model that we're training to use the locally defined VGG11 model.\n", - "We'll go ahead and update the `prepare_inputs` function for this model as well to appropriately handle\n", - "the dimensions of the Galaxy10 data." + "## Train VGG11\n", + "\n", + "Now we switch to a locally-defined `VGG11` model. This is the key demonstration of using an **externally defined model** with Hyrax — the model is declared in `external_hyrax_example.models.vgg11` and registered with Hyrax via the `@hyrax_model` decorator, so we can reference it by its fully-qualified class path.\n", + "\n", + "We reuse the same `prepare_inputs` override from easier comparison of the results." ] }, { @@ -240,7 +244,7 @@ "id": "d163c8c5", "metadata": {}, "source": [ - "Now we'll train the VGG11 model." + "Train VGG11 using the same data request as before." ] }, { @@ -258,13 +262,13 @@ "id": "5bfb204c", "metadata": {}, "source": [ - "Quick loss comparison between the models.\n", + "## Results\n", "\n", - "Orange = HyraxCNN\n", - "Green = VGG11\n", + "Below is a comparison of training loss between the two models over the same number of epochs. VGG11 is a significantly deeper network and converges to a lower loss on this dataset.\n", "\n", + "![loss_values](../_static/HyraxCNN_vs_VGG11.png)\n", "\n", - "![loss_values](../_static/HyraxCNN_vs_VGG11.png)" + "*Orange = HyraxCNN, Green = VGG11*" ] } ], diff --git a/docs/pre_executed/model_usage_example.ipynb b/docs/pre_executed/model_usage_example.ipynb index 9dd1cdf..45ef0cc 100644 --- a/docs/pre_executed/model_usage_example.ipynb +++ b/docs/pre_executed/model_usage_example.ipynb @@ -5,9 +5,14 @@ "id": "51c98c81", "metadata": {}, "source": [ - "# Model Usage Example\n", + "# External Model Usage Example\n", "\n", - "This notebook demonstrates the use of a model defined outside of the main Hyrax package." + "This notebook demonstrates how to use a model class **defined outside of the Hyrax package** within Hyrax's training and inference pipeline. It covers:\n", + "\n", + "- Registering an external model (`VGG11`) with Hyrax via the `@hyrax_model` decorator\n", + "- Overriding default model configuration parameters at runtime\n", + "- Training the external model using Hyrax's built-in CIFAR-10 dataset\n", + "- Running inference and evaluating classification performance with a confusion matrix" ] }, { @@ -27,25 +32,19 @@ "id": "d0bcaf48", "metadata": {}, "source": [ - "We'll update the configuration to use the VGG11 model defined in this package.\n", - "After specifying the model, we'll update one of the model parameters, enabling batch normalization." + "## Configure the Model\n", + "\n", + "To use an externally defined model, set `model.name` to the fully-qualified class path of your model. Hyrax will import and instantiate it automatically — the only requirement is that the class is decorated with `@hyrax_model`.\n", + "\n", + "Here we also override one of the model's defaults: `batch_norm` is `False` by default in the config, and we enable it here to demonstrate that individual model parameters can be tuned at runtime." ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "1299672b", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2026-03-17 12:48:47,602 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n", - "[2026-03-17 12:48:47,612 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n" - ] - } - ], + "outputs": [], "source": [ "h.set_config(\"model.name\", \"external_hyrax_example.models.vgg11.VGG11\")\n", "h.set_config(\"external_hyrax_example.VGG11.batch_norm\", True)" @@ -56,24 +55,17 @@ "id": "084b5410", "metadata": {}, "source": [ - "We need to specify the data we're using too, we'll use the Hyrax Cifar dataset here." + "## Configure the Training Data\n", + "\n", + "We'll use `HyraxCifarDataset`, a built-in Hyrax dataset that wraps the CIFAR-10 benchmark. Setting `split_fraction: 1.0` means the full training split (50k images) is used for training with no held-out validation set." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "c0b987f8", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2026-03-17 12:48:47,639 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n", - "[2026-03-17 12:48:47,646 hyrax.config_utils:WARNING] Runtime config contains key or section 'data_request' which has no default defined. All configuration keys and sections must be defined in /home/drew/code/hyrax/src/hyrax/hyrax_default_config.toml\n" - ] - } - ], + "outputs": [], "source": [ "data_request = {\n", " \"train\": {\n", @@ -89,6 +81,14 @@ "h.set_config(\"data_request\", data_request)" ] }, + { + "cell_type": "markdown", + "id": "eb92acf6", + "metadata": {}, + "source": [ + "Train the model. Hyrax handles the full training loop, including batching, loss computation, and result logging." + ] + }, { "cell_type": "code", "execution_count": null, @@ -99,21 +99,22 @@ "model = h.train()" ] }, + { + "cell_type": "markdown", + "id": "33229c5e", + "metadata": {}, + "source": [ + "## Run Inference\n", + "\n", + "Now we configure Hyrax for inference on the CIFAR-10 test set. We set `use_training_data: False` to tell the dataset to load the held-out test split (10k images). Note that `fields` no longer includes `\"label\"` — we're only requesting images since labels aren't needed during inference." + ] + }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "3baeb85a", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[2026-03-17 12:52:14,974 hyrax.config_utils:INFO] Merging external default config from /home/drew/code/external_hyrax_example/src/external_hyrax_example/default_config.toml\n", - "[2026-03-17 12:52:14,981 hyrax.config_utils:WARNING] Runtime config contains key or section 'infer' which has no default defined. All configuration keys and sections must be defined in /home/drew/code/hyrax/src/hyrax/hyrax_default_config.toml\n" - ] - } - ], + "outputs": [], "source": [ "data_request = {\n", " \"infer\": {\n", @@ -123,7 +124,9 @@ " \"fields\": [\"image\"],\n", " \"primary_id_field\": \"object_id\",\n", " \"dataset_config\": {\n", - " \"use_training_data\": False,\n", + " \"HyraxCifarDataset\": {\n", + " \"use_training_data\": False,\n", + " },\n", " },\n", " },\n", " },\n", @@ -146,16 +149,14 @@ "id": "d6477272", "metadata": {}, "source": [ - "## Evaluating the performance\n", + "## Evaluate Performance\n", "\n", - "Let's compare the models predictions to the actual labels from the test dataset.\n", - "The model's prediction is a 10 element vector where the largest value represents the highest confidence class.\n", - "So we'll extract the index of the max value for each prediction and save that as `predicted_classes`." + "Each inference result is a 10-element vector of class logits, where the index of the largest value is the model's predicted class. We extract these predicted classes from the results returned by `h.infer()`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "970c33be", "metadata": {}, "outputs": [], @@ -173,7 +174,7 @@ "id": "d4ae8db3", "metadata": {}, "source": [ - "We'll also load the original test data to get access to the true labels." + "Load the CIFAR-10 test batch to retrieve the ground-truth labels for comparison." ] }, { @@ -181,16 +182,7 @@ "execution_count": null, "id": "26cfb65b", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_87340/3458004124.py:4: VisibleDeprecationWarning: dtype(): align should be passed as Python or NumPy boolean but got `align=0`. Did you mean to pass a tuple to create a subarray type? (Deprecated NumPy 2.4)\n", - " test_data = pickle.load(f_in, encoding=\"bytes\")\n" - ] - } - ], + "outputs": [], "source": [ "import pickle\n", "\n", @@ -203,12 +195,12 @@ "id": "e53916c7", "metadata": {}, "source": [ - "Finally we'll print the overall accuracy and use scikit-learn's ``confusion_matrix`` to display a nice confusion matrix." + "Finally, we compute overall accuracy and display a confusion matrix using scikit-learn. The confusion matrix shows how often each true class was predicted as each other class, making it easy to spot where the model struggles." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "id": "bd69f21d", "metadata": {}, "outputs": [ @@ -217,12 +209,12 @@ "output_type": "stream", "text": [ "\n", - "Accuracy for test dataset: 0.7013\n" + "Accuracy for test dataset: 0.737\n" ] }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
    " ] From 963db3dddb15f586cebdfd9ad52d5561924dcd17 Mon Sep 17 00:00:00 2001 From: Drew Date: Wed, 1 Apr 2026 14:11:08 -0700 Subject: [PATCH 4/6] Moving some of the dependencies out of `dev` into primary. --- pyproject.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 229e576..168158d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,10 @@ requires-python = ">=3.11" dependencies = [ "hyrax", # The main dependency of this project "torch", # Used for the example model in this project + "numpy", # Required by example notebooks + "matplotlib", # Required by example notebooks + "scikit-learn", # Required by example notebooks (imported as sklearn) + "h5py" ] [project.urls] @@ -32,10 +36,6 @@ dev = [ "pytest", "pytest-cov", # Used to report total code coverage "ruff", # Used for static linting of files - "numpy", # Required by example notebooks - "matplotlib", # Required by example notebooks - "scikit-learn", # Required by example notebooks (imported as sklearn) - "h5py", # Required by example notebooks ] [build-system] From 783562922ff10416eb5fea41f4bf4d561bc86cc0 Mon Sep 17 00:00:00 2001 From: Drew Oldag <47493171+drewoldag@users.noreply.github.com> Date: Wed, 1 Apr 2026 14:16:30 -0700 Subject: [PATCH 5/6] Update src/external_hyrax_example/datasets/galaxy10_dataset.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../datasets/galaxy10_dataset.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/external_hyrax_example/datasets/galaxy10_dataset.py b/src/external_hyrax_example/datasets/galaxy10_dataset.py index 91cb377..8953db6 100644 --- a/src/external_hyrax_example/datasets/galaxy10_dataset.py +++ b/src/external_hyrax_example/datasets/galaxy10_dataset.py @@ -19,7 +19,23 @@ class Galaxy10Dataset(HyraxDataset): """ def __init__(self, config, data_location): - """Basic initialization with architecture definition""" + """Initialize the Galaxy10 dataset by loading images and labels from HDF5. + + This initializer: + - Resolves and stores the root data location. + - Opens the ``Galaxy10.h5`` file using ``h5py`` and reads the ``images`` and + ``ans`` datasets into NumPy arrays. + - Optionally transposes images from ``(N, H, W, C)`` to ``(N, C, H, W)`` if + ``channels_first`` is enabled in + ``config["external_hyrax_example"]["galaxy10_dataset"]["channels_first"]``. + - Computes the width used to zero-pad object IDs for consistent display. + - Calls the base :class:`HyraxDataset` initializer with the provided config. + + Args: + config: Configuration dictionary for the Hyrax dataset and experiment. + data_location: Path or path-like object pointing to the directory + containing the ``Galaxy10.h5`` file. + """ self.data_location = Path(data_location) # Load the file and get the images and labels From c8c64b5bf37bec3fa8f923392693ce1f5b5cbfca Mon Sep 17 00:00:00 2001 From: Drew Date: Wed, 1 Apr 2026 14:20:48 -0700 Subject: [PATCH 6/6] Responding to PR comments. --- .../external_dataset_and_model_training_example.ipynb | 8 ++++---- src/external_hyrax_example/default_config.toml | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/pre_executed/external_dataset_and_model_training_example.ipynb b/docs/pre_executed/external_dataset_and_model_training_example.ipynb index 21228b9..9f63825 100644 --- a/docs/pre_executed/external_dataset_and_model_training_example.ipynb +++ b/docs/pre_executed/external_dataset_and_model_training_example.ipynb @@ -29,7 +29,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "c5817aa3", "metadata": {}, "outputs": [], @@ -81,7 +81,7 @@ " \"train\": {\n", " \"data\": {\n", " \"dataset_class\": \"external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset\",\n", - " \"data_location\": \"/home/drew/code/external_hyrax_example/docs/pre_executed/data/galaxy_10\",\n", + " \"data_location\": \"./data/galaxy_10\",\n", " \"fields\": [\"image\", \"label\"],\n", " \"primary_id_field\": \"object_id\",\n", " \"split_fraction\": 0.8,\n", @@ -97,7 +97,7 @@ " \"validate\": {\n", " \"data\": {\n", " \"dataset_class\": \"external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset\",\n", - " \"data_location\": \"/home/drew/code/external_hyrax_example/docs/pre_executed/data/galaxy_10\",\n", + " \"data_location\": \"./data/galaxy_10\",\n", " \"fields\": [\"image\", \"label\"],\n", " \"primary_id_field\": \"object_id\",\n", " \"split_fraction\": 0.2,\n", @@ -122,7 +122,7 @@ "source": [ "## Train HyraxCNN\n", "\n", - "We'll start by training `HyraxCNN`, a lightweight CNN that ships with Hyrax. We set the model name in config and then call `h.prepare()` to instantiate the data loaders." + "We'll start by training `HyraxCNN`, a lightweight CNN that ships with Hyrax. To do so, we need to set the model name in config." ] }, { diff --git a/src/external_hyrax_example/default_config.toml b/src/external_hyrax_example/default_config.toml index 74fa4da..9f8bbcf 100644 --- a/src/external_hyrax_example/default_config.toml +++ b/src/external_hyrax_example/default_config.toml @@ -8,10 +8,11 @@ batch_norm = true # libpath to specify in runtime config when using the vgg11 model # name = "external_hyrax_example.models.vgg11.VGG11" + [external_hyrax_example.galaxy10_dataset] # When false, the images will be in (N, H, W, C) format. # When true, the images will be transposed to (N, C, H, W) format. channels_first = false # libpath to specify in runtime config when using the galaxy10 dataset -# name = "external_hyrax_example.galaxy10_dataset.Galaxy10Dataset" +# name = "external_hyrax_example.datasets.galaxy10_dataset.Galaxy10Dataset"