Buckets:

matthewkenney's picture
download
raw
32.7 kB
{
"cells": [
{
"cell_type": "markdown",
"source": [
"Opened experiment.ipynb file from the code and cloned it in colab afterwards"
],
"metadata": {
"id": "2t_22h5i9x_D"
}
},
{
"cell_type": "code",
"source": [
"!git clone https://github.com/Shu1L0n9/SemiOccam/"
],
"metadata": {
"id": "drVC-1IY6onx",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "b4df71c0-ffb4-4bcd-bb12-f036ff47eda6"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Cloning into 'SemiOccam'...\n",
"remote: Enumerating objects: 93, done.\u001b[K\n",
"remote: Counting objects: 100% (93/93), done.\u001b[K\n",
"remote: Compressing objects: 100% (90/90), done.\u001b[K\n",
"remote: Total 93 (delta 46), reused 19 (delta 1), pack-reused 0 (from 0)\u001b[K\n",
"Receiving objects: 100% (93/93), 365.80 KiB | 1.38 MiB/s, done.\n",
"Resolving deltas: 100% (46/46), done.\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"Installed Requirments as per the instructions"
],
"metadata": {
"id": "KFUuSCVM99DK"
}
},
{
"cell_type": "code",
"source": [
"!pip install -r SemiOccam/requirements.txt"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "hTavv75g61SE",
"outputId": "e75db489-296b-46e3-c0e2-af228f1c0e3c"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Collecting numpy==2.2.3 (from -r SemiOccam/requirements.txt (line 1))\n",
" Downloading numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)\n",
"\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/62.0 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.0/62.0 kB\u001b[0m \u001b[31m3.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: scikit_learn==1.6.1 in /usr/local/lib/python3.11/dist-packages (from -r SemiOccam/requirements.txt (line 2)) (1.6.1)\n",
"Collecting timm==1.0.15 (from -r SemiOccam/requirements.txt (line 3))\n",
" Downloading timm-1.0.15-py3-none-any.whl.metadata (52 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m52.0/52.0 kB\u001b[0m \u001b[31m5.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: torch==2.6.0 in /usr/local/lib/python3.11/dist-packages (from -r SemiOccam/requirements.txt (line 4)) (2.6.0+cu124)\n",
"Requirement already satisfied: torchvision==0.21.0 in /usr/local/lib/python3.11/dist-packages (from -r SemiOccam/requirements.txt (line 5)) (0.21.0+cu124)\n",
"Requirement already satisfied: tqdm==4.67.1 in /usr/local/lib/python3.11/dist-packages (from -r SemiOccam/requirements.txt (line 6)) (4.67.1)\n",
"Requirement already satisfied: scipy>=1.6.0 in /usr/local/lib/python3.11/dist-packages (from scikit_learn==1.6.1->-r SemiOccam/requirements.txt (line 2)) (1.16.0)\n",
"Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.11/dist-packages (from scikit_learn==1.6.1->-r SemiOccam/requirements.txt (line 2)) (1.5.1)\n",
"Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from scikit_learn==1.6.1->-r SemiOccam/requirements.txt (line 2)) (3.6.0)\n",
"Requirement already satisfied: pyyaml in /usr/local/lib/python3.11/dist-packages (from timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (6.0.2)\n",
"Requirement already satisfied: huggingface_hub in /usr/local/lib/python3.11/dist-packages (from timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (0.33.4)\n",
"Requirement already satisfied: safetensors in /usr/local/lib/python3.11/dist-packages (from timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (0.5.3)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (3.18.0)\n",
"Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (4.14.1)\n",
"Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (3.5)\n",
"Requirement already satisfied: jinja2 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (3.1.6)\n",
"Requirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (2025.7.0)\n",
"Collecting nvidia-cuda-nvrtc-cu12==12.4.127 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cuda-runtime-cu12==12.4.127 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cuda-cupti-cu12==12.4.127 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cublas-cu12==12.4.5.8 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cufft-cu12==11.2.1.3 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-curand-cu12==10.3.5.147 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cusolver-cu12==11.6.1.9 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cusparse-cu12==12.3.1.170 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n",
"Requirement already satisfied: nvidia-cusparselt-cu12==0.6.2 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (0.6.2)\n",
"Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (2.21.5)\n",
"Requirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (12.4.127)\n",
"Collecting nvidia-nvjitlink-cu12==12.4.127 (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4))\n",
" Downloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Requirement already satisfied: triton==3.2.0 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (3.2.0)\n",
"Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (1.13.1)\n",
"Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.11/dist-packages (from torchvision==0.21.0->-r SemiOccam/requirements.txt (line 5)) (11.3.0)\n",
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (1.3.0)\n",
"Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (25.0)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (2.32.3)\n",
"Requirement already satisfied: hf-xet<2.0.0,>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (1.1.5)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from jinja2->torch==2.6.0->-r SemiOccam/requirements.txt (line 4)) (3.0.2)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (3.4.2)\n",
"Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (3.10)\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (2.5.0)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->huggingface_hub->timm==1.0.15->-r SemiOccam/requirements.txt (line 3)) (2025.7.14)\n",
"Downloading numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.4/16.4 MB\u001b[0m \u001b[31m95.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading timm-1.0.15-py3-none-any.whl (2.4 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.4/2.4 MB\u001b[0m \u001b[31m85.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl (363.4 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m363.4/363.4 MB\u001b[0m \u001b[31m4.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (13.8 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m109.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (24.6 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.6/24.6 MB\u001b[0m \u001b[31m78.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (883 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m883.7/883.7 kB\u001b[0m \u001b[31m61.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m664.8/664.8 MB\u001b[0m \u001b[31m1.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl (211.5 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m211.5/211.5 MB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl (56.3 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.3/56.3 MB\u001b[0m \u001b[31m12.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl (127.9 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m127.9/127.9 MB\u001b[0m \u001b[31m7.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl (207.5 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.5/207.5 MB\u001b[0m \u001b[31m5.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.1/21.1 MB\u001b[0m \u001b[31m63.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hInstalling collected packages: nvidia-nvjitlink-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, timm\n",
" Attempting uninstall: nvidia-nvjitlink-cu12\n",
" Found existing installation: nvidia-nvjitlink-cu12 12.5.82\n",
" Uninstalling nvidia-nvjitlink-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-nvjitlink-cu12-12.5.82\n",
" Attempting uninstall: nvidia-curand-cu12\n",
" Found existing installation: nvidia-curand-cu12 10.3.6.82\n",
" Uninstalling nvidia-curand-cu12-10.3.6.82:\n",
" Successfully uninstalled nvidia-curand-cu12-10.3.6.82\n",
" Attempting uninstall: nvidia-cufft-cu12\n",
" Found existing installation: nvidia-cufft-cu12 11.2.3.61\n",
" Uninstalling nvidia-cufft-cu12-11.2.3.61:\n",
" Successfully uninstalled nvidia-cufft-cu12-11.2.3.61\n",
" Attempting uninstall: nvidia-cuda-runtime-cu12\n",
" Found existing installation: nvidia-cuda-runtime-cu12 12.5.82\n",
" Uninstalling nvidia-cuda-runtime-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-cuda-runtime-cu12-12.5.82\n",
" Attempting uninstall: nvidia-cuda-nvrtc-cu12\n",
" Found existing installation: nvidia-cuda-nvrtc-cu12 12.5.82\n",
" Uninstalling nvidia-cuda-nvrtc-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.5.82\n",
" Attempting uninstall: nvidia-cuda-cupti-cu12\n",
" Found existing installation: nvidia-cuda-cupti-cu12 12.5.82\n",
" Uninstalling nvidia-cuda-cupti-cu12-12.5.82:\n",
" Successfully uninstalled nvidia-cuda-cupti-cu12-12.5.82\n",
" Attempting uninstall: nvidia-cublas-cu12\n",
" Found existing installation: nvidia-cublas-cu12 12.5.3.2\n",
" Uninstalling nvidia-cublas-cu12-12.5.3.2:\n",
" Successfully uninstalled nvidia-cublas-cu12-12.5.3.2\n",
" Attempting uninstall: numpy\n",
" Found existing installation: numpy 2.0.2\n",
" Uninstalling numpy-2.0.2:\n",
" Successfully uninstalled numpy-2.0.2\n",
" Attempting uninstall: nvidia-cusparse-cu12\n",
" Found existing installation: nvidia-cusparse-cu12 12.5.1.3\n",
" Uninstalling nvidia-cusparse-cu12-12.5.1.3:\n",
" Successfully uninstalled nvidia-cusparse-cu12-12.5.1.3\n",
" Attempting uninstall: nvidia-cudnn-cu12\n",
" Found existing installation: nvidia-cudnn-cu12 9.3.0.75\n",
" Uninstalling nvidia-cudnn-cu12-9.3.0.75:\n",
" Successfully uninstalled nvidia-cudnn-cu12-9.3.0.75\n",
" Attempting uninstall: nvidia-cusolver-cu12\n",
" Found existing installation: nvidia-cusolver-cu12 11.6.3.83\n",
" Uninstalling nvidia-cusolver-cu12-11.6.3.83:\n",
" Successfully uninstalled nvidia-cusolver-cu12-11.6.3.83\n",
" Attempting uninstall: timm\n",
" Found existing installation: timm 1.0.17\n",
" Uninstalling timm-1.0.17:\n",
" Successfully uninstalled timm-1.0.17\n",
"\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
"tensorflow 2.18.0 requires numpy<2.1.0,>=1.26.0, but you have numpy 2.2.3 which is incompatible.\n",
"numba 0.60.0 requires numpy<2.1,>=1.22, but you have numpy 2.2.3 which is incompatible.\u001b[0m\u001b[31m\n",
"\u001b[0mSuccessfully installed numpy-2.2.3 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-nvjitlink-cu12-12.4.127 timm-1.0.15\n"
]
},
{
"output_type": "display_data",
"data": {
"application/vnd.colab-display-data+json": {
"pip_warning": {
"packages": [
"numpy"
]
},
"id": "20d4388cc0b04b29afe56308e4fb420c"
}
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ptWCCHnw6nLm"
},
"source": [
"## Feature Extracting"
]
},
{
"cell_type": "markdown",
"source": [
"changed the dataset type to stl10 as per the requirments."
],
"metadata": {
"id": "d-AYon8L-DQ_"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "thURIfXs6nLo",
"outputId": "8a49ddbe-c2e1-4ef1-f55f-e2f75cdb693f",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"100% 2.64G/2.64G [03:57<00:00, 11.1MB/s]\n",
"\n",
"Computing normalization parameters based on loaded dataset\n",
"100% 79/79 [00:02<00:00, 34.40it/s]\n",
"Computed mean: [0.44682765007019043, 0.4399157166481018, 0.40675127506256104], std: [0.21181423962116241, 0.20959942042827606, 0.21423105895519257]\n",
"/usr/local/lib/python3.11/dist-packages/torch/utils/data/dataloader.py:624: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
" warnings.warn(\n",
"\n",
"Dataset Information:\n",
"Dataset: stl10\n",
"Train samples: 5000\n",
"Test samples: 8000\n",
"Classes: 10\n",
"Image size: 518\n",
"\n",
"Loading model: vit_large_patch14_reg4_dinov2.lvd142m\n",
"model.safetensors: 100% 1.22G/1.22G [00:13<00:00, 91.3MB/s]\n",
"\n",
"Extracting training features...\n",
"Training: 0% 0/79 [11:40<?, ?it/s]\n",
"Traceback (most recent call last):\n",
" File \"/content/SemiOccam/scripts/extract_features.py\", line 126, in <module>\n",
" extract_features()\n",
" File \"/content/SemiOccam/scripts/extract_features.py\", line 88, in extract_features\n",
" features = model(images)\n",
" ^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1739, in _wrapped_call_impl\n",
" return self._call_impl(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1750, in _call_impl\n",
" return forward_call(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/timm/models/vision_transformer.py\", line 853, in forward\n",
" x = self.forward_features(x)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/timm/models/vision_transformer.py\", line 834, in forward_features\n",
" x = self.blocks(x)\n",
" ^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1739, in _wrapped_call_impl\n",
" return self._call_impl(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1750, in _call_impl\n",
" return forward_call(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/container.py\", line 250, in forward\n",
" input = module(input)\n",
" ^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1739, in _wrapped_call_impl\n",
" return self._call_impl(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1750, in _call_impl\n",
" return forward_call(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/timm/models/vision_transformer.py\", line 170, in forward\n",
" x = x + self.drop_path2(self.ls2(self.mlp(self.norm2(x))))\n",
" ^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1739, in _wrapped_call_impl\n",
" return self._call_impl(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1750, in _call_impl\n",
" return forward_call(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/timm/layers/mlp.py\", line 44, in forward\n",
" x = self.fc1(x)\n",
" ^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1739, in _wrapped_call_impl\n",
" return self._call_impl(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py\", line 1750, in _call_impl\n",
" return forward_call(*args, **kwargs)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/usr/local/lib/python3.11/dist-packages/torch/nn/modules/linear.py\", line 125, in forward\n",
" return F.linear(input, self.weight, self.bias)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
"KeyboardInterrupt\n"
]
}
],
"source": [
"dataset_config = {\n",
" 'dataset_type': 'stl10', # 'stl10', 'cifar10', 'cifar100'\n",
" 'data_root': './data', # Dataset root dictionary\n",
" 'batch_size': 64, # Batch size\n",
" 'compute_norm': True # Whether to compute the norm of the features\n",
"}\n",
"\n",
"!python SemiOccam/scripts/extract_features.py --dataset_type {dataset_config['dataset_type']} --data_root {dataset_config['data_root']} --batch_size {dataset_config['batch_size']} --compute_norm {dataset_config['compute_norm']}\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "n1Oneh-46nLp"
},
"source": [
"## SGMM Training"
]
},
{
"cell_type": "markdown",
"source": [
"changed the dataset name to stl10 and feature file path as per the directory"
],
"metadata": {
"id": "qZapLQWd_yhw"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "U-Oexy-z6nLp",
"outputId": "f13bfd3a-4a55-4b1f-c168-27b7bb5dc247"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"============================================================\n",
"SGMM Training Configuration\n",
"============================================================\n",
"Dataset: cifar10\n",
"Feature file: data/vit/cifar10/cifar10_vit_features.pt\n",
"Labeled per class: 4\n",
"PCA components: 60\n",
"GMM components: 12\n",
"Tolerance: 1.0\n",
"Max iterations: 1024\n",
"Device: cuda\n",
"Random seed: 42\n",
"============================================================\n",
"Loading dataset...\n",
"Loading dataset from: data/vit/cifar10/cifar10_vit_features.pt\n",
"Dataset loaded successfully:\n",
" Training samples: 50000\n",
" Test samples: 10000\n",
"\n",
"Dataset split created:\n",
" Labeled samples: 40\n",
" Unlabeled samples: 49960\n",
" Classes: 10\n",
"Labeled training data: (40, 1024)\n",
"Unlabeled training data: (49960, 1024)\n",
"Test data: (10000, 1024)\n",
"Labeled samples: 40\n",
"Unlabeled samples: 49960\n",
"\n",
"Applying PCA...\n",
"Applying PCA to reduce dimensions to 60\n",
"Data shape after PCA - Training: (50000, 60), Testing: (10000, 60)\n",
"Data preprocessing completed.\n",
"After PCA - Labeled: (40, 60), Unlabeled: (49960, 60)\n",
"Number of classes: 10\n",
"\n",
"Initializing SGMM model...\n",
"Training SGMM...\n",
"------------------------------\n",
"Starting training of Semi-Supervised GMM...\n",
"Labeled samples: 40, Unlabeled samples: 49960\n",
"Device: cuda\n",
" alpha shape: torch.Size([12])\n",
" mu shape: torch.Size([12, 60])\n",
" sigma shape: torch.Size([12, 60, 60])\n",
" beta shape: torch.Size([10, 12])\n",
"Parameter initialization complete!\n",
"Iteration 10 complete, Log-Likelihood: -3161255.4919\n",
"Iteration 20 complete, Log-Likelihood: -3135741.4966\n",
"Iteration 30 complete, Log-Likelihood: -3135655.6024\n",
"\n",
"Model converged at iteration 34\n",
"Model training complete!\n",
"Training completed in 0:00:16.152851\n",
"\n",
"Making predictions...\n",
"\n",
"Predicting 10000 samples...\n",
"Prediction completed.\n",
"\n",
"============================================================\n",
"EVALUATION ON TESTSET\n",
"============================================================\n",
"Test Accuracy: 0.9835\n",
"Test Top-3 Accuracy: 0.9975\n",
"============================================================\n"
]
}
],
"source": [
"# Training Config\n",
"training_config = {\n",
" 'dataset': 'stl10',\n",
" 'feature_file': 'data/vit/stl10/stl10_vit_features.pt',\n",
" 'labeled_per_class': 4,\n",
" 'n_components_pca': 60,\n",
" 'n_components_gmm': 12,\n",
" 'tol': 1e0,\n",
" 'max_iter': 1024,\n",
" 'device': 'cuda',\n",
" 'top_k': 3,\n",
" 'seed': 42\n",
"}\n",
"\n",
"!python scripts/train_sgmm.py \\\n",
" --dataset {training_config['dataset']} \\\n",
" --feature_file {training_config['feature_file']} \\\n",
" --labeled_per_class {training_config['labeled_per_class']} \\\n",
" --n_components_pca {training_config['n_components_pca']} \\\n",
" --n_components_gmm {training_config['n_components_gmm']} \\\n",
" --tol {training_config['tol']} \\\n",
" --max_iter {training_config['max_iter']} \\\n",
" --device {training_config['device']} \\\n",
" --top_k {training_config['top_k']} \\\n",
" --seed {training_config['seed']}"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "fnb_XsoO6nLq"
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "vitsgmm",
"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.2"
},
"colab": {
"provenance": []
}
},
"nbformat": 4,
"nbformat_minor": 0
}

Xet Storage Details

Size:
32.7 kB
·
Xet hash:
8c3a00ef2c4a4f8499ff6cab1967ce002d689c88d64933e3c94fda864ab7be76

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.