Skip to content

Instantly share code, notes, and snippets.

@amaarora
Last active December 13, 2021 14:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amaarora/b7da9f006254b539abb39c3c8e79a920 to your computer and use it in GitHub Desktop.
Save amaarora/b7da9f006254b539abb39c3c8e79a920 to your computer and use it in GitHub Desktop.
reports/CodeCarbon.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# install packages and prepare dataset\n# !wget https://s3.amazonaws.com/fast-ai-imageclas/imagenette2-160.tgz -q\n# !tar -xf imagenette2-160.tgz",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import timm\nimport wandb\nimport torch\nimport logging\nimport torchvision\nimport torch.nn as nn\nfrom tqdm import tqdm\nfrom torchvision import transforms\nfrom timm.utils.log import setup_default_logging\nfrom codecarbon import track_emissions, EmissionsTracker",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "_logger = logging.getLogger('TrainEval')",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "Config = dict(\n PROJECT='artifacts',\n DATA_DIR=\"./imagenette2-160\",\n TRAIN_DATA_DIR=\"./imagenette2-160/train\",\n TEST_DATA_DIR=\"./imagenette2-160/val\",\n DEVICE=\"cuda\",\n MODEL=\"efficientnet_b3\",\n PRETRAINED=False,\n LR=3e-4,\n EPOCHS=5,\n IMG_SIZE=160,\n FILENAME='checkpoint-1.pth.tar',\n ALIAS='v0',\n BS=96,\n TRAIN_AUG=transforms.Compose(\n [\n transforms.RandomCrop(160),\n transforms.RandomHorizontalFlip(p=0.5),\n transforms.ToTensor(),\n transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),\n ]\n ),\n TEST_AUG=transforms.Compose(\n [\n transforms.CenterCrop(160),\n transforms.ToTensor(),\n transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),\n ]\n ),\n NUM_CHECKPOINTS=2,\n BUCKET='test-bucket-wandb'\n)",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "assert torch.cuda.is_available()\nDEVICE = torch.device('cuda')",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# @track_emissions\ndef train_fn(model, train_data_loader, optimizer, epoch):\n tracker = EmissionsTracker()\n tracker.start()\n model.train()\n fin_loss = 0.0\n tk = tqdm(train_data_loader, desc=\"Epoch\" + \" [TRAIN] \" + str(epoch + 1))\n\n for t, data in enumerate(tk):\n data[0] = data[0].to(DEVICE)\n data[1] = data[1].to(DEVICE)\n\n optimizer.zero_grad()\n out = model(data[0])\n loss = nn.CrossEntropyLoss()(out, data[1])\n loss.backward()\n optimizer.step()\n\n fin_loss += loss.item()\n tk.set_postfix(\n {\n \"loss\": \"%.6f\" % float(fin_loss / (t + 1)),\n \"LR\": optimizer.param_groups[0][\"lr\"],\n }\n )\n emissions = tracker.stop()\n return fin_loss / len(train_data_loader), optimizer.param_groups[0][\"lr\"], emissions",
"execution_count": 6,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def eval_fn(model, eval_data_loader, epoch):\n model.eval()\n fin_loss = 0.0\n tk = tqdm(eval_data_loader, desc=\"Epoch\" + \" [VALID] \" + str(epoch + 1))\n\n with torch.no_grad():\n for t, data in enumerate(tk):\n data[0] = data[0].to(DEVICE)\n data[1] = data[1].to(DEVICE)\n out = model(data[0])\n loss = nn.CrossEntropyLoss()(out, data[1])\n fin_loss += loss.item()\n tk.set_postfix({\"loss\": \"%.6f\" % float(fin_loss / (t + 1))})\n return fin_loss / len(eval_data_loader)",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def main():\n # train and eval datasets\n train_dataset = torchvision.datasets.ImageFolder(\n Config[\"TRAIN_DATA_DIR\"], transform=Config[\"TRAIN_AUG\"]\n )\n eval_dataset = torchvision.datasets.ImageFolder(\n Config[\"TEST_DATA_DIR\"], transform=Config[\"TEST_AUG\"]\n )\n\n # train and eval dataloaders\n train_dataloader = torch.utils.data.DataLoader(\n train_dataset,\n batch_size=Config[\"BS\"],\n shuffle=True,\n )\n eval_dataloader = torch.utils.data.DataLoader(\n eval_dataset, batch_size=Config[\"BS\"],\n )\n\n # model\n model = timm.create_model(Config[\"MODEL\"], pretrained=Config[\"PRETRAINED\"])\n model = model.cuda()\n\n # optimizer\n optimizer = torch.optim.Adam(model.parameters(), lr=Config[\"LR\"])\n\n tot_co2_emission = 0\n for epoch in range(Config[\"EPOCHS\"]):\n avg_loss_train, lr, co2_emission = train_fn(\n model, train_dataloader, optimizer, epoch\n )\n tot_co2_emission += co2_emission\n avg_loss_eval = eval_fn(model, eval_dataloader, epoch)\n wandb.run.log({\n \"epoch\": epoch, \n \"learning rate\": lr, \n \"train loss\": avg_loss_train, \n \"evaluation loss\": avg_loss_eval,\n \"CO2 emission (in Kg)\": co2_emission\n })\n return tot_co2_emission",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "run = wandb.init(project='codecarbon')\ntot_co2_emission = main()",
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mamanarora\u001b[0m (use `wandb login --relogin` to force relogin)\n",
"name": "stderr"
},
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "\n Syncing run <strong><a href=\"https://wandb.ai/amanarora/codecarbon/runs/1b13kfcp\" target=\"_blank\">quiet-leaf-4</a></strong> to <a href=\"https://wandb.ai/amanarora/codecarbon\" target=\"_blank\">Weights & Biases</a> (<a href=\"https://docs.wandb.com/integrations/jupyter.html\" target=\"_blank\">docs</a>).<br/>\n\n "
},
"metadata": {}
},
{
"output_type": "stream",
"text": "CODECARBON : No CPU tracking mode found. Falling back on CPU constant mode.\nCODECARBON : Failed to match CPU TDP constant. Falling back on a global constant.\n/opt/conda/lib/python3.7/site-packages/apscheduler/util.py:95: PytzUsageWarning: The zone attribute is specific to pytz's interface; please migrate to a new time zone provider. For more details on how to do so, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html\n if obj.zone == 'local':\n/opt/conda/lib/python3.7/site-packages/apscheduler/triggers/interval.py:66: PytzUsageWarning: The normalize method is no longer necessary, as this time zone supports the fold attribute (PEP 495). For more details on migrating to a PEP 495-compliant implementation, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html\n return self.timezone.normalize(next_fire_time)\nEpoch [TRAIN] 1: 100%|██████████| 99/99 [00:29<00:00, 3.31it/s, loss=2.961380, LR=0.0003]\nEpoch [VALID] 1: 100%|██████████| 41/41 [00:06<00:00, 6.39it/s, loss=1.961816]\nCODECARBON : No CPU tracking mode found. Falling back on CPU constant mode.\nCODECARBON : Failed to match CPU TDP constant. Falling back on a global constant.\nEpoch [TRAIN] 2: 100%|██████████| 99/99 [00:29<00:00, 3.35it/s, loss=1.683628, LR=0.0003]\nEpoch [VALID] 2: 100%|██████████| 41/41 [00:06<00:00, 6.28it/s, loss=1.575705]\nCODECARBON : No CPU tracking mode found. Falling back on CPU constant mode.\nCODECARBON : Failed to match CPU TDP constant. Falling back on a global constant.\nEpoch [TRAIN] 3: 100%|██████████| 99/99 [00:29<00:00, 3.33it/s, loss=1.443544, LR=0.0003]\nEpoch [VALID] 3: 100%|██████████| 41/41 [00:06<00:00, 6.26it/s, loss=1.400739]\nCODECARBON : No CPU tracking mode found. Falling back on CPU constant mode.\nCODECARBON : Failed to match CPU TDP constant. Falling back on a global constant.\nEpoch [TRAIN] 4: 100%|██████████| 99/99 [00:29<00:00, 3.34it/s, loss=1.307956, LR=0.0003]\nEpoch [VALID] 4: 100%|██████████| 41/41 [00:06<00:00, 6.26it/s, loss=1.297794]\nCODECARBON : No CPU tracking mode found. Falling back on CPU constant mode.\nCODECARBON : Failed to match CPU TDP constant. Falling back on a global constant.\nEpoch [TRAIN] 5: 100%|██████████| 99/99 [00:29<00:00, 3.35it/s, loss=1.191642, LR=0.0003]\nEpoch [VALID] 5: 100%|██████████| 41/41 [00:06<00:00, 6.32it/s, loss=1.194490]\n",
"name": "stderr"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def get_tv_time(project_carbon_equivalent: float):\n # code copied from `https://github.com/mlco2/codecarbon`\n \"\"\"\n Gives the amount of time\n a 32-inch LCD flat screen TV will emit\n an equivalent amount of carbon\n Ratio is 0.097 kg CO2 / 1 hour tv\n :param project_carbon_equivalent: total project emissions in kg CO2E\n :return: equivalent TV time\n \"\"\"\n time_in_minutes = project_carbon_equivalent * (1 / 0.097) * 60\n formated_value = \"{:.0f} minutes\".format(time_in_minutes)\n if time_in_minutes >= 60:\n time_in_hours = time_in_minutes / 60\n formated_value = \"{:.0f} hours\".format(time_in_hours)\n if time_in_hours >= 24:\n time_in_days = time_in_hours / 24\n formated_value = \"{:.0f} days\".format(time_in_days)\n return formated_value",
"execution_count": 10,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def get_car_miles(project_carbon_equivalent: float):\n # code copied from `https://github.com/mlco2/codecarbon`\n \"\"\"\n 8.89 × 10-3 metric tons CO2/gallon gasoline ×\n 1/22.0 miles per gallon car/truck average ×\n 1 CO2, CH4, and N2O/0.988 CO2\n = 4.09 x 10-4 metric tons CO2E/mile\n = 0.409 kg CO2E/mile\n Source: EPA\n :param project_carbon_equivalent: total project emissions in kg CO2E\n :return: number of miles driven by avg car\n \"\"\"\n return \"{:.4f}\".format(project_carbon_equivalent / 0.409)",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def get_household_fraction(project_carbon_equivalent: float):\n # code copied from `https://github.com/mlco2/codecarbon`\n \"\"\"\n Total CO2 emissions for energy use per home: 5.734 metric tons CO2 for electricity\n + 2.06 metric tons CO2 for natural gas + 0.26 metric tons CO2 for liquid petroleum gas\n + 0.30 metric tons CO2 for fuel oil = 8.35 metric tons CO2 per home per year / 52 weeks\n = 160.58 kg CO2/week on average\n Source: EPA\n :param project_carbon_equivalent: total project emissions in kg CO2E\n :return: % of weekly emissions re: an average American household\n \"\"\"\n return \"{:.4f}\".format((project_carbon_equivalent / 160.58) * 100)",
"execution_count": 12,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# create figure\nimport matplotlib.pyplot as plt\nfrom PIL import Image\nfig, (ax1, ax2, ax3) = plt.subplots(ncols=3, figsize=(15, 4), sharey=False)\nax1.imshow(Image.open('/home/arora/git_repos/codecarbon/codecarbon/viz/assets/tv_icon.png'));\nax1.set_title(f\"{get_tv_time(tot_co2_emission)} of 32-inch LCD TV watched\");\n\nax2.imshow(Image.open('/home/arora/git_repos/codecarbon/codecarbon/viz/assets/car_icon.png'));\nax2.set_title(f\"{get_car_miles(tot_co2_emission)} car miles driven\");\n\nax3.imshow(Image.open('/home/arora/git_repos/codecarbon/codecarbon/viz/assets/house_icon.png'));\nax3.set_title(f\"{get_household_fraction(tot_co2_emission)}% of Weekly American Household Emissions\");",
"execution_count": 16,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 1080x288 with 3 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# log figure to W&B\nwandb.run.log({\"Exemplary Equivalents for CO2 Emission\": fig})",
"execution_count": 17,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.10",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"gist": {
"id": "b7da9f006254b539abb39c3c8e79a920",
"data": {
"description": "reports/CodeCarbon.ipynb",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/b7da9f006254b539abb39c3c8e79a920"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment