{ “cells”: [ { “cell_type”: “code”, “execution_count”: 52, “id”: “3bf9098b”, “metadata”: {},

{

“cells”: [

{

“cell_type”: “code”,

“execution_count”: 52,

“id”: “3bf9098b”,

“metadata”: {},

“outputs”: [],

“source”: [

“import torch\n”,

“import numpy as np\n”,

“import pandas as pd\n”,

“import matplotlib.pyplot as plt\n”,

“import random\n”,

“import seaborn as sns”

]

},

{

“cell_type”: “code”,

“execution_count”: 53,

“id”: “3be728c2”,

“metadata”: {},

“outputs”: [

{

“data”: {

“text/html”: [

\n”,

“\n”,

” .dataframe tbody tr th:only-of-type {\n”,

” vertical-align: middle;\n”,

” }\n”,

“\n”,

” .dataframe tbody tr th {\n”,

” vertical-align: top;\n”,

” }\n”,

“\n”,

” .dataframe thead th {\n”,

” text-align: right;\n”,

” }\n”,

“\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

\n”,

instant dteday season yr mnth hr holiday weekday workingday weathersit temp atemp hum windspeed casual registered cnt
0 1 2011-01-01 1 0 1 0 0 6 0 1 0.24 0.2879 0.81 0.0000 3 13 16
1 2 2011-01-01 1 0 1 1 0 6 0 1 0.22 0.2727 0.80 0.0000 8 32 40
2 3 2011-01-01 1 0 1 2 0 6 0 1 0.22 0.2727 0.80 0.0000 5 27 32
3 4 2011-01-01 1 0 1 3 0 6 0 1 0.24 0.2879 0.75 0.0000 3 10 13
4 5 2011-01-01 1 0 1 4 0 6 0 1 0.24 0.2879 0.75 0.0000 0 1 1
17374 17375 2012-12-31 1 1 12 19 0 1 1 2 0.26 0.2576 0.60 0.1642 11 108 119
17375 17376 2012-12-31 1 1 12 20 0 1 1 2 0.26 0.2576 0.60 0.1642 8 81 89
17376 17377 2012-12-31 1 1 12 21 0 1 1 1 0.26 0.2576 0.60 0.1642 7 83 90
17377 17378 2012-12-31 1 1 12 22 0 1 1 1 0.26 0.2727 0.56 0.1343 13 48 61
17378 17379 2012-12-31 1 1 12 23 0 1 1 1 0.26 0.2727 0.65 0.1343 12 37 49

\n”,

17379 rows × 17 columns

\n”,

],

“text/plain”: [

” instant dteday season yr mnth hr holiday weekday \\\n”,

“0 1 2011-01-01 1 0 1 0 0 6 \n”,

“1 2 2011-01-01 1 0 1 1 0 6 \n”,

“2 3 2011-01-01 1 0 1 2 0 6 \n”,

“3 4 2011-01-01 1 0 1 3 0 6 \n”,

“4 5 2011-01-01 1 0 1 4 0 6 \n”,

“… … … … .. … .. … … \n”,

“17374 17375 2012-12-31 1 1 12 19 0 1 \n”,

“17375 17376 2012-12-31 1 1 12 20 0 1 \n”,

“17376 17377 2012-12-31 1 1 12 21 0 1 \n”,

“17377 17378 2012-12-31 1 1 12 22 0 1 \n”,

“17378 17379 2012-12-31 1 1 12 23 0 1 \n”,

“\n”,

” workingday weathersit temp atemp hum windspeed casual \\\n”,

“0 0 1 0.24 0.2879 0.81 0.0000 3 \n”,

“1 0 1 0.22 0.2727 0.80 0.0000 8 \n”,

“2 0 1 0.22 0.2727 0.80 0.0000 5 \n”,

“3 0 1 0.24 0.2879 0.75 0.0000 3 \n”,

“4 0 1 0.24 0.2879 0.75 0.0000 0 \n”,

“… … … … … … … … \n”,

“17374 1 2 0.26 0.2576 0.60 0.1642 11 \n”,

“17375 1 2 0.26 0.2576 0.60 0.1642 8 \n”,

“17376 1 1 0.26 0.2576 0.60 0.1642 7 \n”,

“17377 1 1 0.26 0.2727 0.56 0.1343 13 \n”,

“17378 1 1 0.26 0.2727 0.65 0.1343 12 \n”,

“\n”,

” registered cnt \n”,

“0 13 16 \n”,

“1 32 40 \n”,

“2 27 32 \n”,

“3 10 13 \n”,

“4 1 1 \n”,

“… … … \n”,

“17374 108 119 \n”,

“17375 81 89 \n”,

“17376 83 90 \n”,

“17377 48 61 \n”,

“17378 37 49 \n”,

“\n”,

“[17379 rows x 17 columns]”

]

},

“execution_count”: 53,

“metadata”: {},

“output_type”: “execute_result”

}

],

“source”: [

“bikedf = pd.read_csv(‘/home/jeckroth/csci431/2021-fall/datasets/bike-sharing/hour.csv’)\n”,

“bikedf”

]

},

{

“cell_type”: “code”,

“execution_count”: 54,

“id”: “9679b67e”,

“metadata”: {},

“outputs”: [

{

“name”: “stderr”,

“output_type”: “stream”,

“text”: [

“/usr/lib/python3.9/site-packages/seaborn/_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n”,

” warnings.warn(\n”

]

},

{

“data”: {

“image/png”: “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\n”,

“text/plain”: [

]

},

“metadata”: {

“needs_background”: “light”

},

“output_type”: “display_data”

}

],

“source”: [

“plt.scatter(bikedf[‘temp’], bikedf[‘casual’], color=’gray’)\n”,

“sns.kdeplot(bikedf[‘temp’], bikedf[‘casual’])\n”,

“plt.show()”

]

},

{

“cell_type”: “code”,

“execution_count”: 98,

“id”: “da74196f”,

“metadata”: {},

“outputs”: [],

“source”: [

“class linearRegression(torch.nn.Module):\n”,

” def __init__(self, input_size, output_size):\n”,

” super(linearRegression, self).__init__()\n”,

” # establish that our model has a single \”neuron\”\n”,

” # use self. to set a variable for ourselves for the second function\n”,

” self.linear = torch.nn.Linear(input_size, output_size)\n”,

” \n”,

” def forward(self, x):\n”,

” output = self.linear(x)\n”,

” return output”

]

},

{

“cell_type”: “code”,

“execution_count”: 112,

“id”: “bab7f846”,

“metadata”: {},

“outputs”: [],

“source”: [

“model = linearRegression(7, 1)\n”,

“model.cuda() # put it on gpu\n”,

“criterion = torch.nn.L1Loss() # mean-squared error loss function\n”,

“# create an optimizer of type stochastic gradient descent\n”,

“# lr is learning rate, want this small probably\n”,

“optimizer = torch.optim.SGD(model.parameters(), lr=0.1)”

]

},

{

“cell_type”: “code”,

“execution_count”: 113,

“id”: “b44e9a0f”,

“metadata”: {},

“outputs”: [

{

“data”: {

“text/plain”: [

“tensor([[-0.2622, -0.0288, -0.6827, …, -0.5020, 0.1828, -0.2235],\n”,

” [-0.2826, -0.0288, -0.6827, …, -0.4586, 0.1728, -0.2235],\n”,

” [-0.2826, -0.0288, -0.6827, …, -0.4151, 0.1728, -0.2235],\n”,

” …,\n”,

” [-0.2418, -0.0288, 0.3173, …, 0.4110, -0.0272, -0.0304],\n”,

” [-0.2418, -0.0288, 0.3173, …, 0.4545, -0.0672, -0.0656],\n”,

” [-0.2418, -0.0288, 0.3173, …, 0.4980, 0.0228, -0.0656]],\n”,

” device=’cuda:0′)”

]

},

“execution_count”: 113,

“metadata”: {},

“output_type”: “execute_result”

}

],

“source”: [

“x = torch.tensor(bikedf[[‘temp’, ‘holiday’, ‘workingday’, ‘season’, ‘hr’, ‘hum’, ‘windspeed’]].to_numpy()).float().cuda()\n”,

“xrange = (x.max(dim=0).values – x.min(dim=0).values)\n”,

“xmean = x.mean(dim=0)\n”,

“x = (x – xmean) / xrange\n”,

“y = torch.tensor(bikedf[‘casual’]).float().cuda()\n”,

“x\n”,

“# loss with just temp: 2430”

]

},

{

“cell_type”: “code”,

“execution_count”: 114,

“id”: “73aef827”,

“metadata”: {},

“outputs”: [

{

“name”: “stdout”,

“output_type”: “stream”,

“text”: [

“35.95787811279297\n”,

“35.862552642822266\n”,

“35.772254943847656\n”,

“35.683502197265625\n”,

“35.5977783203125\n”,

“35.5204963684082\n”,

“35.4522705078125\n”,

“35.385345458984375\n”,

“35.31843566894531\n”,

“35.251609802246094\n”,

“35.18491744995117\n”,

“35.11863327026367\n”,

“35.05329895019531\n”,

“34.989688873291016\n”,

“34.928504943847656\n”,

“34.867916107177734\n”,

“34.808712005615234\n”,

“34.7529411315918\n”,

“34.70262908935547\n”,

“34.65442657470703\n”,

“34.60633087158203\n”,

“34.558231353759766\n”,

“34.51017379760742\n”,

“34.46217727661133\n”,

“34.414306640625\n”,

“34.36673355102539\n”,

“34.319766998291016\n”,

“34.2738151550293\n”,

“34.2292594909668\n”,

“34.185081481933594\n”,

“34.141441345214844\n”,

“34.09922409057617\n”,

“34.05980682373047\n”,

“34.02293014526367\n”,

“33.98670196533203\n”,

“33.95050048828125\n”,

“33.9142951965332\n”,

“33.87810134887695\n”,

“33.841949462890625\n”,

“33.80583953857422\n”,

“33.76984786987305\n”,

“33.73406982421875\n”,

“33.69869613647461\n”,

“33.663936614990234\n”,

“33.63020324707031\n”,

“33.59691619873047\n”,

“33.563819885253906\n”,

“33.53139877319336\n”,

“33.50015640258789\n”,

“33.47101974487305\n”,

“33.44340515136719\n”,

“33.41619110107422\n”,

“33.38899612426758\n”,

“33.36179733276367\n”,

“33.3346061706543\n”,

“33.30742263793945\n”,

“33.28026580810547\n”,

“33.25312805175781\n”,

“33.2260627746582\n”,

“33.199092864990234\n”,

“33.17234420776367\n”,

“33.14585876464844\n”,

“33.11988067626953\n”,

“33.094505310058594\n”,

“33.06935501098633\n”,

“33.04433059692383\n”,

“33.01972961425781\n”,

“32.995758056640625\n”,

“32.97300338745117\n”,

“32.95146560668945\n”,

“32.93050003051758\n”,

“32.90961837768555\n”,

“32.88874053955078\n”,

“32.867862701416016\n”,

“32.846981048583984\n”,

“32.826107025146484\n”,

“32.80525207519531\n”,

“32.78440475463867\n”,

“32.76358413696289\n”,

“32.7428092956543\n”,

“32.72210693359375\n”,

“32.70155334472656\n”,

“32.68117141723633\n”,

“32.66106414794922\n”,

“32.64142608642578\n”,

“32.62209701538086\n”,

“32.60285949707031\n”,

“32.583770751953125\n”,

“32.56501007080078\n”,

“32.546714782714844\n”,

“32.5292854309082\n”,

“32.51276397705078\n”,

“32.49673843383789\n”,

“32.480857849121094\n”,

“32.46499252319336\n”,

“32.44912338256836\n”,

“32.433250427246094\n”,

“32.41738510131836\n”,

“32.40151596069336\n”,

“32.385658264160156\n”,

“32.369808197021484\n”,

“32.35396957397461\n”,

“32.33815002441406\n”,

“32.322364807128906\n”,

“32.306617736816406\n”,

“32.29096984863281\n”,

“32.27543640136719\n”,

“32.260047912597656\n”,

“32.24492263793945\n”,

“32.2301025390625\n”,

“32.2154426574707\n”,

“32.200843811035156\n”,

“32.18635940551758\n”,

“32.17210388183594\n”,

“32.158138275146484\n”,

“32.14470291137695\n”,

“32.131927490234375\n”,

“32.11962127685547\n”,

“32.1075439453125\n”,

“32.095516204833984\n”,

“32.083492279052734\n”,

“32.07146072387695\n”,

“32.05943298339844\n”,

“32.04740905761719\n”,

“32.03538131713867\n”,

“32.023353576660156\n”,

“32.01133346557617\n”,

“31.99932098388672\n”,

“31.98731803894043\n”,

“31.97532081604004\n”,

“31.963342666625977\n”,

“31.95139503479004\n”,

“31.93947982788086\n”,

“31.927640914916992\n”,

“31.91588020324707\n”,

“31.904211044311523\n”,

“31.8927059173584\n”,

“31.88142967224121\n”,

“31.870309829711914\n”,

“31.859264373779297\n”,

“31.84825897216797\n”,

“31.837379455566406\n”,

“31.826650619506836\n”,

“31.816137313842773\n”,

“31.805999755859375\n”,

“31.796323776245117\n”,

“31.78700828552246\n”,

“31.777908325195312\n”,

“31.76888656616211\n”,

“31.759870529174805\n”,

“31.750858306884766\n”,

“31.741849899291992\n”,

“31.73283576965332\n”,

“31.723827362060547\n”,

“31.714815139770508\n”,

“31.7058048248291\n”,

“31.696792602539062\n”,

“31.68778419494629\n”,

“31.67878532409668\n”,

“31.669788360595703\n”,

“31.660797119140625\n”,

“31.65181541442871\n”,

“31.642847061157227\n”,

“31.63390350341797\n”,

“31.624980926513672\n”,

“31.616111755371094\n”,

“31.60729217529297\n”,

“31.598535537719727\n”,

“31.589855194091797\n”,

“31.581335067749023\n”,

“31.57295799255371\n”,

“31.564685821533203\n”,

“31.556453704833984\n”,

“31.54826545715332\n”,

“31.540163040161133\n”,

“31.532161712646484\n”,

“31.5242919921875\n”,

“31.516630172729492\n”,

“31.509273529052734\n”,

“31.502227783203125\n”,

“31.495412826538086\n”,

“31.488740921020508\n”,

“31.482135772705078\n”,

“31.47553825378418\n”,

“31.468944549560547\n”,

“31.462350845336914\n”,

“31.455751419067383\n”,

“31.449161529541016\n”,

“31.442564010620117\n”,

“31.43596839904785\n”,

“31.42937469482422\n”,

“31.42277717590332\n”,

“31.416187286376953\n”,

“31.409591674804688\n”,

“31.403003692626953\n”,

“31.396419525146484\n”,

“31.38983917236328\n”,

“31.383258819580078\n”,

“31.37668800354004\n”,

“31.37013053894043\n”,

“31.363584518432617\n”,

“31.357051849365234\n”,

“31.350547790527344\n”,

“31.344079971313477\n”,

“31.3376522064209\n”,

“31.33126449584961\n”,

“31.32493019104004\n”,

“31.318702697753906\n”,

“31.31258201599121\n”,

“31.306541442871094\n”,

“31.3005428314209\n”,

“31.29457664489746\n”,

“31.288646697998047\n”,

“31.282787322998047\n”,

“31.27700424194336\n”,

“31.271297454833984\n”,

“31.26573371887207\n”,

“31.260364532470703\n”,

“31.255210876464844\n”,

“31.250246047973633\n”,

“31.245418548583984\n”,

“31.240673065185547\n”,

“31.235963821411133\n”,

“31.231260299682617\n”,

“31.2265682220459\n”,

“31.221866607666016\n”,

“31.21717071533203\n”,

“31.21247100830078\n”,

“31.20777130126953\n”,

“31.203075408935547\n”,

“31.198373794555664\n”,

“31.193681716918945\n”,

“31.18897819519043\n”,

“31.184284210205078\n”,

“31.179584503173828\n”,

“31.174884796142578\n”,

“31.170188903808594\n”,

“31.165496826171875\n”,

“31.160804748535156\n”,

“31.156116485595703\n”,

“31.151430130004883\n”,

“31.146747589111328\n”,

“31.142072677612305\n”,

“31.137401580810547\n”,

“31.132741928100586\n”,

“31.12809181213379\n”,

“31.12345314025879\n”,

“31.11884117126465\n”,

“31.1142520904541\n”,

“31.10968780517578\n”,

“31.105154037475586\n”,

“31.100662231445312\n”,

“31.09623146057129\n”,

“31.09187126159668\n”,

“31.087575912475586\n”,

“31.083316802978516\n”,

“31.079090118408203\n”,

“31.074878692626953\n”,

“31.070697784423828\n”,

“31.066572189331055\n”,

“31.06248664855957\n”,

“31.05845832824707\n”,

“31.054508209228516\n”,

“31.050668716430664\n”,

“31.046964645385742\n”,

“31.043405532836914\n”,

“31.03995704650879\n”,

“31.036598205566406\n”,

“31.033294677734375\n”,

“31.030033111572266\n”,

“31.026779174804688\n”,

“31.023530960083008\n”,

“31.02027702331543\n”,

“31.01702880859375\n”,

“31.01378059387207\n”,

“31.010528564453125\n”,

“31.007278442382812\n”,

“31.004030227661133\n”,

“31.000778198242188\n”,

“30.997526168823242\n”,

“30.994277954101562\n”,

“30.991031646728516\n”,

“30.98777961730957\n”,

“30.98453140258789\n”,

“30.981279373168945\n”,

“30.978031158447266\n”,

“30.974781036376953\n”,

“30.971532821655273\n”,

“30.968284606933594\n”,

“30.96504020690918\n”,

“30.96179962158203\n”,

“30.958553314208984\n”,

“30.9553165435791\n”,

“30.95208168029785\n”,

“30.9488468170166\n”,

“30.945619583129883\n”,

“30.94239616394043\n”,

“30.939178466796875\n”,

“30.935964584350586\n”,

“30.932764053344727\n”,

“30.929582595825195\n”,

“30.926416397094727\n”,

“30.923263549804688\n”,

“30.92013168334961\n”,

“30.91701889038086\n”,

“30.91393280029297\n”,

“30.910892486572266\n”,

“30.90789794921875\n”,

“30.90495491027832\n”,

“30.90204620361328\n”,

“30.8991641998291\n”,

“30.89629554748535\n”,

“30.893442153930664\n”,

“30.890621185302734\n”,

“30.887826919555664\n”,

“30.88507080078125\n”,

“30.882349014282227\n”,

“30.879663467407227\n”,

“30.877031326293945\n”,

“30.874483108520508\n”,

“30.872024536132812\n”,

“30.869661331176758\n”,

“30.86738395690918\n”,

“30.865175247192383\n”,

“30.863019943237305\n”,

“30.86090087890625\n”,

“30.858808517456055\n”,

“30.85672950744629\n”,

“30.854656219482422\n”,

“30.852581024169922\n”,

“30.850502014160156\n”,

“30.848426818847656\n”,

“30.846355438232422\n”,

“30.844280242919922\n”,

“30.842205047607422\n”,

“30.840131759643555\n”,

“30.838056564331055\n”,

“30.83598518371582\n”,

“30.83390998840332\n”,

“30.83183479309082\n”,

“30.82975959777832\n”,

“30.827688217163086\n”,

“30.825613021850586\n”,

“30.823537826538086\n”,

“30.821462631225586\n”,

“30.81938934326172\n”,

“30.81731414794922\n”,

“30.81523895263672\n”,

“30.81317138671875\n”,

“30.81109619140625\n”,

“30.80902099609375\n”,

“30.806949615478516\n”,

“30.80487823486328\n”,

“30.80280876159668\n”,

“30.800737380981445\n”,

“30.798673629760742\n”,

“30.796606063842773\n”,

“30.794536590576172\n”,

“30.7924747467041\n”,

“30.790414810180664\n”,

“30.788352966308594\n”,

“30.78630256652832\n”,

“30.784250259399414\n”,

“30.782203674316406\n”,

“30.78015899658203\n”,

“30.778120040893555\n”,

“30.77609634399414\n”,

“30.774080276489258\n”,

“30.772071838378906\n”,

“30.77007484436035\n”,

“30.768091201782227\n”,

“30.7661190032959\n”,

“30.764162063598633\n”,

“30.762226104736328\n”,

“30.76032066345215\n”,

“30.758441925048828\n”,

“30.756591796875\n”,

“30.75476837158203\n”,

“30.752960205078125\n”,

“30.75116729736328\n”,

“30.7493839263916\n”,

“30.74761390686035\n”,

“30.745864868164062\n”,

“30.744138717651367\n”,

“30.7424259185791\n”,

“30.740737915039062\n”,

“30.739070892333984\n”,

“30.737424850463867\n”,

“30.735815048217773\n”,

“30.734254837036133\n”,

“30.732744216918945\n”,

“30.731292724609375\n”,

“30.72989273071289\n”,

“30.728546142578125\n”,

“30.727237701416016\n”,

“30.72595977783203\n”,

“30.724708557128906\n”,

“30.723480224609375\n”,

“30.722267150878906\n”,

“30.721057891845703\n”,

“30.719852447509766\n”,

“30.718647003173828\n”,

“30.717445373535156\n”,

“30.716245651245117\n”,

“30.715042114257812\n”,

“30.713842391967773\n”,

“30.71263885498047\n”,

“30.71143913269043\n”,

“30.710237503051758\n”,

“30.70903778076172\n”,

“30.707834243774414\n”,

“30.706634521484375\n”,

“30.70543098449707\n”,

“30.70423126220703\n”,

“30.703027725219727\n”,

“30.701826095581055\n”,

“30.700626373291016\n”,

“30.69942283630371\n”,

“30.698223114013672\n”,

“30.697021484375\n”,

“30.695817947387695\n”,

“30.69461441040039\n”,

“30.69341468811035\n”,

“30.692214965820312\n”,

“30.691015243530273\n”,

“30.6898136138916\n”,

“30.688610076904297\n”,

“30.687406539916992\n”,

“30.686206817626953\n”,

“30.685007095336914\n”,

“30.68380355834961\n”,

“30.682600021362305\n”,

“30.681400299072266\n”,

“30.68020248413086\n”,

“30.678998947143555\n”,

“30.677804946899414\n”,

“30.676605224609375\n”,

“30.675405502319336\n”,

“30.674211502075195\n”,

“30.673011779785156\n”,

“30.671817779541016\n”,

“30.670625686645508\n”,

“30.6694278717041\n”,

“30.66823387145996\n”,

“30.667043685913086\n”,

“30.665851593017578\n”,

“30.66466522216797\n”,

“30.663476943969727\n”,

“30.66229820251465\n”,

“30.66111183166504\n”,

“30.659931182861328\n”,

“30.658754348754883\n”,

“30.657581329345703\n”,

“30.656415939331055\n”,

“30.65525245666504\n”,

“30.654096603393555\n”,

“30.65294647216797\n”,

“30.65180206298828\n”,

“30.650659561157227\n”,

“30.649526596069336\n”,

“30.648401260375977\n”,

“30.64728546142578\n”,

“30.646183013916016\n”,

“30.645097732543945\n”,

“30.644027709960938\n”,

“30.64296531677246\n”,

“30.641921997070312\n”,

“30.640888214111328\n”,

“30.639860153198242\n”,

“30.638843536376953\n”,

“30.637828826904297\n”,

“30.636825561523438\n”,

“30.635831832885742\n”,

“30.63485336303711\n”,

“30.633880615234375\n”,

“30.632917404174805\n”,

“30.631967544555664\n”,

“30.631025314331055\n”,

“30.630096435546875\n”,

“30.629180908203125\n”,

“30.62828254699707\n”,

“30.627403259277344\n”,

“30.626556396484375\n”,

“30.625736236572266\n”,

“30.624942779541016\n”,

“30.62417221069336\n”,

“30.62342643737793\n”,

“30.62270164489746\n”,

“30.621999740600586\n”,

“30.621307373046875\n”,

“30.620634078979492\n”,

“30.619964599609375\n”,

“30.61931037902832\n”,

“30.618663787841797\n”,

“30.618019104003906\n”,

“30.61737823486328\n”,

“30.616737365722656\n”,

“30.616100311279297\n”,

“30.615455627441406\n”,

“30.614818572998047\n”,

“30.614181518554688\n”,

“30.613544464111328\n”,

“30.61290740966797\n”,

“30.612262725830078\n”,

“30.61162567138672\n”,

“30.61098861694336\n”,

“30.610349655151367\n”,

“30.609708786010742\n”,

“30.609067916870117\n”,

“30.608430862426758\n”,

“30.607789993286133\n”,

“30.607152938842773\n”,

“30.606515884399414\n”,

“30.60587501525879\n”,

“30.60523796081543\n”,

“30.604597091674805\n”,

“30.603960037231445\n”,

“30.60331916809082\n”,

“30.60268211364746\n”,

“30.60204315185547\n”,

“30.60140609741211\n”,

“30.60076904296875\n”,

“30.60012435913086\n”,

“30.5994873046875\n”,

“30.59885025024414\n”,

“30.59821319580078\n”,

“30.59756851196289\n”,

“30.59693145751953\n”,

“30.596294403076172\n”,

“30.59565544128418\n”,

“30.595016479492188\n”,

“30.594377517700195\n”,

“30.59373664855957\n”,

“30.59309959411621\n”,

“30.59246253967285\n”,

“30.591825485229492\n”,

“30.591184616088867\n”,

“30.590543746948242\n”,

“30.589906692504883\n”,

“30.589269638061523\n”,

“30.58863067626953\n”,

“30.587993621826172\n”,

“30.587352752685547\n”,

“30.586711883544922\n”,

“30.586074829101562\n”,

“30.585437774658203\n”,

“30.58480453491211\n”,

“30.584163665771484\n”,

“30.583524703979492\n”,

“30.582887649536133\n”,

“30.582258224487305\n”,

“30.581619262695312\n”,

“30.580982208251953\n”,

“30.58034896850586\n”,

“30.5797119140625\n”,

“30.579076766967773\n”,

“30.57844352722168\n”,

“30.57781219482422\n”,

“30.577178955078125\n”,

“30.576547622680664\n”,

“30.57591438293457\n”,

“30.575286865234375\n”,

“30.574655532836914\n”,

“30.574026107788086\n”,

“30.573402404785156\n”,

“30.572771072387695\n”,

“30.572147369384766\n”,

“30.571523666381836\n”,

“30.570899963378906\n”,

“30.570276260375977\n”,

“30.569658279418945\n”,

“30.569042205810547\n”,

“30.56842803955078\n”,

“30.56781768798828\n”,

“30.56720733642578\n”,

“30.566604614257812\n”,

“30.56599998474121\n”,

“30.565397262573242\n”,

“30.564800262451172\n”,

“30.5642032623291\n”,

“30.563613891601562\n”,

“30.563026428222656\n”,

“30.56244468688965\n”,

“30.561874389648438\n”,

“30.561304092407227\n”,

“30.560741424560547\n”,

“30.560190200805664\n”,

“30.559642791748047\n”,

“30.559101104736328\n”,

“30.558565139770508\n”,

“30.55803680419922\n”,

“30.55750846862793\n”,

“30.55698585510254\n”,

“30.55647087097168\n”,

“30.555953979492188\n”,

“30.55544662475586\n”,

“30.55494499206543\n”,

“30.5544490814209\n”,

“30.553956985473633\n”,

“30.5534725189209\n”,

“30.55299186706543\n”,

“30.552513122558594\n”,

“30.55204200744629\n”,

“30.55157470703125\n”,

“30.55111312866211\n”,

“30.5506591796875\n”,

“30.55021095275879\n”,

“30.549774169921875\n”,

“30.54935073852539\n”,

“30.54893684387207\n”,

“30.548532485961914\n”,

“30.54814338684082\n”,

“30.54776382446289\n”,

“30.54739761352539\n”,

“30.54704475402832\n”,

“30.54669952392578\n”,

“30.546367645263672\n”,

“30.54603385925293\n”,

“30.54571533203125\n”,

“30.5454044342041\n”,

“30.545095443725586\n”,

“30.5447940826416\n”,

“30.54449462890625\n”,

“30.54420280456543\n”,

“30.543912887573242\n”,

“30.543624877929688\n”,

“30.5433349609375\n”,

“30.543054580688477\n”,

“30.542770385742188\n”,

“30.542484283447266\n”,

“30.542203903198242\n”,

“30.541921615600586\n”,

“30.541637420654297\n”,

“30.54135513305664\n”,

“30.541074752807617\n”,

“30.54079246520996\n”,

“30.540508270263672\n”,

“30.540225982666016\n”,

“30.539945602416992\n”,

“30.539663314819336\n”,

“30.539379119873047\n”,

“30.539098739624023\n”,

“30.538816452026367\n”,

“30.53853416442871\n”,

“30.538249969482422\n”,

“30.5379695892334\n”,

“30.537687301635742\n”,

“30.53740692138672\n”,

“30.537124633789062\n”,

“30.536842346191406\n”,

“30.536561965942383\n”,

“30.536277770996094\n”,

“30.535999298095703\n”,

“30.535715103149414\n”,

“30.535429000854492\n”,

“30.5351505279541\n”,

“30.534866333007812\n”,

“30.53458595275879\n”,

“30.534303665161133\n”,

“30.53402328491211\n”,

“30.533740997314453\n”,

“30.533456802368164\n”,

“30.533178329467773\n”,

“30.532894134521484\n”,

“30.532608032226562\n”,

“30.532331466674805\n”,

“30.532045364379883\n”,

“30.531766891479492\n”,

“30.531482696533203\n”,

“30.53120231628418\n”,

“30.530920028686523\n”,

“30.530635833740234\n”,

“30.530357360839844\n”,

“30.530073165893555\n”,

“30.529794692993164\n”,

“30.529510498046875\n”,

“30.52922821044922\n”,

“30.528947830200195\n”,

“30.528661727905273\n”,

“30.528383255004883\n”,

“30.528099060058594\n”,

“30.527814865112305\n”,

“30.52753257751465\n”,

“30.527252197265625\n”,

“30.52696990966797\n”,

“30.526689529418945\n”,

“30.52640724182129\n”,

“30.526123046875\n”,

“30.525840759277344\n”,

“30.52556037902832\n”,

“30.525278091430664\n”,

“30.52499771118164\n”,

“30.524715423583984\n”,

“30.524431228637695\n”,

“30.52414894104004\n”,

“30.523868560791016\n”,

“30.523582458496094\n”,

“30.52330207824707\n”,

“30.523019790649414\n”,

“30.522743225097656\n”,

“30.522457122802734\n”,

“30.522172927856445\n”,

“30.521894454956055\n”,

“30.521610260009766\n”,

“30.52132797241211\n”,

“30.521047592163086\n”,

“30.52076530456543\n”,

“30.520484924316406\n”,

“30.52020263671875\n”,

“30.519922256469727\n”,

“30.519643783569336\n”,

“30.51936149597168\n”,

“30.519081115722656\n”,

“30.518798828125\n”,

“30.518518447875977\n”,

“30.518239974975586\n”,

“30.517959594726562\n”,

“30.517677307128906\n”,

“30.51739501953125\n”,

“30.517114639282227\n”,

“30.516836166381836\n”,

“30.516557693481445\n”,

“30.516277313232422\n”,

“30.51599884033203\n”,

“30.515718460083008\n”,

“30.515439987182617\n”,

“30.515161514282227\n”,

“30.514883041381836\n”,

“30.514606475830078\n”,

“30.514328002929688\n”,

“30.514049530029297\n”,

“30.513774871826172\n”,

“30.513500213623047\n”,

“30.513221740722656\n”,

“30.51294708251953\n”,

“30.512672424316406\n”,

“30.51239776611328\n”,

“30.512121200561523\n”,

“30.51184844970703\n”,

“30.511571884155273\n”,

“30.51129913330078\n”,

“30.511028289794922\n”,

“30.510757446289062\n”,

“30.510482788085938\n”,

“30.510215759277344\n”,

“30.50994300842285\n”,

“30.509675979614258\n”,

“30.509408950805664\n”,

“30.509140014648438\n”,

“30.508874893188477\n”,

“30.50861167907715\n”,

“30.508346557617188\n”,

“30.508085250854492\n”,

“30.507823944091797\n”,

“30.507566452026367\n”,

“30.50730323791504\n”,

“30.50704574584961\n”,

“30.506793975830078\n”,

“30.50653648376465\n”,

“30.506284713745117\n”,

“30.506031036376953\n”,

“30.505783081054688\n”,

“30.50553321838379\n”,

“30.50528907775879\n”,

“30.50504493713379\n”,

“30.504804611206055\n”,

“30.50457000732422\n”,

“30.50433349609375\n”,

“30.50410270690918\n”,

“30.50387191772461\n”,

“30.50364112854004\n”,

“30.50341796875\n”,

“30.503196716308594\n”,

“30.50297737121582\n”,

“30.50275993347168\n”,

“30.502546310424805\n”,

“30.50233268737793\n”,

“30.50212287902832\n”,

“30.501911163330078\n”,

“30.501708984375\n”,

“30.50150489807129\n”,

“30.501300811767578\n”,

“30.5011043548584\n”,

“30.50090789794922\n”,

“30.500715255737305\n”,

“30.50052261352539\n”,

“30.50033187866211\n”,

“30.500144958496094\n”,

“30.49995994567871\n”,

“30.49977684020996\n”,

“30.499595642089844\n”,

“30.49941635131836\n”,

“30.499237060546875\n”,

“30.499059677124023\n”,

“30.49888801574707\n”,

“30.49871826171875\n”,

“30.49854850769043\n”,

“30.49838638305664\n”,

“30.498226165771484\n”,

“30.498069763183594\n”,

“30.49791717529297\n”,

“30.49776840209961\n”,

“30.497623443603516\n”,

“30.49748420715332\n”,

“30.49734878540039\n”,

“30.49721336364746\n”,

“30.497087478637695\n”,

“30.49696159362793\n”,

“30.49684715270996\n”,

“30.496728897094727\n”,

“30.49661636352539\n”,

“30.496503829956055\n”,

“30.49639892578125\n”,

“30.49629783630371\n”,

“30.49619483947754\n”,

“30.49609375\n”,

“30.49599838256836\n”,

“30.495906829833984\n”,

“30.49581527709961\n”,

“30.4957275390625\n”,

“30.49563980102539\n”,

“30.49555206298828\n”,

“30.495466232299805\n”,

“30.49538230895996\n”,

“30.49530029296875\n”,

“30.495220184326172\n”,

“30.49513816833496\n”,

“30.49506378173828\n”,

“30.49498176574707\n”,

“30.49490737915039\n”,

“30.49482536315918\n”,

“30.4947509765625\n”,

“30.49467658996582\n”,

“30.494598388671875\n”,

“30.49452781677246\n”,

“30.49444580078125\n”,

“30.49437141418457\n”,

“30.49429702758789\n”,

“30.49422264099121\n”,

“30.49414825439453\n”,

“30.49407958984375\n”,

“30.49400520324707\n”,

“30.49393081665039\n”,

“30.493852615356445\n”,

“30.49378204345703\n”,

“30.49370765686035\n”,

“30.493633270263672\n”,

“30.493558883666992\n”,

“30.49348258972168\n”,

“30.493408203125\n”,

“30.49333381652832\n”,

“30.49325942993164\n”,

“30.49318504333496\n”,

“30.49311065673828\n”,

“30.493040084838867\n”,

“30.492963790893555\n”,

“30.49289321899414\n”,

“30.49281883239746\n”,

“30.49274444580078\n”,

“30.4926700592041\n”,

“30.492595672607422\n”,

“30.492521286010742\n”,

“30.492446899414062\n”,

“30.49237060546875\n”,

“30.49229621887207\n”,

“30.49222183227539\n”,

“30.49214744567871\n”,

“30.492076873779297\n”,

“30.49199867248535\n”,

“30.491928100585938\n”,

“30.49185562133789\n”,

“30.49178123474121\n”,

“30.49170684814453\n”,

“30.49163246154785\n”,

“30.491558074951172\n”,

“30.491483688354492\n”,

“30.491409301757812\n”,

“30.4913330078125\n”,

“30.49125862121582\n”,

“30.49118423461914\n”,

“30.49110984802246\n”,

“30.49103546142578\n”,

“30.490964889526367\n”,

“30.490890502929688\n”,

“30.490816116333008\n”,

“30.49074363708496\n”,

“30.49066925048828\n”,

“30.4905948638916\n”,

“30.490520477294922\n”,

“30.490446090698242\n”,

“30.490371704101562\n”,

“30.490297317504883\n”,

“30.49022102355957\n”,

“30.49014663696289\n”,

“30.49007225036621\n”,

“30.48999786376953\n”,

“30.489931106567383\n”,

“30.48985481262207\n”,

“30.48978042602539\n”,

“30.48970603942871\n”,

“30.48963165283203\n”,

“30.48955726623535\n”,

“30.489482879638672\n”,

“30.489408493041992\n”,

“30.489334106445312\n”,

“30.489259719848633\n”,

“30.489185333251953\n”,

“30.48910903930664\n”,

“30.489038467407227\n”,

“30.488967895507812\n”,

“30.488889694213867\n”,

“30.488819122314453\n”,

“30.48874282836914\n”,

“30.48866844177246\n”,

“30.48859405517578\n”,

“30.4885196685791\n”,

“30.488445281982422\n”,

“30.488370895385742\n”,

“30.488296508789062\n”,

“30.488222122192383\n”,

“30.488147735595703\n”,

“30.488079071044922\n”,

“30.488004684448242\n”,

“30.487930297851562\n”,

“30.487855911254883\n”,

“30.487781524658203\n”,

“30.48770523071289\n”,

“30.48763084411621\n”,

“30.48755645751953\n”,

“30.48748207092285\n”,

“30.487407684326172\n”,

“30.487333297729492\n”,

“30.487258911132812\n”,

“30.4871883392334\n”,

“30.487112045288086\n”,

“30.487037658691406\n”,

“30.486963272094727\n”,

“30.486888885498047\n”,

“30.486814498901367\n”,

“30.486740112304688\n”,

“30.486669540405273\n”,

“30.48659324645996\n”,

“30.48651885986328\n”,

“30.4864444732666\n”,

“30.486373901367188\n”,

“30.486299514770508\n”,

“30.486225128173828\n”,

“30.48615074157715\n”,

“30.48607635498047\n”,

“30.486000061035156\n”,

“30.485925674438477\n”,

“30.485851287841797\n”,

“30.485776901245117\n”,

“30.485702514648438\n”,

“30.485631942749023\n”,

“30.485557556152344\n”,

“30.48548126220703\n”,

“30.48540687561035\n”,

“30.485332489013672\n”,

“30.485261917114258\n”,

“30.485187530517578\n”,

“30.4851131439209\n”,

“30.48503875732422\n”,

“30.484962463378906\n”,

“30.484888076782227\n”,

“30.484813690185547\n”,

“30.484739303588867\n”,

“30.484664916992188\n”,

“30.484594345092773\n”,

“30.484519958496094\n”,

“30.484445571899414\n”,

“30.4843692779541\n”,

“30.484298706054688\n”,

“30.484224319458008\n”,

“30.484149932861328\n”,

“30.48407554626465\n”,

“30.48400115966797\n”,

“30.48392677307129\n”,

“30.483850479125977\n”,

“30.483776092529297\n”,

“30.483701705932617\n”,

“30.483631134033203\n”,

“30.483556747436523\n”,

“30.483482360839844\n”,

“30.483407974243164\n”,

“30.483335494995117\n”,

“30.483261108398438\n”,

“30.483186721801758\n”,

“30.483112335205078\n”,

“30.4830379486084\n”,

“30.48296356201172\n”,

“30.48288917541504\n”,

“30.48281478881836\n”,

“30.482738494873047\n”,

“30.482667922973633\n”,

“30.482593536376953\n”,

“30.482519149780273\n”,

“30.482444763183594\n”,

“30.482370376586914\n”,

“30.482297897338867\n”

]

}

],

“source”: [

“loss_per_epoch = []\n”,

“# each \”epoch\” runs through all training data\n”,

“for epoch in range(1000):\n”,

” pred = model(x)\n”,

” optimizer.zero_grad() # clear \”gradients\” calculated in prior epoch\n”,

” loss = criterion(pred, y)\n”,

” print(loss.item())\n”,

” loss_per_epoch.append(loss.item())\n”,

” loss.backward() # calculate gradients (errors) on model parameters\n”,

” optimizer.step() # adjust model parameters”

]

},

{

“cell_type”: “code”,

“execution_count”: 115,

“id”: “b680283b”,

“metadata”: {},

“outputs”: [

{

“data”: {

“text/plain”: [

“[]”

]

},

“execution_count”: 115,

“metadata”: {},

“output_type”: “execute_result”

},

{

“data”: {

“image/png”: “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\n”,

“text/plain”: [

]

},

“metadata”: {

“needs_background”: “light”

},

“output_type”: “display_data”

}

],

“source”: [

“plt.plot(range(len(loss_per_epoch)), loss_per_epoch)”

]

},

{

“cell_type”: “code”,

“execution_count”: 116,

“id”: “9b1dc4a9”,

“metadata”: {},

“outputs”: [

{

“data”: {

“text/plain”: [

“tensor([ 0.0031, 0.9712, -0.6827, -0.1672, -0.1542, -0.1272, -0.0824],\n”,

” device=’cuda:0′)”

]

},

“execution_count”: 116,

“metadata”: {},

“output_type”: “execute_result”

}

],

“source”: [

“# inference\n”,

“\n”,

“# ‘temp’, ‘holiday’, ‘workingday’, ‘season’, ‘hr’, ‘hum’, ‘windspeed’\n”,

“# look at weather forecast, etc.\n”,

“new_data = torch.tensor([0.5, 1, 0, 2, 8, 0.5, 0.12]).float().cuda()\n”,

“new_data = (new_data – xmean) / xrange\n”,

“new_data”

]

},

{

“cell_type”: “code”,

“execution_count”: 117,

“id”: “d456932b”,

“metadata”: {},

“outputs”: [

{

“data”: {

“text/plain”: [

“15.908626556396484”

]

},

“execution_count”: 117,

“metadata”: {},

“output_type”: “execute_result”

}

],

“source”: [

“model(new_data).item()”

]

}

],

“metadata”: {

“kernelspec”: {

“display_name”: “Python 3 (ipykernel)”,

“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.9.6”

}

},

“nbformat”: 4,

“nbformat_minor”: 5

}