{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of samples: [ 16. 32. 64. 128. 256.] (x2)\n", "Number of samples: [ 8. 16. 32. 64. 128.] (x4)\n", "Number of samples: [ 4. 8. 16. 32. 64.] (x14)\n", "Number of samples: [ 4. 8. 16. 32. 64.] (x20)\n", "Number of samples: [ 2. 4. 8. 16. 32.] (x77)\n" ] } ], "source": [ "# This is equivalent to round factor / log2(num_classes) to the nearest power of 2\n", "factor = np.array([16, 32, 64, 128, 256])\n", "for num_classes in [2, 4, 14, 20, 77]:\n", " scale = factor / np.log2(num_classes)\n", " nearest_power_of_2 = 2 ** np.round(np.log2(scale)) # round to nearest power of 2\n", " print(\"Number of samples: \", nearest_power_of_2, f\"(x{num_classes})\")" ] } ], "metadata": { "kernelspec": { "display_name": "llmcal", "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.11.10" } }, "nbformat": 4, "nbformat_minor": 2 }